본문 바로가기
나의 투자 포트폴리오/코인 자동매매(python)

파이썬 자동매매 결산 및 설명(9월)

by AutoTrader 2022. 9. 22.
반응형

이번 포스팅에서는 파이썬으로 하는 자동 매매에 대해서 간단히 설명하고 수익률을 공개하도록 하겠다.

코인 거래소는 upbit이고 API 사용을 좀 더 간편하게 해주는 pyupbit 라이브러리 사용하였다. 개인 PC에서 돌리다가 얼마 전에 아마존 서버가 처음 사용 시 1년 무료라는 것을 알게 되어 갈아타게 되었다.

아직 롱숏 전략에 대해 이해가 깊지 않아 개발은 못 했지만 정확한 요건으로 백 테스트 된 레시피만 찾으면 바이낸스 또는 바이비트에서 롱숏자동매매봇 개발 예정이다.

전략은 얼마 전 작성한 가상화폐 돌파 전략을 로직으로 구현하여 1분마다 체크하도록 설정하였으며, 24시에는 매수한 코인 모두 팔고 거래량 week TOP10을 다시 추출하여 10종을 1분마다 돌파되는지 체크하도록 하였다.

투자 전략 10. 5 이동평균 & 5 거래량 상승장 + 변동성 돌파 + 변동성 조절
투자 대상 한주동안 거래량 top10 종목 24:00시에 추출
거래 비용 0.2% 적용
투자 전략 · 화폐의 레인지 계산(전일 고가-저가)
·
요건1) 화폐의 가격이 5 가격 이동평균보다 높은지 여부 파악
·
요건2) 화폐의 전일 거래량이 5 거래량 이동평균보다 높은지 여부 파악
·
요건3) 매수: 실시간 가격 > 당일 시가+(레인지×k) - 필자들은 k=0.7 추천
-
요건1~3) 충족시 매수 아니면 제외 3)번요건은 1분마다 체크
·
자금 관리: 가상화폐별 투입 금액은 (타깃 변동성/전일 변동성)/투자 대상 가상화폐
·
매도: 다음 시가
설명 전략 8보다 수익을 제외한 모든 지표가 엄청나게 개선되었다.
MDD
1%대로 떨어졌고, 승률은 65% 급증했으며, 손익비는 3 넘어섰다!
전일 변동성(전일고점 - 전일저점/현재가격) - 전일 레인지와 같은 개념

 

 

 

가상화폐 돌파 매매 전략(feat. 가상화폐 투자 마법 공식)

가상화폐에 대해서 잘 알고 투자하는 거냐고 물어본다면 잘 모른다고 답한다. 정말 아는 게 아무것도 없다. 앞으로도 딱히 공부할 생각도 없다. 다만 앞서 쓴 글(거시적 국면

sys-stock.tistory.com

 

아래의 코드블럭은 위 전략을 파이썬으로 구현한 구조에 대한 설명이다. 자동매매봇이라는게 별것이 없으니 시중에 떠도는 자동매매봇을 구입하거나 가입해서 수수료를 내는 것은 절대 하지 마시라고 설명해 드리는 것이다. 상승 국면에서는 심플하고 쉬운 전략으로도 돈을 버는 것이고 하락 국면에서는 코딩 천재가 만들어도 손실이 난다.

 

1. 매도전략 및 투자대상 / sell_oder.py / 24:00시에 한번 실행

#한주동안 거래량 top10 종목 24:00시에 추출하여 Json파일로 저장

#매수한 종목 일괄 매도
for value in 가지고 있는 종목:
	upbit.sell_market_order("가지고 있는 종목")

 

2. 투자 전략 / buy_oder.py / 1분마다 실행

for tiker in 거래량 top10 종목:
	###############################################################
	if 가지고 있는 코인 체크 == True:
		revenue_rate = 매수한 종목 수익 체크

		# 수익률이 이전 수익률보다 높다면 갱신
		if revenue_rate > 이전에 저장된 수익률

			# 딕셔너리 갱신된 수익률 저장
			수익률딕셔너리[tiker] = revenue_rate

			# 파일에 딕셔너리를 저장합니다

		else #아니라면
			# 갱신된 고점 수익률 대비 1% 떨어지면 판다. or 매수가격 대비 1% 떨어지면 판다.
	###############################################################
      
	# 각 화폐의 레인지 계산(전일 고가-저가)
	yesterdayRange = 전일 고가 - 전일 저가
	   
	요건충족count = 0
		
	# 요건1) 각 화폐의 가격이 5일 가격 이동평균보다 높은지 여부 파악
	if 현재가격 > 5일 가격 이동평균:
	요건충족count += 1
      
	# 요건2) 각 화폐의 전일 거래량이 5일 거래량 이동평균보다 높은지 여부 파악
	if 전일거래대금 > 5일 거래대금 평균값
		요건충족count += 1
      
	# 요건3) 매수: 실시간 가격 > 당일 시가+(레인지×k) - 필자들은 k=0.7 추천
	if 실시간 가격 > 당일 시가+(레인지×k)
		요건충족count += 1
     
	# 3가지 요건이 충족 되었얼 경우 그리고 오늘 한번도 돌파된적 없는 종목 
	타깃 변동성 = 0.2 
	전일 변동성 = (전일고점 - 전일저점)/현재가격
	if 요건충족count == 3 and 매수된 코인 == False:
		# 자금 관리: 
 		#가상화폐별 투입 금액 = (타깃 변동성/전일 변동성)/투자 대상 가상화폐 수(거래량 top10)
		# 매수!!!!
		upbit.buy_market_order(ticker, 가상화폐별 투입 금액)
		# 매수 되면 "매수된 코인" 리스트에 저장 요건충족count가 3이더라도 
		#매수된 코인이 False여야 사짐.

 

2022년 8월 초 정도부터 시작하였고 현재 15500원 정도 손실 보고 있다. 타깃 변동성 을 2%에서 현재 1%로 줄여 놨다. 9월 결산은 아래와 같다. 요즘은 거래되는 코인들을 보면 돌파에 힘이 없다.

9월 결산 코인 자동매매

 

 

아래 거래내역에서 각 가상화폐 별 거래금액은 총금액 2백만원을 "가상화폐별 투입 금액%= (타깃 변동성/전일 변동성)/투자 대상 가상화폐 수(거래량 top10)"으로 계산한 금액이다. 타깃 변동성 1~2%로 설정하였기 때문에 투자금액은 조금씩 투입하게 된다. 상승장 국면으로 판단될 때 높일 예정이다.

거래내역 9월

 

매수되거나 돌파될 때 메시지가 오도록 설정하였다. 뭐가 많이 온 것처럼 보이지만 1분마다 체크하고 수익이 갱신되거나 매수 매도 시 오는 문자들이다. 잘때는 무음으로 설정하고 잔다.

매매 문자 이미지

 

승률에 관한 로직은 아직 구현하지 않았다. 다음 결산에서는 추가하여 하락 국면일 때 몇퍼센트인지 확인해봐야겠다. 참고로 강환국 작가의 돌파 매매 10번 전략의 승률은 60% 정도 였다. 이보다는 느낌상 덜 나오는 것 같다. 돌파 매매 10번 전략과 맞는 국면은 상승 국면이다. 지금은 기다린다 국면이니 투자 비중을 낮추고 보수적으로 투자해야 한다.

 

(1단계) 거시적인 국면 판단하여 투자 비중 조절

이번 포스팅에서는 모든 투자에서의 "1단계" 현재 국면을 판단할 수 있는 코스톨라니의 달걀 모형을 소개하도록 하겠다. 이러한 이론을 알기까지 아래와 같이 시행착오와 많은 시간이 걸렸고 이

sys-stock.tistory.com

 

반응형

댓글