Top 37 변동성 돌파 전략 끝판 왕 25121 Votes This Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 변동성 돌파 전략 끝판 왕 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Chewathai27.com/to team, along with other related topics such as: 변동성 돌파 전략 끝판 왕 변동성 돌파 전략 후기, 변동성 돌파 전략 단점, 변동성 돌파 전략 하락장, 변동성 돌파 전략 수익률, 변동성 돌파 전략 종목, 변동성 돌파 전략 코드, 변동성 돌파 전략 영어, 파이썬 변동성 계산


53. 역대 최강의 트레이더의 가장 위대한 전략 – 변동성 돌파전략
53. 역대 최강의 트레이더의 가장 위대한 전략 – 변동성 돌파전략


변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! – 비트코인 자동매매 프로그램 봇 사용법 및 후기 – 코인픽

  • Article author: coinpick.com
  • Reviews from users: 14461 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! – 비트코인 자동매매 프로그램 봇 사용법 및 후기 – 코인픽 약 1년전 부터 퀀트픽은 래리 월리엄스의 변동성 돌파 전략을 활용하여 암호화폐 시장에서 프로그램 자동매매를 하여 꾸준한 수익을 벌 수 있었습니다 … …
  • Most searched keywords: Whether you are looking for 변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! – 비트코인 자동매매 프로그램 봇 사용법 및 후기 – 코인픽 약 1년전 부터 퀀트픽은 래리 월리엄스의 변동성 돌파 전략을 활용하여 암호화폐 시장에서 프로그램 자동매매를 하여 꾸준한 수익을 벌 수 있었습니다 … 바이비트,비트겟,바이낸스,비트코인선물거래소,비트코인마진거래소,선물거래변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 전략 대공개! 안녕하세요 퀀트픽입니다! 약 1년전 부터 퀀트픽은 래리 월리엄스의 변동성 돌파 전략을 활용하여 암호화폐 시장에서 프로그램 자동매매를 하여 꾸준한 수익을 벌 수 있었습니다. 비록 시장 대비 한참 못 벌었지만 월단위로 -0.5% 이하의 손실을 본적이 없으며 2021년 5월 기준으로 약 120%의 누적 수익률을 달성하였습니다. &…가상화폐 투자정보 사이트,암호화폐 차트분석,매매법 소개 및 해외 비트코인 마진,선물거래소 가이드(바이낸스,바이비트,FTX)
  • Table of Contents:

로그인

댓글 0

변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! - 비트코인 자동매매 프로그램 봇 사용법 및 후기 - 코인픽
변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개! – 비트코인 자동매매 프로그램 봇 사용법 및 후기 – 코인픽

Read More

06-2 변동성 돌파 전략 구현 – 파이썬을 이용한 비트코인 자동매매 (개정판)

  • Article author: wikidocs.net
  • Reviews from users: 15960 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 06-2 변동성 돌파 전략 구현 – 파이썬을 이용한 비트코인 자동매매 (개정판) 래리 윌리엄스(Larry Williams)가 Long-Term Secrets to Short-Term Trading에서 소개한 변동성 돌파 전략은 최근 ‘가즈아! 가상화폐 투자 마법공식 (강환국 저)’ … …
  • Most searched keywords: Whether you are looking for 06-2 변동성 돌파 전략 구현 – 파이썬을 이용한 비트코인 자동매매 (개정판) 래리 윌리엄스(Larry Williams)가 Long-Term Secrets to Short-Term Trading에서 소개한 변동성 돌파 전략은 최근 ‘가즈아! 가상화폐 투자 마법공식 (강환국 저)’ … 온라인 책을 제작 공유하는 플랫폼 서비스
  • Table of Contents:

변동성 돌파 전략

단계-1 주기적으로 현재가 얻어오기

단계-2 목표가 계산하기

단계-3 자정에 목표가 갱신하기

단계-4 매수 시도

단계-5 매도 시도

단계-6 보안 및 예외처리

06-2 변동성 돌파 전략 구현 - 파이썬을 이용한 비트코인 자동매매 (개정판)
06-2 변동성 돌파 전략 구현 – 파이썬을 이용한 비트코인 자동매매 (개정판)

Read More

단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전)

  • Article author: ldgeao99.tistory.com
  • Reviews from users: 39951 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전) 세부전략 · 1. 종목선정 · 2. 돌파신호 정의 · 3. 다섯 개의 종목 중 돌파신호를 보이는 코인을 선택하여 배팅 비율 만큼 매수함 · 4. 종가에 익절이든 손절 … …
  • Most searched keywords: Whether you are looking for 단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전) 세부전략 · 1. 종목선정 · 2. 돌파신호 정의 · 3. 다섯 개의 종목 중 돌파신호를 보이는 코인을 선택하여 배팅 비율 만큼 매수함 · 4. 종가에 익절이든 손절 … 헤이비트의 advance 1.0 전략은 이전의 Basic 버전과 비교하여 MDD와 수익률 면에서 크게 개선된 버전이다. 전략개요 후보 암호화폐 : 5종 K값 : 최근 20일 간의 노이즈 비율의 평균 값 배팅비율 : (이동평균선..
  • Table of Contents:

LAB OF DAEGON

단기 변동성 돌파 전략(헤이비트 Advanced 10 버전) 본문

전략개요

세부전략

시장과 종목의 추세 수준에 따른 파라미터 값 선정

백테스트 결과

결론

티스토리툴바

단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전)
단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전)

Read More

변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실 :: 퀀트라이브

  • Article author: quantlive.tistory.com
  • Reviews from users: 14979 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실 :: 퀀트라이브 몇주전에 변동성 돌파전략을 시뮬레이션 하면서 수익률이 너무 잘나와서 … 비트코인이나 코스닥지수처럼 변동성이 큰 종목들은 이 전략이 잘 맞는 … …
  • Most searched keywords: Whether you are looking for 변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실 :: 퀀트라이브 몇주전에 변동성 돌파전략을 시뮬레이션 하면서 수익률이 너무 잘나와서 … 비트코인이나 코스닥지수처럼 변동성이 큰 종목들은 이 전략이 잘 맞는 … 몇주전에 변동성 돌파전략을 시뮬레이션 하면서 수익률이 너무 잘나와서 다른 사람들이 테스트한 결과를 많이 찾아봤다. 여전히 수익률이 좋았다고 말하고 있었다. 비트코인이나 코스닥지수처럼 변동성이 큰 종목..퀀트투자를 통한 마음편한 투자
  • Table of Contents:

변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실

티스토리툴바

변동성돌파 전략 정밀 테스트 - 아! 슬리피지 손실 :: 퀀트라이브
변동성돌파 전략 정밀 테스트 – 아! 슬리피지 손실 :: 퀀트라이브

Read More

가상화폐 투자 마법 공식 – Kangcfa – Google Sách

  • Article author: books.google.com.vn
  • Reviews from users: 41199 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 가상화폐 투자 마법 공식 – Kangcfa – Google Sách Updating …
  • Most searched keywords: Whether you are looking for 가상화폐 투자 마법 공식 – Kangcfa – Google Sách Updating 가상화폐, ‘존버’하지 말고 ‘투자’하라 하락장에서도 수익 내는 ‘단타 기법’ 공개 최악의 폭락장에서도 손실을 자산 대비 10% 이내로 줄이면서 안정적으로 높은 수익을 낼 수 있는, 쉽고 안전한 가상화폐 투자 기법을 소개하는 책. ‘살인적인 변동성’으로 혼란에 빠지거나 막연한 상승 기대감만으로 장기 보유하다가 낭패를 보는 가상화폐 투자자들에게 무엇을 언제 얼마나 사고, 언제 팔았다가 어떤 조건에서 다시 사는지 등 구체적이고 실질적인 매매 기법을 알려준다. 두 저자는 주식 투자 분야에서 이미 명성이 높은 인물. 그들은 퀀트 투자와 시스템 트레이딩에 기반을 둔 투자 전략, 철저한 리스크 관리와 분산 투자 기법 등이 가상화폐 시장에서 더 잘 통한다는 사실을 확인하고 이 책을 펴냈다. 초보 투자자도 실전에서 써먹을 수 있도록 쉽게 풀어 설명하면서도 마켓 타이밍, 자금 관리, 신호 필터링, 타임 프레임 분산, 단기 추세 추종 등 고급 기법을 적용했다. 책은 전일 오후 수익률 상승 시 오전 0시에 매수했다가 정오에 매도하는 초간단 매매로 고수익을 올리는 ‘오전 천국, 오후 지옥 전략’부터 상승장에서는 수익을 극대화하고 하락장에서도 수익을 낼 수 있는 ‘변동성 돌파 전략’까지 저자들이 직접 검증한 13가지 매매 규칙을 공개한다. 블록체인이나 가상화폐의 개념과 관련 논쟁은 아예 배제하고 오로지 가상화폐 투자로 ‘돈 버는 법’에 집중했다고 저자들은 강조했다 ※ 도서 내용이 일부 수정되었습니다. 기존에 다운로드 받으신 고객님들께서는 재 다운로드하시길 권장합니다.
  • Table of Contents:
가상화폐 투자 마법 공식 - Kangcfa - Google Sách
가상화폐 투자 마법 공식 – Kangcfa – Google Sách

Read More

변동성 돌파 전략을 테스트 해보자. — Steemit

  • Article author: steemit.com
  • Reviews from users: 43442 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 변동성 돌파 전략을 테스트 해보자. — Steemit illustration by @carrotcake ​ 가상화폐 투자 마법 공식 이런 책이 있다. SNEK에 칼럼을 연재하기도 하는 Kangcfa와 @systrader79 님이… by yoon. …
  • Most searched keywords: Whether you are looking for 변동성 돌파 전략을 테스트 해보자. — Steemit illustration by @carrotcake ​ 가상화폐 투자 마법 공식 이런 책이 있다. SNEK에 칼럼을 연재하기도 하는 Kangcfa와 @systrader79 님이… by yoon. ​ illustration by @carrotcake ​ 가상화폐 투자 마법 공식 이런 책이 있다. SNEK에 칼럼을 연재하기도 하는 Kangcfa와 @systrader79 님이… by yoon
  • Table of Contents:
변동성 돌파 전략을 테스트 해보자. — Steemit
변동성 돌파 전략을 테스트 해보자. — Steemit

Read More

실전 투자 전략 (56) – 평균 노이즈 비율과 마켓 타이밍을 결합한 변동성 돌파 전략

  • Article author: stock79.tistory.com
  • Reviews from users: 11389 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 실전 투자 전략 (56) – 평균 노이즈 비율과 마켓 타이밍을 결합한 변동성 돌파 전략 변동성 돌파 전략은 가격의 단기적인 방향성(추세)가 형성되면 방향이 반전 … 배웠던 모든 전략을 통합해서 궁극의 끝판왕 전략을 테스트해봅시다. …
  • Most searched keywords: Whether you are looking for 실전 투자 전략 (56) – 평균 노이즈 비율과 마켓 타이밍을 결합한 변동성 돌파 전략 변동성 돌파 전략은 가격의 단기적인 방향성(추세)가 형성되면 방향이 반전 … 배웠던 모든 전략을 통합해서 궁극의 끝판왕 전략을 테스트해봅시다.  우리는 앞서 노이즈 비율을 이용한 듀얼 노이즈 전략을 살펴본 바 있습니다. 다시 한 번 간단히 정리하고 넘어가볼까요?  변동성 돌파 전략은 가격의 단기적인 방향성(추세)가 형성되면 방향이 반전되지 않고..
  • Table of Contents:

관련글

댓글0

최근글

인기글

최근댓글

태그

전체 방문자

티스토리툴바

실전 투자 전략 (56) - 평균 노이즈 비율과 마켓 타이밍을 결합한 변동성 돌파 전략
실전 투자 전략 (56) – 평균 노이즈 비율과 마켓 타이밍을 결합한 변동성 돌파 전략

Read More

Python으로 Larry Williams의 변동성 돌파 전략 백테스팅 – 1 / 비트코인 / 가상화폐 자동매매

  • Article author: jsp-dev.tistory.com
  • Reviews from users: 26589 ⭐ Ratings
  • Top rated: 4.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Python으로 Larry Williams의 변동성 돌파 전략 백테스팅 – 1 / 비트코인 / 가상화폐 자동매매 전략을 사용할 마켓은 가상화폐(비트코인)입니다. 먼저 변동성 돌파 전략에 대해 알아보겠습니다. 강환국님 유튜브 – 53. 역대 최강의 트레이더의 … …
  • Most searched keywords: Whether you are looking for Python으로 Larry Williams의 변동성 돌파 전략 백테스팅 – 1 / 비트코인 / 가상화폐 자동매매 전략을 사용할 마켓은 가상화폐(비트코인)입니다. 먼저 변동성 돌파 전략에 대해 알아보겠습니다. 강환국님 유튜브 – 53. 역대 최강의 트레이더의 … 이번 포스팅은 래리 윌리엄스(Larry Williams)의 변동성 돌파 전략을 백테스팅 하는 과정을 담아보겠습니다. 전략을 사용할 마켓은 가상화폐(비트코인)입니다. 먼저 변동성 돌파 전략에 대해 알아보겠습니다. 이..
  • Table of Contents:

1준비

태그

관련글

댓글0

공지사항

최근글

인기글

태그

전체 방문자

티스토리툴바

Python으로 Larry Williams의 변동성 돌파 전략 백테스팅 - 1 / 비트코인 / 가상화폐 자동매매
Python으로 Larry Williams의 변동성 돌파 전략 백테스팅 – 1 / 비트코인 / 가상화폐 자동매매

Read More

【트레이딩 챔피언십 1위】 래리 윌리엄스의 변동성 돌파전략! | 래리 윌리엄스 변동성 돌파 전략 새로운 업데이트

  • Article author: ko.maxfit.vn
  • Reviews from users: 8079 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 【트레이딩 챔피언십 1위】 래리 윌리엄스의 변동성 돌파전략! | 래리 윌리엄스 변동성 돌파 전략 새로운 업데이트 주제를 살펴보자 “래리 윌리엄스 변동성 돌파 전략 – 【트레이딩 챔피언십 … 변동성 돌파 전략; 변동성 돌파 전략 끝판왕; 변동성 돌파 전략 조건식. …
  • Most searched keywords: Whether you are looking for 【트레이딩 챔피언십 1위】 래리 윌리엄스의 변동성 돌파전략! | 래리 윌리엄스 변동성 돌파 전략 새로운 업데이트 주제를 살펴보자 “래리 윌리엄스 변동성 돌파 전략 – 【트레이딩 챔피언십 … 변동성 돌파 전략; 변동성 돌파 전략 끝판왕; 변동성 돌파 전략 조건식.
  • Table of Contents:

주제에 대한 비디오 보기 래리 윌리엄스 변동성 돌파 전략

【트레이딩 챔피언십 1위】 래리 윌리엄스의 변동성 돌파전략! – 래리 윌리엄스 변동성 돌파 전략 및 이 주제에 대한 세부정보

키워드 정보 래리 윌리엄스 변동성 돌파 전략

콘텐츠에 대한 이미지 래리 윌리엄스 변동성 돌파 전략

주제에 대한 기사 평가 래리 윌리엄스 변동성 돌파 전략

기사의 키워드 【트레이딩 챔피언십 1위】 래리 윌리엄스의 변동성 돌파전략!

Recent Posts

Recent Comments

【트레이딩 챔피언십 1위】 래리 윌리엄스의 변동성 돌파전략! | 래리 윌리엄스 변동성 돌파 전략 새로운 업데이트
【트레이딩 챔피언십 1위】 래리 윌리엄스의 변동성 돌파전략! | 래리 윌리엄스 변동성 돌파 전략 새로운 업데이트

Read More


See more articles in the same category here: Top 425 tips update new.

변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 대공개!

변동성 돌파 전략 UPGRADE 완료, 변동성 돌파 분노자 전략 대공개!

안녕하세요 퀀트픽입니다!

약 1년전 부터 퀀트픽은 래리 월리엄스의 변동성 돌파 전략을 활용하여 암호화폐 시장에서 프로그램 자동매매를 하여 꾸준한 수익을 벌 수 있었습니다. 비록 시장 대비 한참 못 벌었지만 월단위로 -0.5% 이하의 손실을 본적이 없으며 2021년 5월 기준으로 약 120%의 누적 수익률을 달성하였습니다.

물론, 지금과 같은 암호화폐 시장에서 아무 김치코인을 매수하고 몇개월 동안 눈을 감으면 5배 또는 10배 이상을 버실 수 있을 것 입니다. 하지만, 영원한 상승장은 없으며 과연 다음에도 같은 방법을 사용하여 지속가능성 있는 수익을 벌 수 있는지도 의심이 듭니다.

투자에 정답은 없으나 최소 연복리 50% 이상 지난 10년동안 벌고, 최악의 경우 -25%로 방어한 전략이 바로 변동성 돌파 전략입니다. 최근에는 퀀트픽이 더 연구하고 공부하면서 변동성 돌파 전략의 기본 전략 위에 다양한 장치들을 추가로 탑재하여 전략을 더 로버스트하고 더 공격적으로 업그레이드 하였습니다. 제 노하우와 인사이트를 이번 포스팅에서 말씀 드리겠습니다.

1 . 변동성 돌파 기본 전략

– 변동성 돌파 전략의 가장 적인 로직은 아래와 같습니다. – 매수 : 돌파선 = 전일 레인지 (고가-저가) * K + 금일 시가

– 매도 : 타임커트 = 금일 시가에 매도.

– 조금더 길게 풀어서 해석하면 이렇습니다. 가격이 돌파선을 돌파시 매수하고, 돌파를 하지 못하면 현금 보유 합니다. 가격이 돌파 후 매수 시 다른 시장 참여자들의 익절 매물 그리고 본전 회복 심리에 기반한 매물로 인한 평균회귀를 고려하여 수익과 손실에 상관이 없이 시간이 되면 매도 합니다.

2. 변동성 돌파 타임프레임 분산 전략 – 그다음은 기존의 변동성 돌파 전략에 타임프레임 분산을 응용하였습니다. 매수와 매도 로직은 동일하나 여기에 시간 분산 기법을 활용하였습니다. – 암호화폐 거래소에서는 00:00 UTC를 기준으로 전일 종가와 금일 시가를 계산합니다. 00:00 UTC는 한국시간으로 오전 09:00 임. 공교롭게도 한국 주식 시장이 개장하는 시간과 동일 합니다. – 변동성 돌파 전략은 전일의 고가 – 전일의 저가 계산한 다음 K값을 곱하고 금일 시가를 더해서 매수 조건 형성 합니다. 만약 00:00UTC를 전일의 종가이자 금일의 시가로 정하면 한국시간 오전 09:00 부터 다음날 09:00까지 비트코인의 가격의 고점과 저점을 계산합니다. – 만약 01:00UTC를 전일의 종가이자 금일의 시가로 정하면 한국시간 오전 10:00 부터 다음날 10: 00까지 비트코인의 가격의 고점과 저점을 계산합니다. 그리고 계산한 레인지를 다음날 오전 09:00가 아닌 10:00의 가격에 더하는 것 입니다!

타임프레임 분산 전략은 크게 2가지 방법으로 사용할 수 있습니다!

가. 가장 잘 먹히는 시간대로 최적화하여 운용. – 퀀트픽이 24시간을 모두 시간단위로 지난 수년을 백테스트 해본 결과 한국시간 오전 09시, 10시, 그리고 11시 가 유의미한 결과를 주었습니다! 그리고 이 중에 비트코인과 이더리움 기준으로 10시>11시>9시 순서로 성과다 좋았습니다. – 기존에는 단순하게 9시를 기준으로 전일의 레인지를 계산하고, 9시에 돌파선 형성 및 타임커트 하는 전략을 사용한 반면 타임프레임 분산 전략을 응용하여 최적의 시간을 기준으로 돌파선을 계산 및 타임커트할 수 있도록 업그레이드 하였습니다. 나. 전략을 타임프레임 별로 분산하여 전략의 캐파 증진. – 다른 용도로는 비록 수익률이 떨어질 수 있으나 09시 , 10시 , 그리고 11시를 기준으로 돌파선 형성 & 타임커트를 응용하는 것 입니다. – 유동성이 부족할때 수십억원을 시장가로 거래할 시 슬리피지로 인한 막대한 거래비용이 발생할 수 있습니다. 이 자금은 1/3으로 배분한 다음 9시 / 10시 / 11시 타임프레임에 분산함으로서 수익률은 다소 떨어지나 전략의 캐파시티를 늘릴 수 있으며 거래비용을 낮출 수 있습니다! – 쉽게 말해서 전략의 캐파와 수익률의 트레이드 오프(TRADE-OFF)라고 보면 이해하기 쉽습니다!

3. 변동성 돌파 + 타임프레임 + 변동성 조절 기법 변동성 조절 기법은 노출하고 싶은 변동성을 조절하는 자금관리 기법입니다! 전일 변동성 = (전일의 고가 – 전일의 저가) / (전일의 종가) 투입 비중 = 타켓 변동성 / 전일 변동성

변동성 조절 하는 방법!

– 만약 전일의 변동성이 10% 이고 제가 노출하고 싶은 변동성은 5%라고 가정해 봅니다. 그렇다면 오늘 만약 가격이 돌파를 했을 경우 제가 투입하는 자금의 투입 비중은? 투입 비중 = 5% / 10% = 50% 입니다! – 반대로 전일의 변동성이 5%이고 제가 노출하고 싶은 변동성이 10%라면? 투입 비중 = 10% / 5% = 200% 입니다! – 이런 경우에는 레버리지를 사용하여 제가 노출하고 싶은 변동성에 노출 할 수 있습니다.

4. 변동성 돌파 + 타임프레임 + 변동성 조절 기법 + 레버리지

– 변동성 순환과 군집의 현상에 따라서 변동성이 작은 구간 이후에는 변동성이 커질 확율이 크며, 변동성이 큰 구간 이후에는 변동성이 작아질 확율이 높다는 전제가 있습니다.

– 암호화폐는 매우 추세가 강한 시장으로 변동성이 작아진 이후에 잠시 횡보를 하다가 상방 또는 하방으로 엄청난 변동성과 함께 추세가 형성됩니다.

– 변동성이 작은 구간에는 변동성 조절 기법 + 레버리지를 사용하면 상방으로 돌파 할때 매우 큰 수익을 한번에 취할 수 있습니다. – 반대로, 큰 추세로 상승한 후 수익을 챙긴 다음에는 베팅 비중으로 자연스럽게 줄여서 포지젼에 진입해도 손실을 다소 줄일 수 있다는 이점이 있습니다!

한마디 요약하면!

내가 유리 할때는 레버리지를 사용해서 수익을 극대화 하고

내가 불리 할때는 비중을 축소하여 손실을 최소화 한다!

5. 노이즈 비율이란 무엇인가? 그리고 퀀트픽이 사용하지 않는 이유! 래리 윌리엄스가 개발한 변동성 돌파전략은 코스닥과 같은 지수와 암호화폐에 잘 먹히는 것을 알 수 있습니다. 해당 전략은 모든 자산군에 잘 먹히지는 않습니다. 외환, 금, 원유등 기타 원자재에 백테스트를 해보면 수익곡선이 완전히 망가지는 것을 볼 수 있습니다. 변동성 돌파 전략이 꾸준히 수익을 내기 위한 조건은 아래와 같습니다. 1. 변동성이 커야 합니다. – 트레이딩 하는 자산군 또는 개별 종목의 변동성이 커야 변동성 돌파 전략이 잘 먹힙니다. – 변동성이 크면 돌파 후에 매수 시 수수료와 슬리피지를 커버하고도 수익을 낼 수 있기 때문입니다.

2. 노이즈가 적어야 합니다. – 추세적 = 노이즈가 적다 = 추세가 한번 형성되면 추세데로 쭉 간다는 뜻 입니다. 비추세적 = 노이즈가 크다 = 오르면 떨어지고, 떨어지면 하락하는 가격의 방향이 바뀌는 성질이 강하는 뜻 입니다. – 특정 종목이 추세적이라면 캔들 차트의 위꼬리 또는 아래꼬리가 짦습니다. 위꼬리는 가격이 올라갔다가 하락하면서 생기고, 아래꼬리는 가격이 하락했다가 오르면서 생깁니다. – 위꼬리와 아래꼬리가 짦으면 노이즈가 적다는 것, 길으면 노이즈가 크다 라고 해석하면 됩니다. 이를 한줄의 공식으로 풀어보면

노이즈 = 1 – abs(시가-종가)/(고가-저가)

– 분모를 캔들의 전체 길이로 잡아보자. 캔들의 전체 길이를 계산하기 위해서는 고가에서 저가를 빼면 됩니다. – 분수를 (시가 – 종가)의 절대값 (absolute value)로 하면 캔들 전체 길이에서 시가 대비 종가의 길이 비율을 계산할 수 있습니다. – 마지막으로 이 비율을 1에서 빼면 위꼬리와 아래꼬리의 비율이 됩니다. 그리고 이를 하나의 지표로 사용할 수 있습니다!

변동성 돌파 전략에 노이즈 비율을 활용할 수 있는 방법은 크게 4가지가 있습니다! 1.노이즈 값이 특정 수준 이하인 경우만 진입!

– 단일 종목 진입의 필터 조건으로 활용!

2. 노이즈 값이 특정 수준 이할일 경우만 포트폴리오 유니버스에 편입!

– 포트폴리오 구성의 필터 조건으로 이용!

3. 노이즈 값이 작은 종목들만 선별적으로 선택하여 트레이딩 !

– 노이즈 값이 작다는 것은 종목이 추세적이라는 뜻!

4. 노이즈 값에 따라 진입의 역치를 조절!

– 노이즈가 값이 작으면 돌파 계수를 낮게!

– 노이즈 값이 높으면 돌파 계수를 높게 조절!

1~3번의 활용방법은 트레이딩 유니버스를 코인 시장에서 가장 큰 시가총액과 엄청난 거래량이 발생하고 있는 비트코인과 이더리움만 트레이딩 하고 있으며 생략하였습니다. 그리고 4번인 노이즈 값에 따라 진입의 역치를 조절하는 변돌 분노자 지표의 노이즈 비율을 사용하여 백테스트 해본 결과 아래와 같습니다.

계수와 제곱을 1로 설정하면 고정 k 값이 아닌 노이즈 비율에 따라 유동적으로 돌파선을 조절합니다. 바이비트 비트코인 인버스 선물계약, 2019년 01월01일 부터 2021년 05월11일 까지의 수익곡선 입니다. 노이즈 비율을 사용할 시 수익곡선이 깨지는 것을 볼 수 있었습니다. 이더리움에도 노이즈 비율을 사용해보았습니다! 거래빈도수가 올라가고 수익곡선이 망가지지는 않습니다.

하지만 노이즈 비율을 사용하지 않는것이 백테스트 상 결과가 더 좋네요~결과적으로 퀀트픽은 노이즈 비율을 사용하지 않기로 결정하였습니다!

퀀트픽 VB+는 1. 비트코인과 이더리움만 트레이딩 합니다.

2. 바이낸스 선물 거래소를 활용하여 거래비용을 낮추고 레버리지를 활용합니다.

3. 일중 모멘텀이 가장 뚜렸한 10시를 기준으로 돌파선 형성 및 타임커트를 합니다.

4. 백테스트 상 MDD -25% 이하를 기준으로 변동성 조절 기법을 응용합니다.

5. 레버리지는 최고 200%로 제한하여 시장보다 아웃퍼폼하되 강제청산의 가능성을 낮추었습니다.

제가 공부하고 조사한 자료 출저는 아래와 같습니다.

1. SYSTRADER79 카페

2. 할투 유튜브

3. 가상화페 투자 마법 공식

4. 철투 유튜브

5. 철투 사이트

그리고 위의 모든 자료와 데이터 그리고 트레이딩 뷰 스크립트를 적절하게 조합하고 위에 말씀드린 모든 요소들을 고려하여 퀀트픽은 가장 기본적인 변동성 돌파 전략에서 빌드업을 하여 퀀트픽 VB+를 운용하고 있습니다.

*** 철투 2021신전략 소개 및 세팅 방법 을 참고하여 전략을 구매하고 세팅하는 방법까지 모두 확인하실 수 있습니다!

06-2 변동성 돌파 전략 구현

변동성 돌파 전략

래리 윌리엄스(Larry Williams)가 Long-Term Secrets to Short-Term Trading에서 소개한 변동성 돌파 전략은 최근 ‘가즈아! 가상화폐 투자 마법공식 (강환국 저)’ 등에서 소개된 이후로 국내에서도 유명해졌습니다. 변동성 돌파 전략을 간략히 요약해 보면 아래와 같습니다.

1) 가격 변동폭 계산: 투자하려는 가상화폐의 전일 고가(high)에서 전일 저가(low)를 빼서 가상화폐의 가격 변동폭을 구합니다. 2) 매수 기준: 당일 시간에서 (변동폭 * 0.5) 이상 상승하면 해당 가격에 바로 매수합니다. 3) 매도 기준: 당일 종가에 매도합니다.

간단한 예제와 함께 변동성 돌파 전략을 이해해 봅시다. 가상화폐는 24시간 거래되고 있기 때문에 먼저 시가와 종가를 계산할 기준 시간을 잡아야 합니다. 00:00:00 분부터 그날의 거래가 시작되고 23:59:59에 거래가 종료된다고 가정합시다.

1) 가격 변동폭은 00:00:00~23:59:59 사이의 거래 중에서 가장 높았던 금액과 가장 낮았던 금액을 빼주면 되겠지요? 예를 들어 12월 10일의 비트코인의 고가가 460만 원이고 저가가 300만 원이었다면 이날의 가격 변동폭은 160만 원입니다.

2) 12월 11일 비트코인의 시가(open)가 400만 원이라면 12월 11일의 매수 목표가는 400 + 160 x 0.5 = 480만 원이 됩니다. 12월 11일 하루 종일 일정한 시간마다 현재가를 계속 조회하다가 현재가가 매수 목표가인 480만 원을 넘어서면 바로 매수합니다.

3) 매도는 12월 12일 00:00:00초에 갖고 있는 비트코인을 시장가로 전량 매도합니다.

단계-1: 주기적으로 현재가 얻어오기

래리 윌리엄스의 변동성 돌파 전략을 단계별로 구현해 나가 보겠습니다. 24시간 동안 실행해야 하기 때문에 반복문 while을 사용합니다. Ch06/06_12.py는 0.2초에 한 번씩 비트코인의 현재가를 화면에 출력합니다. 거래소마다 초당 호출할 수 있는 API의 횟수에 제한이 있기 때문에 0.2초 정도 쉬는 겁니다.

# ch06/06_12.py 1: import pybithumb 2: import time 3: 4: while True: 5: price = pybithumb.get_current_price(“BTC”) 6: print(price) 7: time.sleep(0.2)

라인 4: 반복 횟수가 정해져 있지 않기 때문에 while문을 사용합니다.

라인 5: get_current_price() 함수를 호출하여 비트코인의 현재가를 얻어옵니다.

라인 6: 얻어온 현재가를 화면 출력합니다.

라인 7: 0.2 초 동안 수행을 멈춥니다.

단계-2: 목표가 계산하기

비트코인의 전일 가격 정보를 얻어온 후 금일 매수 목표가를 계산해 봅시다. pybithumb 모듈의 get_ohlcv() 함수는 시가/고가/저가/종가/거래량의 일봉 데이터를 DataFrame 객체로 반환합니다. 함수의 파라미터로 조회하려는 암호화폐의 티커를 입력합니다. 다음 코드는 비트코인 (BTC)의 가격 정보를 화면에 출력합니다.

1: import pybithumb 2: 3: df = pybithumb.get_ohlcv(“BTC”) 4: print(df.tail())

라인 3: get_ohlcv() 함수를 호출해서 비트코인의 일봉 정보를 DataFrame 객체로 얻어옵니다.

라인 4: tail() 메서드를 사용해서 DataFrame 객체에 저장된 일봉 데이터 중 끝의 5개 값만을 출력합니다.

출력 결과를 살펴보면 가격 데이터가 날짜를 기준으로 내림차순 정렬돼 있습니다. 가장 마지막 행에는 금일 조회 시점까지의 거래 정보가 들어있습니다. 따라서 하루 전의 데이터는 DataFrame 끝에서 두 번째행을 얻어와야 합니다. 정수 인덱스 값을 사용해서 행 단위로 값을 얻어올 때는 iloc를 사용했었지요?

open high low close volume 2018-12-11 00:00:00 3931000.0 3988000.0 3787000.0 3800000.0 4236.665853 2018-12-12 00:00:00 3803000.0 3919000.0 3777000.0 3845000.0 3714.563063 2018-12-13 00:00:00 3845000.0 3931000.0 3800000.0 3839000.0 3602.461280 2018-12-14 00:00:00 3839000.0 3861000.0 3670000.0 3704000.0 5563.794047 2018-12-15 21:00:00 3707000.0 3712000.0 3590000.0 3607000.0 3145.158777

가상화폐는 24시간 시장이 열리기 때문에 어제의 종가가 오늘의 시가와 비슷합니다. 따라서 어제의 시가, 고가, 저가, 종가 데이터를 가져오면 목표가 계산에 필요한 전일 저가, 전일 고가, 당일 시가를 모두 얻을 수 있습니다. (보다 정확히 구현하려면 오늘의 시가를 따로 얻어와야 합니다)

# ch06/06_13.py 01: import pybihtumb 02: 03: df = pybithumb.get_ohlcv(“BTC”) 04: yesterday = df.iloc[-2] 05: 06: today_open = yesterday[‘close’] 07: yesterday_high = yesterday[‘high’] 08: yesterday_low = yesterday[‘low’] 09: target = today_open + (yesterday_high – yesterday_low) * 0.5 10: print(target)

라인 4: iloc [-2]로 끝에서 두 번째 행(전일 데이터)을 가져옵니다. yesterday에는 전일 데이터가 Series 객체로 바인딩됩니다.

라인 6: Series 객체로부터 ‘close’ 인덱스를 사용해서 당일 시가를 얻어옵니다.

라인 7: Series 객체로부터 ‘high’ 인덱스를 사용해서 전일 고가를 얻어옵니다.

라인 8: Series 객체로부터 ‘low’ 인덱스를 사용해서 전일 저가를 얻어옵니다.

라인 9: 래리 윌리엄스 변동성 돌파 전략의 목표가를 계산합니다. (당일 시가 + 레인지 x 0.5)

목표가는 프로그램이 시작될 때 한 번 그리고 매일 자정마다 재계산되어야 합니다. 코드의 재사용을 위해 목표가를 계산하는 부분을 함수로 정리해 봅시다.

def get_target_price(ticker): df = pybithumb.get_ohlcv(ticker) yesterday = df.iloc[-2] today_open = yesterday[‘close’] yesterday_high = yesterday[‘high’] yesterday_low = yesterday[‘low’] target = today_open + (yesterday_high – yesterday_low) * 0.5 return target

단계-3: 자정에 목표가 갱신하기

래리 윌리엄스의 변동성 돌파 전략에서 목표가는 프로그램이 시작될 때 한 번 그리고 매일 자정마다 갱신해야 합니다. 목표가를 계산하는 get_target_price() 함수를 구현해놨기 때문에 이 함수를 적절한 시점에 호출해주기만 하면 됩니다. 하지만 현재 시각을 얻어오는 것뿐만 아니라 자정인지 아닌지를 판단하는 부분도 어려워 보입니다. 이러한 기능을 처음부터 구현하는 것보다는 기존에 구현된 모듈을 사용하면 좋겠죠?

파이썬은 시간을 쉽게 다룰 수 있는 datetime 모듈을 제공합니다. 처음 접하면 어려울 수 있기 때문에 다양한 코드를 살펴보며 datetime의 사용법을 익혀봅시다. 다음 코드는 2018년 12월 1일 00:00:00 초가 저장된 datetime 객체를 생성합니다.

1: import datetime 2: 3: dt = datetime.datetime(2018, 12, 1) 4: print(dt) 5: print(dt.year, dt.month, dt.day)

라인 1: datetime 모듈을 import 합니다.

라인 3: datetime 클래스의 초기화자로 년/월/일 세 개의 값을 전달합니다.

라인 4: datetime 객체가 바인딩된 dt 변수를 출력합니다.

라인 5: datetime 객체에 저장된 인스턴스 변수를 출력합니다.

위 코드를 실행하면 datetime 객체에 저장된 현재 시각이 다음과 같이 출력됩니다. 원하는 시각을 갖는 datetime 객체가 생성된 것을 확인할 수 있습니다. 또한 datetime 객체에 저장된 년/월/일 값이 year, month, day 속성에 바인딩된 것을 알 수 있습니다.

2018-12-01 00:00:00 2018 12 1

datetime 모듈에서 현재 시각은 now() 메서드를 사용해서 얻습니다. 다음 코드는 now() 메서드로 얻어온 datetime 객체와 직접 생성한 datetime 객체를 비교합니다.

1: import datetime 2: 3: dt = datetime.datetime(2018, 12, 1) 4: now =datetime.datetime.now() 5: print(now) 6: 7: print(now == dt) 8: print(now > dt)

now 에는 현재 시각이 datetime 객체로 저장돼 있습니다. 예제에서는 호출한 시점이 2018년 12월 16일 02:35:30초입니다. 직접 만든 dt 변수와 now 변수에는 모두 datetime 객체가 바인딩 돼 있기 때문에 비교 연산을 사용할 수 있습니다. 만약 현재 시각이 문자열로 저장돼 있다면 비교 연산을 사용할 수 있을까요? 사용 방법이 어려워 보이지만 datetime을 사용할 때의 얻을 수 있는 가장 큰 장점입니다.

2018-12-16 02:35:20.921899 False True

지금까지 배운 내용을 모두 응용해서 다음날 자정의 시각이 저장된 datetime 객체를 만들어봅시다. now() 메서드로 생성한 datetime의 속성 값을 얻어오는 것이 핵심입니다.

1: import datetime 2: 3: now = datetime.datetime.now() 4: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 5: print(now) 6: print(mid)

라인 3: now() 메서드로 현재 시각을 얻어옵니다.

라인 4: 00:00:00 초의 datetime 객체를 생성하고, 1일의 시간을 더해 다음 날 자정으로 만듭니다. timedelta(1)이 1일의 시간을 의미합니다.

변동성 돌파 전략은 24시간 동안 실행되며, 자정마다 목표가를 갱신해야 합니다. while문 안에서 now() 메서드와 datetime 클래스를 활용해서 자정을 판별해 보겠습니다. Ch06/06_14.py는 매일 자정마다 “자정입니다” 문자열을 화면에 출력하기를 기대하는 프로그램입니다. 코드에 문제가 있어 정상적으로 실행되지 않기 때문에 “기대”라고 언급했습니다. 문제점을 찾아보기 위해 코드를 이해해 봅시다.

# ch06/06_14.py 01: import time 02: import datetime 03: 04: now = datetime.datetime.now() 05: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 06: 07: while True: 08: now = datetime.datetime.now() 09: if now == mid : 10: print(“정각입니다”) 11: now = datetime.datetime.now() 12: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 13: 14: print(now, “vs”, mid) 15: time.sleep(1)

라인 4: 프로그램이 시작할 때 실행되는 코드로 다음날 자정 시각을 계산하기 위해 현재 시각을 얻어옵니다.

라인 5: 다음날 자정의 시각을 계산해서 datetime 객체로 저장합니다.

라인 8: while문 안에서 반복해서 현재 시각을 얻어옵니다.

라인 9: datetime의 비교 연산을 사용해서 얻어온 현재 시각이 자정인지 체크합니다.

라인 11~12: 자정이라면 다음날의 자정 시각을 계산합니다.

라인 14: 현재 시각과 다음날 자정 시각을 출력합니다.

코드를 실행하면 1초에 한 번씩 현재 시각과 다음날 자정의 시각이 출력됩니다. 출력값의 첫 번째 행을 보면 now() 메서드로 얻어온 현재 시각은 12월 16일 03:12:55초라는 것을 알 수 있습니다. 시간이 지나 현재 시각이 12월 17일 00:00:00 초가 되면 “정각입니다” 문자열이 출력될 것을 기대합니다. 하지만 안타깝게도 “정각입니다” 문자열은 출력될 수도 있고 안될 수도 있습니다. 두 번째 행의 현재 시각이 첫 번째 행과 비교하여 1.000459초 차이 납니다. 이는 프로그램에서 정확하게 1초 단위로 시각을 비교할 수 없음을 의미합니다. 컴퓨터에 과부하가 걸릴 경우 시간 차이는 더욱 커질 수 있기 때문에 now() 메서드로 얻어온 현재 시간이 23:59:59초 다음 자정이 아니라 24:00:01초로 넘어갈 수도 있습니다.

2018-12-16 03:12:55.149264 vs 2018-12-17 00:00:00 2018-12-16 03:12:56.149723 vs 2018-12-17 00:00:00 2018-12-16 03:12:57.150150 vs 2018-12-17 00:00:00

이런 문제를 해결할 수 있는 쉬운 방법 중 하나는 반복문 내에서 특정 시각을 비교하는 것이 아니라 보다 긴 구간(약 10초)에 속하는지를 확인하는 겁니다. 예를 들어 지금 시간이 00:00:00초를 비교하는 것보다 지금 시간이 00:00:00초 보다는 크고 00:00:10초보다는 작은 구간에 있는지를 비교하는 겁니다. ch06/06_15.py는 구간을 비교해서 목표가까지 계산하는 코드입니다.

# ch06/06_15.py 01: import time 02: import datetime 03: 04: now = datetime.datetime.now() 05: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 06: 07: while True: 08: now = datetime.datetime.now() 09: if mid < now < mid + datetime.timedelta(seconds=10) : 10: print("정각입니다") 11: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 12: 13: time.sleep(1) 라인 9의 코드를 눈여겨보세요. datetime.delta는 datetime에 offset을 더할 때 사용하는데, (seconds=10)은 10초를 더한다는 의미입니다. 현재 시각(now)이 자정(mid)와 자정에서 10초 뒤의 구간 사이에 있는가를 비교합니다. Ch06/06_16.py은 목표가 계산까지 포함된 전체 코드입니다. # ch06/06_16.py 01: import time 02: import pybithumb 03: import datetime 04: 05: def get_target_price(ticker): 06: df = pybithumb.get_ohlcv(ticker) 07: yesterday = df.iloc[-2] 08: 09: today_open = yesterday['close'] 10: yesterday_high = yesterday['high'] 11: yesterday_low = yesterday['low'] 12: target = today_open + (yesterday_high - yesterday_low) * 0.5 13: return target 14: 15: now = datetime.datetime.now() 16: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 17: target_price = get_target_price(“BTC”) 18: 19: while True: 20: now = datetime.datetime.now() 21: if mid < now < mid + datetime.timedelta(seconds=10) : 22: target_price = get_target_price(“BTC”) 23: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 24: 25: current_price = pybithumb.get_current_price("BTC") 26: print(current_price) 27: 28: time.sleep(1) 단계-4: 매수 시도 이번에는 매수 기능을 추가해 보겠습니다. 목표가가 현재가 이상일 경우 잔고를 조회하고 주문 가능한 수량을 계산한 후에 시장가 매수합니다. Ch06/06_17.py 은 6.1.3 절의 잔고조회와 6.1.4 절의 시장가 주문을 사용합니다. # ch06/06_17.py # 코드 생략 23: while True: 24: now = datetime.datetime.now() 25: if mid < now < mid + datetime.timedelta(seconds=10): 26: target_price = get_target_price(“BTC”) 27: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 28: 29: current_price = pybithumb.get_current_price("BTC") 30: if current_price > target_price: 31: krw = bithumb.get_balance(“BTC”)[2] 32: orderbook = pybithumb.get_orderbook(“BTC”) 33: sell_price = orderbook[‘asks’][0][‘price’] 34: unit = krw/float(sell_price) 35: bithumb.buy_market_order(“BTC”, unit) 36: 37: time.sleep(1)

라인 30: 현재가가 목표가 보다 크다면 다음 코드를 실행합니다.

라인 31: 잔고 조회 API를 사용해서 보유 중인 원화를 얻어옵니다.

라인 32~33: 호가창을 조회해서 최우선 매도 호가를 조회합니다.

라인 34: 원화 잔고를 최우선 매도가로 나눠서 구매 가능한 수량을 계산합니다.

라인 35: 시장가 주문으로 비트코인을 매수합니다.

매수와 관련된 코드(라인 30~35)를 buy_crypto_currency() 함수로 정리해 봅시다. buy_crypto_currency () 함수는 매수하려는 암호화폐의 티커를 입력받습니다.

def buy_crypto_currency(ticker): krw = bithumb.get_balance(ticker)[2] orderbook = pybithumb.get_orderbook(ticker) sell_price = orderbook[‘asks’][0][‘price’] unit = krw/float(sell_price) bithumb.buy_market_order(ticker, unit)

단계-5: 매도 시도

이번 절에서는 매도 기능을 추가해보겠습니다. 변동성 돌파 전략에서는 보유 중인 비트코인을 다음 날 시초가에 전량 매도합니다. 즉, 00:00:00초에 시장가 매도를 하는 겁니다. 앞서 여러분은 이미 while 루프 내에서 00:00:00 ~ 00:00:10초 사이의 시간을 판단하는 분기문을 추가했습니다. 따라서 해당 분기문에서 다음과 같이 sell_crypto_currency() 함수를 호출해줍니다.

while True: now = datetime.datetime.now() if mid < now < mid + datetime.delta(seconds=10): target_price = get_target_price(“BTC”) now = datetime.datetime.now() mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) sell_crypto_currency(“BTC”) 이번에는 sell_crypto_currency()라는 매도 함수를 구현해 봅시다. 매도 함수에서는 단순히 본인 계좌에서 비트코인이 있는지 잔고 조회한 후 조회된 수량의 비트코인을 시장가로 전량 매도하면 됩니다. def sell_crypto_currency(ticker): unit = bithumb.get_balance(ticker)[0] bithumb.sell_market_order(ticker, unit) 정리해보면 매일 밤 자정에는 다음과 같은 순서로 작업이 진행됩니다. 1) 보유한 비트코인이 있다면(당일 매수 조건에 따라 매수가 됐다면) 해당 비트코인을 시장가로 매매 2) 전일 시가, 고가, 저가, 종가 기준으로 래리 윌리엄스의 변동성 돌파 전략 기반 목표가 재계산 3) 해당 일 기준으로 다음 날의 00:00:00 초 시간 계산 매수/매도 기능까지 함수로 정리한 전체 코드는 다음과 같습니다. # ch06/06_18.py # 코드 생략 34: while True: 35: now = datetime.datetime.now() 36: if mid < now < mid + datetime.timedelta(seconds=10): 37: target_price = get_target_price(“BTC”) 38: mid = datetime.datetime(now.year, now.month, now.day) + datetime.timedelta(1) 39: sell_crypto_currency("BTC") 40: 41: current_price = pybithumb.get_current_price("BTC") 42: if current_price > target_price: 43: buy_crypto_currency(“BTC”) 44: 45: time.sleep(1)

단계-6: 보안 및 예외처리

이번 절에서는 예외처리 및 보안을 강화해 보겠습니다. 앞서 여러분은 Bithumb 클래스의 객체 생성에 필요한 Connect Key와 Secret Key를 코드 상에 문자열로 직접 입력했습니다. 그러나 이러한 방식은 코드가 공개됐을 때 여러분의 Connect Key와 Secret Key가 노출됩니다.

코드와 여러분의 키값을 분리해 봅시다. 윈도우 메모장을 실행한 후 그림 6-15과 같이 Connect Key와 Secret Key를 각각 다른 줄에 붙여 넣기를 해줍니다. Connect Key가 첫 번째 줄에 위치하고 Secret Key를 그다음 줄에 붙여 넣기 해주시기 바랍니다. 메모장에서 저장을 눌러 bithumb.txt라는 이름으로 파일을 저장합니다.

그림 6-15 Connect Key와 Secret Key

기존에 문자열로 표현된 Connect Key와 Secret Key를 사용해서 Bithumb 클래스의 인스턴스를 생성하는 코드를 다음과 같이 변경합니다. 이때 메모장에서 저장한 bithumb.txt 파일은 반드시 현재 소스코드와 같은 디렉터리에 위치하고 있어야 합니다.

1: with open(“bithumb.txt”) as f: 2: lines = f.readlines() 3: key = lines[0].strip() 4: secret = lines[1].strip() 5: bithumb = pybithumb.Bithumb(key, secret)

라인 1: 예외처리 기능이 포함된 파일 열기 코드입니다.

라인 2: 파일에서 모든 줄(line)을 읽어서 파이썬 리스트로 저장합니다.

라인 3: lines[0] 번(Connect Key)을 읽은 후 strip() 메서드를 호출하여 좌우 공백을 제거한 문자열을 key라는 변수로 바인딩합니다.

라인 4: lines[1] 번(Secret Key)을 읽은 후 strip() 메서드를 호출하여 좌우 공백을 제거한 문자열을 key라는 변수로 바인딩합니다.

라인 5: key, secret 변수를 사용해서 Bithumb 클래스에 대한 인스턴스를 생성합니다.

지금까지 구현한 변동성 돌파 전략은 이상적인 환경에서만 동작합니다. 네트워크 상태가 일시적으로 좋지 않거나 bithumb 서버가 불안정한 경우 API 호출의 실패로 프로그램이 종료될 수 있습니다. pybithumb모듈은 API의 호출이 실패할 경우 None 값을 반환합니다. 다음 코드에서 get_current_price() 함수가 None 값을 반환하면 어떻게 될까요? if문에서 None 값과 숫자(target_price)를 비교하다 TypeError 메시지를 출력하고 프로그램이 종료됩니다.

current_price = pybithumb.get_current_price(“BTC”) if current_price > target_price: buy_crypto_currency(“BTC”)

프로그램이 종료되면 매수/매도를 해야 할 시점에 대응하지 못해 추가적인 손실을 입히거나 시장 참여 기회를 잃어버릴 수 있습니다. API의 호출 실패는 생각보다 빈번하게 일어나기 때문에 안정적인 프로그램 운용을 위해서는 에러 처리를 위한 코드를 추가해야 합니다.

파이썬에서는 에러를 제어하기 위해 try ~ except 문법을 사용합니다. try 키워드에는 정상 상황에서 실행될 코드를 들여 쓰기 한 후 작성하고 except 키워드에는 에러 상황에서 실행될 코드를 들여 쓰기 한 후 추가합니다. 다음은 고의로 에러를 발생시키는 코드입니다. 어떻게 동작할지 생각해봅시다.

1: try: 2: if None > 123: 3: print(“정상”) 4: except: 5: print(“에러 발생”)

라인 2-3: 정상 환경에서 실행될 코드로 에러를 발생시키기 위해 고의로 None 값과 정수 값을 비교합니다.

라인 5: 에러 상황에서 실행될 코드입니다.

정상적인 상태라면 라인 2와 라인 3의 코드를 차례로 실행하고 프로그램은 종료됩니다. 하지만 위 예제에서는 라인 2에서 에러가 발생하기 때문에 라인 3의 코드는 실행되지 못하고 라인 5의 코드가 실행됩니다. 그 결과 “에러 발생”이라는 문자열이 화면에 출력됩니다. 에러 처리를 하지 않는 경우 파이썬 인터프리터가 라인 2에서 에러를 출력하고 종료되지만 에러 처리를 한 경우에는 에러가 있더라도 파이썬 인터프리터가 종료되지 않고 다음 코드를 실행할 수 있습니다.

에러 발생

구현한 변동성 돌파 전략 코드에 try ~ except 구문을 적용해서 에러 처리를 적용해 봅시다.

단기 변동성 돌파 전략(헤이비트 Advanced 1.0 버전)

헤이비트의 advance 1.0 전략은 이전의 Basic 버전과 비교하여 MDD와 수익률 면에서 크게 개선된 버전이다.

전략개요

후보 암호화폐 : 5종

K값 : 최근 20일 간의 노이즈 비율의 평균 값

배팅비율 : (이동평균선 스코어) * (변동성 조절 비율)

타임프레임 분산 : O

[출처 : 헤이비트]

세부전략

1. 종목선정

– 암호화폐 중 시가총액이 가장 높고, 거래소에서 거래가능한 종목 5종을 대상으로 선택하며, 이를 월 단위로 갱신함.

2. 돌파신호 정의

– 래리 윌리엄스의 기법에서 K값이 노이즈 비율에 따라 변화하도록 하여 돌파가격이 때에 따라 다르게 함.

3. 다섯 개의 종목 중 돌파신호를 보이는 코인을 선택하여 배팅 비율 만큼 매수함

4. 종가에 익절이든 손절이든 모두 매도함

시장과 종목의 추세 수준에 따른 파라미터 값 선정

# K값

– 고정된 K값을 설정할 경우, 시장과 종목의 추세 수준이 변화하는 것에 대응되지 않을 수 있다.

예를들어, 해당 종목의 추세성이 약한 상태라면, 설령 돌파신호가 발생 하더라도 그 추세가 이어질 확률이 낮다.

반대로, 해당 종목의 추세성이 강한 상태라면, 돌파신호 발생 후 수익을 거둘 확률이 높다.

따라서, 이때는 돌파신호의 발생 점을 낮춰서 수익성을 높일 수 있게 된다.

– 이를 위해, 노이즈 비율이라는 지표를 사용할 수 있다. 이 지표는 해당 종목이 얼마나 추세적인지를 나타내는 지표이다.

가격이 일방향으로 지속적으로 움직인다면 추세적 노이즈가 적은 것이고,

가격이 오르면 떨어지고 떨어지면 오르는 성질을 가진다면 비추세적, 즉 노이즈가 많은 것이다.

– 이를 캔들에서 확인해보면, 추세적일 때는 위꼬리나 아래꼬리가 짧은 장대양봉 혹은 장대음봉 이고,

비추세적 일 때이라면 위꼬리나 아래꼬리가 길어 장중에 가격이 반전되는 성향이 강하다는 것을 알 수 있다.

이런 관점에서 일중 캔들의 노이즈를 다음과 같이 정의할 수 있다.(아래의 식에서 abs는 절대값을 의미함)

노이즈 비율 = 1 – abs(시가 – 종가) / (고가 – 저가)

– 노이즈 비율이 높은 경우 최대 1일 때는 추세성이 전혀 없는 상태이고,

노이즈 비율이 0이라면 아주 순수한 추세라는 의미로 볼 수 있다.

– 헤이비트에서는 최근 20일 간의 노이즈 비율의 평균값을 K로 사용하였는데 이는 백테스팅에서 얻은 결과로 판단된다.

이에 따라 최근 20일간의 노이즈 비율이 높은 경우 변동성 돌파 지점을 높여 거짓 추세를 피해가고,

최근 20일간의 노이즈 비율이 낮은 경우 변동성 돌파 지점을 낮춰 추세에 빨리 올라탈 수 있게 된다.

K = 최근 20일간의 노이즈 비율의 평균값

# 배팅비율

– 배팅 비율은 (이동평균선 스코어) x (변동성 조절 비율)로 정해진다.

@ 이동평균선 스코어

– 헤이비트의 이전버전인 Basic 버전에서는 5일 이동평균선과 현재 가격을 비교해 상승장 유무를 판단해 진입을 결정하였다.

그러나, 이렇게 true/false의 이분법적인 방법으로 대응하게 되면 대응이 최적화 될 수 없다고 한다. 대신 Advanced 에서는

더 섬세한 이동평균선 스코어에 의한 베팅 비율 조절을 적용한다.

– 이동평균선 스코어는 다음과 같이 계산한다.

3일 ~ 20일의 18개의 이동 평균선을 각각 계산하여

이동평균선 스코어 = 각 이동평균선을 넘은 개수 / 18

즉, 3일 이동평균선을 넘으면 + 0.055(1/18)점, 4일 이동평균선을 넘으면 + 0.055(1/18)점

이렇게 18번을 모두 넘으면 이동평균선 스코어는 총 1(18/18)점이 되는 것이고

이렇게 18번을 모두 넘지 못하면 이동평균선 스코어는 총 0(0/18)점이 되는 것이다.

– 이렇게 구해진 수치를 모두 넘은 강한 추세에는 100%(18/18)의 풀베팅을,

이동평균선을 절반만 넘은 적당한 추세에서는 50%(9/18)의 하프베팅을,

이동평균선을 전혀 넘지 않은 비추세장에서는 0%의 베팅 회피를 하게 되는 것이다.

이러한 과정을 통하여, 추세의 정도에 맞는 베팅을 할 수 있게 된다.

[출처 : 헤이비트] 이 때의 이동평균선 스코어(=베팅비율) : 17/18

@ 변동성 조절 비율(2%룰)

– 변동성을 제어하는 것은 투자 손실을 제어하는 중요한 원칙 중 하나이다.

변동성이 큰 장에선 큰 금액을 베팅할 경우, 크게 잃을 확률이 증가하는 것은 자연스러운 일인데,

변동성이 클 때는 베팅 양을 줄이고, 변동성이 작을 때는 베팅 양을 늘림으로써 변동성을 제어할 수 있다.

– 문제는 변동성을 어떻게 파악하냐는 것인데, 이에 대해서는 변동성이 큰 구간과 작은 구간이 무리지어 나타나는

변동성 군집(Volatility clustering) 현상을 이용한다. 최근의 변동성이 오늘의 변동성과 유사할 가능성이 높다는 것.

– 변동성 조절(2%룰) 비율을, 다음과 같은 공식으로 조절한다.

변동성 조절 비율 = 타겟 변동성 / 전일 변동성 / 대상 암호화폐 수

– 타겟 변동성

내 전략이 맞추고자 하는 변동성 수준으로 헤이비트는 2%를 목표 값으로 한다.

한 번의 트레이딩에서 2% 이상의 자산을 잃지 말라는 것은 전설적인 트레이더들이 한 목소리로 조언하는 중요한 원칙임.

– 전일 변동성

(전일 고점 – 전일 저점) / 현재가격

– 대상 암호화폐 수

Advanced 버전에서는 5종을 트레이딩 하므로 값은 5이다.

# 타임프레임 분산

– 변동성 돌파 전략의 최종 공식은 위에 까지 해서 구해졌으나 헤이비트의 운용 방식에는 한 가지 요소가 더해져 있다.

그것은 타임프레임 분산 기법인데, 이것은 자산을 한꺼번에 운용하지 않고 각기 다른 시간구간별로 분산해서 운용하는 것을 의미함.

– 헤이비트는 사용자의 금액과 전체 사용량 등에 의거해 분할 매수와 시간대를 조정할 수 있다.

– 클로즈 베타 단계에서는 24시간 분할을 적용하며, 운용 방식은 아래와 같다.

먼저, 자산을 24분할한다.

자산의 1/24를 0시부터 24시의 구간에서 최종 공식대로 운영

자산의 1/24를 1시부터 25시의 구간에서 최종 공식대로 운영

자산의 1/24를 2시부터 26시의 구간에서 최종 공식대로 운영

자산의 1/24를 23시부터 47시의 구간에서 최종 공식대로 운영

이렇게 잘게 나뉘어진 자산이 순차적으로 작동하여 각각 다른 시간 구간에서 운영된다.

– 이렇게 분산을 하는 이유는?

1) 슬리피지

모든 사용자가 동일 시간대에 매수/매도신호를 받게 되면, 헤이비트의 사용자 및 운용액이 커짐에 따라 해당 시점에

슬리피지가 크게 발생하게 된다. 이는 단기 트레이딩 전략에게 치명적일 수 있는데, 이렇게 분산이 될 수록 병목이 급격히 줄어

슬리피지를 회피할 수 있다.

2) 타임 프레임별 성과 차이 발생 가능성 제거

동일한 전략으로도 어떤 시간대에 굴리느냐에 따라 성과 차이가 날 수 있다.

특정 시간대에 발생한 대형 호재를 놓치거나, 대형 악재로 인한 극단적 피해를 입을 가능성도 있다.

타임프레임 분산은 이런 문제를 효과적으로 헷징하여 전체적인 성과를 평탄화함으로써 안정적인 성과를 거둘 수 있도록 돕는다.

– 이 과정은 인간이 재현하기에 불가능에 가깝다. 5개 종목를 24분할시 120개 인데, 이를 별도로 매매해야하기 때문이다.

이는 헤이비트가 자동매매를 제공하므로 쉽게 이용할 수 있다.

백테스트 결과

# 백테스트 결과 분석

– 위의 전략을 백테스트 하기 위해서는 상위 암호화폐 5종의 시간 단위의 데이터가 필요하다.

– 헤이비트는 빗썸을 통해 2017년 9월 29일부터의 데이터를 구해 알고리즘을 적용해 볼 수 있다고 한다.

– 아래의 결과는 2017년 10월 19일 ~ 2018년 5월 15일 까지의 성과이다. 슬리피지는 매수/매도 모두 0.2% 적용

검은색 선은 비트코인, 비트코인캐시, 이더리움, 리플, 라이트코인을 단순 1/5씩 분산 매수하고 홀드한 경우의 그래프이며,

연말까지 9배의 폭등을 경험했다가, 1월 초부터 약 80%의 폭락을 기록했다.

이 변동성이 큰 장세에서 헤이비트의 Advanced전략은 안정적으로 2배이상으로 상승한 것을 볼 수 있다.

CAGR(연평균수익률) : 238.4%

MDD(최대낙폭) : 6.11%

[출처 : 헤이비트]

– 마지막 지점에서 단순 분산 매수&홀드 전략이 더 많이 번 것같이 보이지만 우리는 17년10월과 같은 기가막힌 저점에서부터

투자를 시작할 수 있다는 보장이 없다. 만약 꼭대기에서 투자를 시작했다면 엄청난 손실로 끝났을 것이다.

– 헤이비트의 Advanced 전략을 18년 1월부터 사용했다고 해보면 아래와 같이 엄청난 폭락 속에서도 수익을 낼 수 있다.

여기서 주목할 만한 것은 한결같이 낮은 MDD!!

CAGR(연평균수익률) : 88%

MDD(최대낙폭) : 5.86%

결론

헤이비트의 변동성 돌파 전략은 현재 시장의 상황을 가리지 않고 시작 가능하고, 대폭락의 구간에서도 안정적으로 낮은 MDD를 유지하며 결과적으로는 자산을 우상향 시킨다. 단순히 높은 수익을 기록하는 것 뿐 아니라 그 과정이 편안하여 삶의 질 향상까지도 얻을 수 있다.

So you have finished reading the 변동성 돌파 전략 끝판 왕 topic article, if you find this article useful, please share it. Thank you very much. See more: 변동성 돌파 전략 후기, 변동성 돌파 전략 단점, 변동성 돌파 전략 하락장, 변동성 돌파 전략 수익률, 변동성 돌파 전략 종목, 변동성 돌파 전략 코드, 변동성 돌파 전략 영어, 파이썬 변동성 계산

Leave a Comment