일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 모멘텀지표
- 비트코인
- 호가창
- 롱숏비율
- 코인
- kline
- 변동성돌파
- 바이비트
- 파아썬
- 자동매매
- 머신러닝
- place_active_order
- myposition
- Python
- open_interest
- Machine Learning
- API
- Public_Trading_Records
- 파이썬
- 프리미엄지수
- Query_Index_Price_Kline
- 데이터불러오기
- bitcoin
- Query_Premium_Index_Kline
- Query_Kline
- orderbook
- xgboost
- latest_big_deal
- 백테스팅
- Bybit
- Today
- Total
목록전체 글 (33)
돈벌고싶다
서론 내가 쓰고 있는 다양한 보조 시스템을 공유하고자 한다. 이번 글에서 공유할 보조 시스템은 머신러닝을 통한 매수/매도 알림 시스템이다. 성능이 좋아 공유 여부를 많이 고민하다가, 어차피 해당 코드를 진짜로 활용하여 매매에 활용하는 사람은 적을 것이라 판단하여, 데이터 및 모델을 너프하여 공유하도록 결정했다. 이것만 보고 매수 매도를 하는 것이 아니기 때문에, 해당 코드를 통해 자동매매시스템을 구현해서는 안된다. 필자의 경우 보조지표가 생겨날수록 포지션 진입에 대한 근거가 강하게 생기고, 그럴수록 과감한 행동을 통해 적절한 순간에 매수 매도를 할 수 있었다. 독자 분들도 본인의 매매 기법이 아직 완벽하다고 생각들지 않는다면 추가하여 활용해보는 것도 좋아 보인다. 프로세스(전략) 설명 일단 모델은 다음과..
차트를 매일같이 보고 경험했다. 또한 다른 고수들은 어떠한 방법을 사용하는가 많이 찾아봤다. 헛소리를 하는 사람도, 정말 자신만의 철학을 가지고 있는 사람도 있었다. 물론 자신만의 철학을 가지고 있다 해서 수학적 증명을 통해 얻은 것은 아니며, 경험을 통해 얻은 규칙들이 대부분이긴 했다. 하지만 모든 사람들에게서 배울 점이 존재했고, 이는 데이터 분석가에서의 좁은 관점을 벗어나 트레이딩에 대해 더 깊게 이해할 수 있는 등대 역할을 해주었다. 퀀트 투자법에 대해 회의적인 때가 있었다. 비관적으로 보자면, 효율적시장가설이나 마팅게일(Martingale)의 확률적 시각에 따라 우리가 우연히 50년 전통의 트레이딩 전략 비법 소스를 얻어 엄청난 수익을 올릴 수 있다는 것은 통계학적으로 옳지 않다. 또한 경험적으..
설명 저번 글에서 우리는 비트코인과 유사한 종목, 비트코인과 유사하지 않은 종목에 대해 상관관계 계산을 통해 리스트를 생성하였습니다. 해당 내용을 이어서 비트코인과 유사하지 않은 종목들, 즉 안티 비트코인 테마주에 대해 양적 분석을 할 수 있는 데이터를 생성해보겠습니다. 코드 1. 라이브러리 import yfinance as yf import pandas as pd import numpy as np import datetime import time import ccxt from sklearn.preprocessing import StandardScaler 2. 이전 포스팅 내용 진행 data_path = './data/' binance = ccxt.binance() bitcoin = get_binance..
설명 저번 글에 이어, 시세 데이터를 활용하여 비트코인과 코스피, 비트코인과 나스닥 상관관계를 분석하겠습니다. 코드 1. 라이브러리 호출 import yfinance as yf import pandas as pd import numpy as np import datetime import time import ccxt from sklearn.preprocessing import StandardScaler 2. 함수 정의 def get_binance_data(symbol, interval, end_date): btc_ohlcv = binance.fetch_ohlcv(symbol, interval, limit=1000, params={'endTime':end_date}) df = pd.DataFrame(btc..
시작 해당 글은 다음 사람들에게 유용합니다. 코인 종목에 대해 기술적 분석을 하는 투자자 나만의 주식 포트폴리오 생성을 원하는 투자자 1번, 저는 비트코인에 대해 기술적 분석을 통해 알고리즘을 짜고 있습니다. 따라서 주식 포트폴리오를 생성한다면, 코인과는 시세 흐름이 상이한 종목을 찾는 것이 안정성 측면에서 뛰어납니다. 2번, 구글링을 하면 종목 선정은 예시로 해버리고 백테스팅을 통한 안정성 및 수익성에 대한 분석만을 진행하더군요. 저는 데이터를 통한 근거 있는 종목 선정을 하고 싶었습니다. 개인 취향에 따라 코드를 변경해가며 나만의 주식 포트폴리오를 생성하는 것에 도움이 될 듯 합니다. 저는 슬슬 포트폴리오를 구성할 단계가 오고 있습니다. 시스템 트레이딩을 하기 위한 알고리즘은 안정화되었으나, 코인 시..
결론 결론부터 말하자면, 난 해당 코드를 이용한 전략을 사용하고 있지 않다. 하지만 코인들간의 상관관계를 분석하고 싶은 사람이 있다면, 코드를 유용하게 사용할 수 있을 듯 하여 정리한 부분을 공유한다. 해당 전략을 사용하지 않는 이유는 다음과 같다. pair trading을 진행할 두 종목에 대해 공적분 계수를 구할 경우 항상 오차율이 존재할 수 밖에 없으며, 이로 인한 슬리피지가 생각보다 크다. 따라서 long / short 각각에 대해 동일한 자산 분배가 쉽지 않다. bybit 에서 거래되는 각 코인들은 거래 수량(qty) 단위가 모두 다르다. 비트코인의 경우 소수점 3자리 까지만을 허용하나, 특정 알트코인은 소수점을 허용하지 않는 등 코인마다 다르다. 문제는 허용되는 소수점 자리수 이상을 거래하려 ..
레버리지와 관련하여 아주 큰 오류를 하나 범하고 있었다. 바이비트에서 레버리지를 줄 경우, 진입 수량인 qty 역시 레버리지 만큼 곱해야 한다. 이유는 바이비트에서 진입 수량은 레버리지에 영향을 받기 때문이다. 매수 주문을 하는 API인 place active order을 이용하여 "0.1 비트코인으로 레버리지 3배 long에 걸어줘~"라는 명령을 하면 0.1 비트코인을 long에 3배 레버리지로 배팅하는 것이 아니라, 0.1 비트코인이 이미 레버리지 3배가 적용된 수량으로 인지하고 0.033 비트코인에 대해 롱 배팅을 해버린다. 즉, 0.1 비트코인만큼 3배 레버리지로 롱 포지션을 잡고, 내 계좌에 1 비트코인이 있었다면 0.9가 아닌 0.967만큼의 잔액이 남은 것이다. 기존에 블로그에 올린 코드들 ..
설명 여기서 투자 금액 자동화란 연산을 통해 포트폴리오를 생성하여 최적의 투자 금액을 찾아가는 것이 아닌, 바이비트 api에서 내가 포지션을 잡을 수 있는 코인 수량 크기를 계산하고 진입에 적용하는 것을 뜻한다. 코드 1. 라이브러리 호출 import pandas as pd import numpy as np import datetime import calendar import schedule import math import time import math from pybit import usdt_perpetual 2. 필요 함수 호출 def get_session(net='test'): if net == 'test': session = usdt_perpetual.HTTP( endpoint="https://..