MBY_LAB custom_top_html:no
default debug random = 3 / type = READ / detected = READ

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

퀀트개발일지-배경.png

 

이번 글에서는 앞서 예고한 바와 같이 시스템 트레이딩 로직에 따른 매수/매도 중 발생하는 매수 / 매도 가격에 대한 이야기를 나누어 보고자 한다.

본격적인 이야기를 시작하기 전에 우리는 슬리피지(slippage)에 대한 개념을 정립 할 필요가 있다. 이 슬리피지에 대한 개념은 앞선 승률과 손익비와 같은 맥락으로, 대부분의 투자자들이 인지하고 있지 못한 개념이다.

슬리피지(slippage)

슬리피지는 slip (미끄러지다) 와 page(페이지,장)가 결합된 단어로, 그 의미를 트레이딩 관점에 비추어 표현해보자면, 매수 / 매도 하고자 하는 특정 가격에 매수 / 매도를 하지 못하고 미끄러진 범위 정도로 표현할 수 있겠다.

내가 5,000원을 소비하여, 500원에 치토스 10봉지를 사고 싶은데, 시장에는 500원에 치토스 8봉지, 550원에 치토스 2봉지가 있다면 이때 살 수 있는 치토스는 총 500원에 8봉지 (4,000원) 550원에 1봉지 총 9봉지 밖에 사지 못하게 될 것이다. 이때 발생한 슬리피지라 함은 1) 내 예상과 다른 가격에 구매한 치550원의 치토스 1봉지와 2) 내 계획과 다르게 구매하지 못한 치토스 1봉지에 따른 예상 수량 미달에 해당한다.

오더북1.png

실제로 이러한 슬리피지는 꽤 자주 나타나게 된다. 위 그림은 2020년 4월 3일 오후 12시 51분에 캡쳐한 비트코인의 실시간 오더 북을 나타내며, $ 6,814.9에서 $ 6,811.6 까지의 총 매수 주문량은 0.8+0.2+0.0475+0.6205+0.5805+0.4499+0.2 = 2.89844 개이며, 만약 내가 비트코인 1개를 $ 6,814.9에 매도 할 경우 실제 해당 가격에 체결되는 수량은 0.8개에 해당하며, 매도 가격을 직접 입력한 지정가 매도 주문의 경우에는 0.2개의 매도 실패 슬리피지를, 해당 가격에 시장가 매도 주문을 한 경우에는 매도 하려는 주문 수량 1개를 충족하는 $ 6,813.9 까지 매도하게 되며, 이때 발생하는 슬리피지는 (6,813.9–6,814.9)/6,813.9 * 100 가 된다.

이렇듯 시장에서 내가 원하는 가격에 거래를 체결할 수 없는 경우는 상당히 많이 나타나고 있으며, 그 때 발생하는 슬리피지는 나의 (매수 또는 매도 벽) / 나의 자산 < 1 이 되는 경우 더 큰 비율로 나타나게 된다.

“그렇다면, 현실적인 매수/매도 가격은 어떻게 설정해야 될까?”

지금부터 몇가지 실험을 해보며, 해답을 찾아보겠다.

이 실험에서 사용 되는 트레이딩 로직은 중기(120), 장기(200) 이동평균선의 수렴과 발산에 의한 것으로, 트레이딩 뷰에서 지원하는 파인스크립트 언어로 작성된 코드는 다음과 같다.

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mby_lab

//@version=4
study(“이동평균선 전략”, overlay=true)

//이동평균선 calculate
pine_sma(x, y) =>
sum = 0.0
for i = 0 to y — 1
sum := sum + x[i] / y
sum
//
//이동평균선 선언/출력
sma_120 = pine_sma(close,120)
sma_200 = pine_sma(close,200)
//
//매수 & 매도 조건설정
signal_g = crossover(sma_120, sma_200) //매수조건 : 120,200일 이동평균선 골든크로스
signal_b = crossunder(sma_120, sma_200) //매도조건 : 120,200일 이동평균선 데드크로스
//
//매수/매도 타점 입력
var target = 0. //타겟 초기 값 = 0 선언
target := signal_g ? close : signal_b ? close : na //시그널 굳/배드 일경우에만 시가를 입력
//
//출력
plot(sma_120, color=color.red) //120 이평
plot(sma_200, color=color.blue) //200 이평
plot(target, style=plot.style_linebr, color=color.red, linewidth=3, transp=0, title=”target”)
//

떙글2.png

위 차트는 우리가 이번 실험에서 사용할 이동평균선 매매전략을 출력한 것으로, 120 이평선 (빨간 실선)과 200 이평선 (파란 실선)이 데드 크로스를 이뤘을 때 종가는 $ 6965.3 로 나타났다.

여기서 부터 우리의 실험은 시작된다. 1) $ 6965.3에 시그널이 떴을 때 지정가 매수로 매도 하는 방법과 2) 시그널이 발생 시 시장가로 매도 하는 방법 중 어떤 선택이 가장 원하는 수량을 원하는 가격에 소화 할 수 있었을까?

이 실험을 확인하기 위해서는 당시 실시간 오더북을 확인해 보면 가장 좋으나, 그 데이터를 가져올 방도가 없기 때문에 우리는 그 시점의 주가 흐름과 볼륨을 근거로 1) 지정가 매도, 2) 시장가 매도 중 어떠한 선택이 더 현실적인지 판단해보기로 한다.

떙글3.png

우선, 해당 시그널 발생 후 실제 주가는 최대 42.57%의 하락률을 보여주었으니, 이 매도 포지션 전략은 유효한 전략임을 뜻한다.

떙글4.png

앞서 일봉에서 확인한 매도 트리거가 발생한 시점은 2019년 11월 24일 09:00으로, 실제 매도 가격이 나타난 시각은 이보다 한참 후인 25일 08:00이다.

(이러한 시간적 괴리는 각 타임 프레임에 의한 것으로, 본 실험에는 영향을 주지 않는 것으로 판단한다.)

시간적 괴리가 타임 프레임에 의한 것일지라도, 우리는 실제 매도 가격이 출현한 25일 08:00에 나타난 엄청난 매도 볼륨 속에 과연 “지정가" 매도로 원하는 트레이딩을 진행할 수 있었을까?

다음 시간에는 위의 실험결과에 대해서 좀 더 자세한 이야기 나누어 보도록 하겠다. (사실, 세로로 긴 게시글은 너무 길면 집중력과 가독성이 떨어져서… 다음 게시글로…)

 

 

 

3,766

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 Views11806 Votes1 file
    Read More
  2. 재미있는 퀀트 개발일지10

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

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

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

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

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

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

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

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

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

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

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