MBY_LAB custom_top_html:no
default debug random = 0 / type = READ / detected = READ
2021-01-19 18:54:49

재미있는 퀀트 개발일지6

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 위로 아래로

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 위로 아래로

재미있느.png

 

안녕하세요. 오랜만에 글을 씁니다.

몇달만인지 기억도 가물가물하네요.

하지만 오늘부터, 이전에 쓰던 미디엄글을 이관하는 작업을 다시 시작을하고.

재미있는 퀀트 개발일지를 곧죽어도 완성시키려고 합니다.

많은관심부탁드립니다.

---

오늘은 시간에서 만들었던, 이동평균선 매매 모델의 신뢰도를 높이기 위한 몇가지 요소를 추가하여, 손익비와 승률을 실제로 트레이딩 가능하게 끔 디벨롶 하는 시간을 갖어 보겠습니다.

아마도… 이 모델 발전시키기- 파트는 좀 길어질지도 모르겠습니다.

1.png

지난 시간에 만들었던 모델은 두가지 이동평균선의 수렴과 발산을 활용한 모델로 상대적으로 기간이 짧아 최신 추세의 흐름을 잘 반영하는, 9일과 15일 이동평균선을 사용하였습니다.

실제 위의 전략은 비트코인 처럼 긴 기간 우상향 하고 있는 종목의 경우 스윙 관점에서 수익을 기대해 볼 수 있는 모델이지만, 장기적으로 하락 추세에 놓인 종목의 경우 수익을 기대해 볼 수 없는 무효한 전략이었습니다.

따라서, 우리는 하락장에도 최대한 수익을 낼 수 있는 모델로 위 전략을 변신시킬 생각입니다.

위 전략을 보다 완성도 있게 만들기 위해서는 단기적 주가의 흐름보다 상위 프레임의 장기적 주가 흐름이 안정적인 수익을 만들 수 있다. 라는 타임 프레임에 대한 개념을 짚고 넘어가야 합니다.

타임 프레임 (Time Frame)

2.png

“타임 프레임”이란 말 그대로 우리가 알고 있는 월봉, 주봉, 일봉, 1시간 봉 따위를 말합니다. 하지만, 지금부터 우리는 타임 프레임이란 이러한 시간 프레임 속에서 단기적 흐름이 장기적 방향성에 영향을 주지 못할 경우, 장기 프레임의 흐름을 따라간다-라는 개념을 포함시킨 단어로 사용 하겠습니다.

“주가는 단기적으로 큰 변동성을 보일지라도, 장기적 흐름에 영향을 주지 못한다면,장기적 흐름을 따라간다.”

이 원리는 큰 강물을 거슬러 올라가는 연어가 강물을 거슬러 올라가기 위해서 강물의 물살보다 큰 힘을 내야하는 원리로 비유할 수 있습니다.

3.png

위 그림에서 좌측은 비트코인의 일봉 프레임, 우측은 한시간 프레임을 나타내며, 위 그림에서 약 13%의 주가 하락이 발생 하였지만, 주가는 이후 반등을 보여주며, 일봉의 주가 흐름을 유지한 것을 확인 할 수 있겠습니다.

이러한 “상위 프레임의 주가 흐름 유지”는 유지하고 있는 흐름과 동일한 방향의 이동평균선에 신뢰를 불어 넣는데, 위의 그림에서 주황색 이평선이 나타내는 것이 그것입니다.

(위 그림을 토대로… 바라보건데…아마, 비트코인은 상대적으로 장기 이동평균선인 빨간 이평선과 곧 골든 크로스를 이루며, 추가 상승의 모습을 보여주겠네요…)

이러한 단기 프레임에서 나타나는 주가의 등락은 “노이즈 (noise)” 로 해석되고 거래량에 따라 신뢰할 수 있는 의미 있는 움직임인지 평가 하여, 지표로 사용할 수도 있습니다. (VWAP)

따라서 우리는 기존 9일, 15일 이동평균선 외에 장기적 흐름을 판별 할 수 있는 120과 200일 이동평균선을 추가하여, 장기 추세에서 현재 주가의 위치를 판별하고, 그에 따라 시그널 조건을 보완해 보도록 하겠습니다.

4.png

먼저 아래의 코드를 추가하여 120, 200일 이동평균선을 보라색과 주황색으로 출력 하였으며, 골든 크로스는 파란색, 데드 크로스를 주황색으로 표현 하였습니다.

signal_g_l = crossover(sma_60, sma_120) //Signal Good Long
signal_b_l = crossunder(sma_60, sma_120) //Signal Bad Long

bgcolor(signal_g_l ? color.blue : signal_b_l ? color.orange : na)

이동평균선 조건에 따른 주가 흐름 판단하기

자, 이제 기본적인 준비가 끝났습니다.

이제부터는 장기적 흐름속에서 단기적 주가 변동이 긍정적 움직임을 보여줬을 때- 를 필터링 하기 위해 지금까지 우리가 출력한 이동평균선들과 주가가 어떠한 움직임을 보여주고 있는지 관찰하고, 최종적으로 주가 상승/하락이 예측되는 지점의 조건을 선언해보겠습니다.

5.png

가장 먼저 120, 200 이동평균선의 위치에 따라 배경색을 출력하여, 120, 200 이동평균선이 골든 크로스, 데드 크로스를 유지 중 일때, 9일과 15일 이평선과 주가의 흐름을 관찰해보겠습니다.

6.png

 

7.png

 

우선 120, 200일 이동평균선이 골든 크로스를 유지 중 인 기간동안 우리가 최초 구상 했던 9일, 15일 이동평균선을 활용한 전략이 유효한지 나스닥 차트에서 시뮬레이팅을 돌려 본 결과! “아차, 뭔가가 잘못되었다.” 라는 것을 알 수 있겠습니다.

예 그렇습니다. 위 전략은 아무리 필터링을 거치더라도, 로직 자체가 나스닥에서 전혀 유효하지 않습니다. 다시, 기준이 되는 단기 이동평균선을 찾아 보기로 합니다.

8.png

기존의 단기 이동평균선 9일과 15일 이동평균선 전략은 나스닥에 맞지 않으니, 우리는 지금부터 6일과 60일 이동평균선을 코어 로직이 되는 이동평균선으로 삼고, 기존의 60일 120일 이동평균선을 120일과 200일 이동평균선으로 수정하겠습니다.

🔥🔥 참고사항 : 우리가 시뮬레이팅 과정을 거쳐 교체한 6일 60일 이동평균선은 그저 결과만 좋게 만드는 값을 인위적으로 “맞춘"것이 아니라, 실제 거래가 이루어 지고 있는 의미있는 이동평균선을 시뮬레이팅 과정을 통해 “찾은" 것 입니다. 이 이동평균선의 개념은 앞서 작성한 글을 통해 이해하고 오시기 바랍니다.🔥🔥

후! 글이 엄청나게 길어지는군요!!!… 이번글은 여기서 마무리 하는 것으로 하고, 다음 글에서는 장기 이동평균선의 상태를 나타내는 status 클래스를 새로 추가하여, 각 이동평균선의 위치에 따른 조건을 만들어 전략을 구체화 해보도록 하겠습니다.

  • 지금까지 업데이트 한 코드는 기존 MA_Strategy 코드의 “step 2”브랜치에 업로하였습니다.

https://github.com/mbylabofficial/mbylabofficial/blob/step2/MA_Strategy

 

5,150
TAG •

MBY_LAB님의 서명

MBY_LAB

마켓 프라이스를 데이터 알고리즘을 통해 디지털 자산 트레이딩 전략 정보를 제공하는 MBY_LAB입니다.

실시간 트레이딩 시그널 봇, 마켓 프라이스 데이터 통계 제공.

 

MBY_LAB Channel : https://t.me/mbylab_official

Medium : https://medium.com/@mby_lab

Quant service : https://drive.google.com/drive/folders/1DXY_eeUz7QkCjWqXDaCBVbF1msjObmp6?usp=sharing

 

대표 : 정 순용

한경닷컴 컬럼리스트, 인베스팅 닷컴 코리아 애널리스트, 블록체인 미디어 노더, 티코노미 컬럼리스트

암호화폐 거래소 상장심사 담당, 프로젝트 백서 제작 등 암호화폐 시장 경력 4년차.

 

댓글 0
default debug random = 0 / type = READ / detected = READ

MBY_LAB

재미있는 퀀트 이야기

  1. 안녕하세요 엠비와이랩입니다.

        안녕하세요. 엠비와이랩입니다. 엠비와이랩은 17년도부터 트레이더 활동과 이후 인베스팅 닷컴 코리아, ...
    Date2021.01.19 ByMBY_LAB Reply0 Views8772 Votes1 file
    Read More
  2. 재미있는 퀀트 개발일지10

    안녕하세요! 이번시간에는 이동평균선의 수학적, 그리고 이론적 개념, 매매기법을 담은 “This is Moving Av...
    Date2021.01.19 ByMBY_LAB Reply0 Views9023 Votes0 file
    Read More
  3. 재미있는 퀀트 개발일지9

    이번 시간에는 직전 공유해드린 글에서 확인했던 볼린저 밴드의 넓이 (Bollinger Bands Width), “가격 변동...
    Date2021.01.19 ByMBY_LAB Reply0 Views8913 Votes0 file
    Read More
  4. 재미있는 퀀트 개발일지8

    재미있는 퀀트 개발일지 8편 입니다. 이번시간에는 8 편에이어 Type B, Type C에 대한 조건을 살펴보도록 ...
    Date2021.01.19 ByMBY_LAB Reply0 Views8833 Votes0 file
    Read More
  5. 재미있는 퀀트 개발일지7

    오늘은 투자 미팅을 두건이나 다녀온 후 집에서 맛있는 음식 행복하게 먹고 늦은 시간에 글을 적어봅니다. ...
    Date2021.01.19 ByMBY_LAB Reply0 Views8843 Votes0 file
    Read More
  6. 재미있는 퀀트 개발일지6

      안녕하세요. 오랜만에 글을 씁니다. 몇달만인지 기억도 가물가물하네요. 하지만 오늘부터, 이전에 쓰던 ...
    Date2021.01.19 ByMBY_LAB Reply0 Views8760 Votes0 file
    Read More
  7. 재미있는 퀀트 개발일지5

      퀀트 개발일지 5번째 시간입니다. 5번째 글까지 도입부에 해당하고 이번 글 부터 본문에 해당 하겠네요. ...
    Date2020.08.04 ByMBY_LAB Reply1 Views20093 Votes2 file
    Read More
  8. 재미있는 퀀트 개발일지4

      이번 글은 지난 시간 예고했던, 1) 주가가 과연 이동평균선으로 회귀할까? 에 대한 이야기와, 2) 간단한 ...
    Date2020.07.29 ByMBY_LAB Reply0 Views20915 Votes4 file
    Read More
  9. 재미있는 퀀트 개발일지 3

    시작하기 전에…제 게시글의 말투나 어조는 그때그때 달라질 수 있음을… 너그럽게 이해해주시면 감사하겠습...
    Date2020.07.27 ByMBY_LAB Reply0 Views20732 Votes3 file
    Read More
  10. 재미있는 퀀트 개발일지2

        이번 글에서는 직전 글에서 이야기하던, “매수/매도 트리거 발생 시, 시장가격에 매수하는 것과 지정가...
    Date2020.07.25 ByMBY_LAB Reply0 Views20612 Votes2 file
    Read More
  11. 재미있는 퀀트 개발일지 1

      이번 글에서는 앞서 예고한 바와 같이 시스템 트레이딩 로직에 따른 매수/매도 중 발생하는 매수 / 매도 ...
    Date2020.07.23 ByMBY_LAB Reply0 Views20923 Votes3 file
    Read More
  12. 안녕하세요! MBY_LAB입니다.

    안녕하세요. 마켓 프라이스 데이터를 통해 디지털 자산 알고리즘 트레이딩 서비스를 하는 MBY_LAB입니다. ...
    Date2020.07.23 ByMBY_LAB Reply1 Views20122 Votes4 file
    Read More
목록
Board Pagination Prev 1 Next
/ 1
default debug random = 0 / type = READ / detected = READ