728x90

시스템트레이딩 8

[업비트 시스템 트레이딩] 2024.06.23 / ATR(Average True Range)

0. Summary1. ATR(Average True Range): 가격변동폭을 의미함.2. 단순이동평균과 지수이동평균 중 어느걸 선택해야 될지 고민 1. ATR (Average True Range)● 간단히 말해서 가격변동폭이다.두 시점의 가격 차이(TR)를 계산하여 주가의 변동성을 알아보는 지표이다.  TR의 이동평균값을 구한 것이 ATR이라고 볼 수 있다. 이 값을 통해서 현재 코인의 가격이 안정적인지 아닌지를 판단할 수 있다. 이 값이 크다면 현재 장의 변동성이 크다는 의미이다. 하지만 이 값만으로는 판단의 기준을 삼기는 어려울 것 같고, 절대적으로 참고만 해야될 것으로 판단된다. ● 어느 시점이 원하는 포인트인지? 기준점은 총 3개이다.1. 전일 종가2. 현재 고가3. 현재 저가 그리고 이 값들..

[업비트 시스템 트레이딩] 2024.06.05 / 거래량으로 특징 포착

0. Summary1. 거래량으로 확인해보는 특징 코인2. 코드는 간단했지만 디버깅이 오래 걸림3. 결국은 예전과 비슷한 이슈였고, 계속 반복됨 1. 거래량으로 특징 포착● 거래량이 이전보다 높게 나오는 코인을 찾는다.거래량이 터지고 있는 코인을 찾는 간단한 알고리즘을 구현해보려고 한다. 아래 값 A를 변수로 넣고 확인하려고 한다."거래량이 A배 이상 급증하는 종목" 간단히 얘기해서 이전 거래량보다 특정 배수 이상으로 증가하게 되면 관심이 몰리는 종목이라고 볼 수 있다. 하지만 이건 대량 매도가 되는 것일 수도 있으니깐 다른 지표와 혼용해서 사용해야 될 것 같다. 2. 실제 코드 구현● get_ohlcv우선 ohlcv를 이용해서 voulme을 가져온다.예전 포스팅에서 처럼 open/high/low/clo..

[업비트 시스템 트레이딩] 2024.05.25 / 엔벨로프(envelope)

0. Summary1. envelope: 상단,하단을 나타내는 선2. 3. 장기로 볼지, 단기로 볼지는 고민중 1. envelope란?● envelope의 사전적 정의봉투라는 뜻이 제일 많이 나온다.그 외에는 경계선 등으로도 해석이 된다.● envelope의 주식시장에서의  의미추세 중심선을 기준으로 상단에 선이 하나 있고, 하단에도 선이 하나 있다. 이걸 토대로 주가가 상승하는지 하락하는지 추세전환을 확률적으로 확인할 수 있다. ● 그대로 믿어도 되는지?모든 보조지표는 어디까지나 참고용이다. 절대로 맹신해서는 안된다.  2. envelope를 어떻게 구할 것인가?● 계산의 기본 개념일반적으로 20일 단순이동균선을 중심으로 놓고 계산을 시작한다.상단은 중심선 x (1+상단폭), 하단은 중심선 x (1-하..

[업비트 시스템 트레이딩] 2024.05.20 / RSI

0. Summary1. RSI: Relative Strength Index2. 유용한 투자지표 중의 하나이며 알고리즘에 추가 예정3. 장기로 볼지, 단기로 볼지는 고민중 1. RSI 란?● RSI: Relative Strength IndexRSI란 주가의 상승방향이 더 강한지, 하락경향이 더 강한지를 나타내주는 지표이다.직역하면 상대강도지수라고 불린다.● 어떻게 사용하는 것인가?0~100의 값으로 확인이 되고, 그 절반인 50을 기준으로 50이상이면 매수 우세, 50이하이면 매도 우세로 판단하는 경우가 많다. 그리고 70 이상이면 과매수, 30 이하면 과매도라고 판단을 하는 것 같다. 그리고 얘도 MACD와 비슷하게 signal 선이 존재하고, 이 값과 RSI선을 같이 확인하면서 추세를 판단하기도 한다...

[업비트 시스템 트레이딩] 2024.05.19 / 업비트 데이터 가져오기

0. Summary1. 업비트에서 한번에 가져오는 데이터 양은 한정2. MACD crossing 되는 부분 확인 1. 업비트 데이터 가져오는 한계● 한번에 여러가지 데이터를 가져오기는 힘들다.코드를 작성하다 보면 중간에 에러가 나는 경우가 있는데, 그 중에 하나는 동일시간에 많은 데이터를 가져오려고 시도하는 케이스이다. 이렇게 가져오려다 보면 중간에 데이터를 제대로 읽을 수 없고, vscode상에서 파이썬 모듈을 재시작해야될 확률이 높아진다.● 반복문에는 sleep 함수를 추천이럴때는 sleep 함수를 이용하면 좋다.time.sleep(0.1) 이런식으로 설정하면 0.1초 동안 waiting을 한 후에 다음 코드를 수행하기 때문에, 한번에 많은 데이터를 가져올때 에러가 나는 것을 방지할 수 있다. 물론 ..

[업비트 시스템 트레이딩] 2024.05.13 / MACD

0. Summary1. 보조지표를 구현하여 매매 시점 포착2. 그 중에 첫 걸음으로 MACD에 대해서 공부3. 실제 코딩해서 결과 확인해보기 1. 보조지표를 이용한 시점 포착● 여러가지 지표를 활용하여 매매 시점을 포착하려고 한다.기본적으로는 거래량, 추가적으로는 MACD, RSI, MFI 등의 다양한 지표를 활용하여 시스템트레이딩에 녹여냄으로써 매매시점을 포착할 수 있도록 알고리즘을 구성해보려고 한다.일반적으로 하나의 보조지표로만 판단하기에는 매매의 신뢰도를 높이기가 쉽지 않다. 그러므로 여러 지표들을 혼합하고 weighted 한 값을 줌으로써 개인적인 알고리즘 전략을 구축하려고 하고 있다.● 개인적인 선호도: MACD그 중에서 가장 개인적으로 보기 쉬운 MACD를 우선 구현해보고, 이것으로 시스템트레..

[업비트 시스템 트레이딩] 2024.05.11 / pyupbit

0. Summary1. pyupbit를 잘 사용해보자.2. 업비트 개발자센터도 알고 있자.3. 기본적인 주식공부도 하자 1. pyupbit● 업비트 개발자센터업비트 개발자센터를 통해서 이것저것 테스트를 해보면서 검색을 해보고 있었는데 pyupbit라는게 있는걸 알게 되었다. 해당 라이브러리를 이용하면 상당히 편하고 깔끔하게 코드를 구성할 수 있는 것 같아서 몇가지 테스트를 해보았다. 2. 기존 코드를 pyupbit로 porting● 기존 코드기존 코드는 아래와 같다.업비트 개발자 센터의 API reference를 이용해서 만든 코드이며, 간단히 봐도 상당히 길다. 넣어줘야 되는건 어떤 코인을 매수할 것인지, 시장가, 지정가 등을 선택하고, 가격을 넣는 것 까지이다. 해당 코드의 상당 부분은  매크로처럼 ..

업비트 시스템 트레이딩 시작

0. Summary1. 업비트 시스템트레이딩 첫 시도2. 디버깅이 무척 힘들었음. 특히 jwt...3. 업비트 예제 참고사이트로 우선 테스트 완료 1. 업비트 Open API 신청● 업비트 Open API 신청업비트를 가입한 후에 사이트에 들어가서 key값을 생성하여 프로그램에 넣어줘야 한다.https://www.upbit.com/service_center/open_api_guide Open API 안내 | 업비트(UPbit)업비트에서는 개발자와 사용자를 위해 Open API를 제공하고 있습니다. 업비트 API를 통해 마켓정보, 잔고 조회, 주문, 출금 등 다양한 기능을 활용해보세요.upbit.com "Open API 사용하기"를 클릭해서 key값을 생성하면 된다. 이때 주의할 점은 IP주소를 요구하는데..

728x90