EMA Cross 전략 백테스트

2023. 6. 30. 20:10투자

오늘은 EMA(지수 이동평균선)을 활용해서 전략을 짜봤어요.

이것 저것 실험해보다 지쳐서 그냥 추세를 무지성 추종하면 어떨까라는 생각에서 나온 전략입니다.

1. 가격이 20일 EMA 상향/하향 위/아래에 있을 때 지속적으로 Long/Short 진입 신호

2. 10일 EMA 하향/상향 돌파시 청산

3. 시드는 170개(전체 future market 종목 개수)로 나누어 투자

CAGR 40%에 MDD 30%... 왜 22년 하락장에는 수익이 안날까요?

Short은 수익이 났는데, Long이 수익이 안났네요. 들어가지 말아야 할 때 들어간 게 잘못인 것 같습니다.

일자를 바꿔보면 어떨까요?

진입 10일 이동평균선, 청산 5일 이동평균선으로 바꿔봤습니다.

이번에는 진입에는 20일 이동평균선, 청산에는 5일 이동평균선으로 바꿔봤습니다.

비슷한데 약간 더 나은듯합니다.

아까는 하락장일 때 Long으로 들어가서 손해를 봤죠? 상승장에만 Long을, 하락장에만 Short을 들어가는 건 어떨까요? 

코인시장의 대부분을 차지하는 알트코인들은 대장인 비트코인의 시세를 따라가는 성격이 있습니다. 비트코인이 오르면 보통 알트코인도 따라 오르고, 비트코인이 내리면 알트도 곧이어 내리는 경향이 있는 것이죠.

이번에는 비트코인 20일 이동평균선이 위일 때만 long 진입, 아래일 때만 short 진입으로 바꿔봤습니다.

추가로, Whipsaw를 피하기 위해 가격이 20일 이동평균선 위, 비트 20일 이동평균선위 일때는 5일 이동평균선을 하향돌파해도 청산하지 않고 기다리는 식으로 매매를 진행했습니다.

20년도부터는 비슷한데, 22년도 백테스트에서 유의미한 결과가 나오기 시작했네요.

그런데 왜 아직 20년도 22년도 수익이 큰 차이가 날까요?

20일 이동평균선, 10일 이동평균선으로 바꿔봤습니다.

이거였네요.

이번에는 30% trailing 손절매를 넣어보겠습니다.

30%가 너무 작았나봐요. 50%는 어떨까요? 이번에는 trailing stop도 빼고, 절대값 50% 이하로 해볼게요.

손절매가 없을 때랑 별 차이가 없는데, 50%는 너무 크네요. 1%도 손절매에 안걸리는 모습입니다.

stoploss를 없애고 레버리지를 2배로 올려볼게요.

CAGR 100~150%에 MDD 23%? 지금까지 본 전략 중 최선인 것 같아요.

청산도 0.5%에 불과합니다. 하지만 승률은 추세추종 전략이라 낮은 편이네요. 견딜 수만 있다면 최선의 전략인 것 같습니다.

레버리지를 3배로 올려볼게요.

수익과 MDD 모두 비례해서 올랐는데, 22년도 백테스트는 거의 MDD만 올랐네요.

청산비율이 이제 유의미하게 2%로 올랐습니다.

통크게 레버리지 10배는 어떨까요?

MDD 80%... 쉽지 않은 것 같습니다. 10%만 반대 방향으로 가도 청산 당해서, 실전에서 하기는 힘들 것 같네요.

그렇다면 최적 레버리지 비율은 얼마일까요?

켈리 공식을 써서 계산해 보겠습니다.

켈리 공식은 수학자 켈리가 만든 공식으로, 승률과 수익률을 기반으로 1번 투자에 얼마만큼 금액을 넣어야 하는지 정해줍니다. 자세한 내용은 요기를 참조하세요. https://namu.wiki/w/%EC%BC%88%EB%A6%AC%20%EB%B0%A9%EC%A0%95%EC%8B%9D

 

켈리 방정식 - 나무위키

일반적인 p의 확률로 승리시 b를 얻고 q의 확률로 패배시 a를 잃을 경우 아래의 공식이 만들어진다. r=(1+fb)p×(1−fa)q\displaystyle r=(1+fb)^{p} \times (1-fa)^{q}r=(1+fb)p×(1−fa)q양 변에 로그를 취하면,log⁡r=pl

namu.wiki

실제 계산은 여기를 활용했습니다.

https://fical.net/ko/%EC%BC%88%EB%A6%AC-%EA%B3%B5%EC%8B%9D-%EA%B3%84%EC%82%B0%EA%B8%B0

 

켈리 공식 계산기 - Fical.net

켈리 공식 계산기는 주식이나 암호화폐의 최적의 투자 비율을 계산하는 도구입니다.

fical.net

기하평균을 활용해 지속적인 투자를 할 때의 최적 베팅량을 구해줍니다.

 

 

Leverage 1일 때는 

20년도가 kelly long = 277.21%, kelly short = 233.33%

22년도가 kelly_long = 53.57%, kelly_short = 388.08%

Leverage 2일 때는

20년도가 kelly_long = 139.3%, kelly_short = 104.3%

22년도에는 kelly long = 27.25%, kelly short = 187.56%이네요.

대략 2배로 계속 돌리면 될 것 같습니다.

 

최종 전략은

1. 가격이 20일 EMA 상향/하향 위/아래에 있을 때 지속적으로 Long/Short 진입 신호

2. 10일 EMA 하향/상향 돌파시 청산(단 1번이 유효할 땐 무시)

3. 시드는 170개(전체 future market 종목 개수)로 나누어 투자

4. 손절매 없음

5. 레버리지 2배

결론적으로 지금 2주 (6월 17일 ~ 6월 30일)까지 레버리지 2배로 돌리고 있는데, 한 3.6%정도 수익이 나고 있네요. 나쁘지 않은 전략인 것 같아 소개해드립니다.