요즘 자동매매 조건검색식을 튜닝 중이어서 매매일지는 잠시 중단한 상태입니다. 어떤 포스팅을 하면 좋을까 생각해보다가 자동매매 프로그램을 개발할 때 도움이 될 만한 매도 전략에 대해서 적어볼까 합니다.
오늘은 트레일링 스탑(Trailing Stop, TS) 매도를 어떻게 개발할 수 있을지 세 가지 방법에 대해서 설명해보도록 하겠습니다
트레일링 스탑 (Trailing Stop)
트레일링 스탑이란, 매수가 이후 고점 대비 일정 수준 하락 시 매도하는 전략입니다. 즉, 특정 타점에서 매도를 하는 것이 아니라 고점을 찍고 하락할 때 최대한 고점 근처에서 매도할 수 있는 전략이죠. 하지만 시장의 변동성으로 인해 매번 최고점 부근에서 매도가 되지는 않습니다. 상승과 하락을 반복하며 우상향 시 중간 고점에서 매도가 될 수도 있는 것이죠. 그렇기 때문에 자동매매 프로그램을 개발할 때, 트레일링 스탑을 어떻게 구현하느냐에 따라 수익에 차이가 발생할 수 있습니다. 아래와 같은 주가 흐름을 예시로 하여 트레일링 스탑 구현 방법에 따른 매도 시점의 차이를 알아보도록 하겠습니다.
기본 전략
위에서 설명했듯이 고점 대비 하락 시 매도하는 것이 트레일링 스탑이죠. 그렇다면 아래와 같은 트레일링 스탑 전략을 구현한다고 가정해봅시다.
- 1차 TS : 고점에서 -1% 하락 시 30% 매도
- 2차 TS : 고점에서 -2% 하락 시 50% 매도
- 3차 TS : 고점에서 -5% 하락 시 100% 매도
이 경우, 위와 같은 주가 흐름 상 다음과 같이 매도가 이루어집니다. 이 종목은 매수 이후 최고점이 +15%입니다. 처음에 생각했던 트레일링 스탑 전략은 15%를 찍고 하락할 때 매도가 되는 것이었겠죠. 하지만 중간에 일시적으로 하락하는 지점이 발생하는데, 이로 인해 생각보다 이른 시점에 트레일링 스탑이 발동하게 됩니다.
매수 후 처음 1%까지 상승한 뒤 바로 -2%까지 하락하는데, 이 구간까지의 고점은 +1%이고 고점을 기준으로 보면 -3% 하락한 것이죠. TS 전략을 다시 한번 보겠습니다. 1, 2차 매도 전략이 고점 이후 -1%, -2% 하락 시 매도였는데 이 구간이 조건에 딱 맞아떨어지네요. 그렇기 때문에 여기에서만 두 번의 매도가 발생하게 되고, 심지어 손실을 맞이하게 됩니다. 주가는 우상향 중인데 정말 슬픈 일이죠.. 그나마 다행인 점은 -5% 하락하는 구간이 최고점인 +15% 지점을 찍은 후라는 것이네요. 물론 처음 고점(+1%) 지점에서 우하향 하는 차트였다면 더 큰 손실을 막을 수 있기 때문에 아쉬운 점만 있는 것은 아닙니다.
그렇다면 트레일링 스탑으로 어느 정도 수익을 보장할 수 있는 방법엔 어떤 것이 있는 지 다음 챕터에서 보겠습니다.
목표가 지정 전략
기본 전략에서는 매수 이후 단순히 '고점'을 기준으로 트레일링 스탑을 했다면, 이번에는 '목표가 이상의 고점'에서 매도하는 전략을 알아보겠습니다.
목표가를 지정하는 형태의 트레일링 스탑 전략을 가정해봅시다.
- 1차 TS : 5% 이상에서 -1% 하락 시 30% 매도
- 2차 TS : 10% 이상에서 -2% 하락 시 50% 매도
- 3차 TS : 10% 이상에서 -5% 하락 시 100% 매도
차이점이 보이시나요? 5%에 도달하지 못한 상태에서 하락 시에는 매도하지 않겠다는 것이죠. 이 방법은 만약 본인이 만든 매수 전략 또는 검색식으로 포착된 종목이 대체적으로 N% 이상 상승하거나, 또는 매수 직후 일시적인 하락을 맞이한 뒤에 상승하는 경우가 많다면 목표가를 지정하는 형태의 트레일링 스탑 전략이 유리할 수 있습니다.
어떻게 매도가 이루어지는 지 살펴보겠습니다. 1차 TS를 5% 이상에서 하락 시로 설정했기 때문에, 처음 하락 구간(1% > -2%)에서는 트레일링 스탑 매도가 일어나지 않습니다. 여기서 기본 전략과 차이가 나타나네요. 이후 5%을 찍고 3%로 하락하는 구간에서 이 전략의 1차 매도가 발생하게 됩니다. 2차와 3차 TS는 10% 이상에서 하락 시 매도하는 설정이기 때문에 아래 차트 상 최고점인 15%를 찍은 이후 두 번의 매도가 일어납니다.
이렇게만 보면 수익을 가져다주는 훌륭한 전략인 듯 하지만, 우리는 항상 '하락'을 대비해야 하기 때문에 반드시 손절 전략과 함께 사용하는 것이 안전합니다.
이익 구간에서만 매도 전략
이 방법은 기본 전략과 목표가 지정 전략의 중간 지점에 있는 듯한 전략입니다. 말 그대로, 트레일링 스탑 조건에 부합하는 시점에 '이익' 상태인 경우에만 매도를 하겠다는 전략입니다. 역시 매도 전략 예시와 차트로 살펴보겠습니다. 기본 전략에서 '이익 구간'이라는 조건만 추가한 것입니다.
- 1차 TS : 고점에서 -1% 하락 시 30% 매도 (이익 구간인 경우)
- 2차 TS : 고점에서 -2% 하락 시 50% 매도 (이익 구간인 경우)
- 3차 TS : 고점에서 -5% 하락 시 100% 매도 (이익 구간인 경우)
이렇게 트레일링 스탑을 구현하는 경우, 다음과 같이 매도가 이루어집니다. 우선, 기본 전략에서 1, 2차 매도가 이루어졌던 구간을 보겠습니다. 1% 찍고 -2%까지 하락할 때, 1차와 2차 TS 조건에 부합하게 됩니다. 하지만 매도하는 지점이 0%, -2%이기 때문에 이익 구간이 아니게 되므로 이 전략에서는 매도가 이루어지지 않습니다.
다음 구간을 보겠습니다. 5%까지 상승한 후 3%로 하락합니다. 이 경우도 마찬가지로 1차와 2차 TS 조건에 해당되는 구간입니다. 하지만 여기에서는 하락한 지점이 각각 +4%와 +3%이기 때문에 이익 구간이라는 조건에 만족하게 되어 매도가 발생합니다. 3차 TS도 마찬가지입니다.
마무리
여기까지, 자동매매 개발 시 구현해볼 수 있는 트레일링 스탑 전략에 대해 알아봤습니다. 모든 차트에서 100% 성공적인 전략은 없습니다. 그렇기 때문에 한 가지만 고집하기보다는 여러 형태의 트레일링 스탑 로직을 적용해보는 것이 자동매매 프로그램 개발에 도움이 될 것입니다. 저도 위 3가지 전략을 섞어서 사용하고 있는데, 적당한 하락 방어와 수익 보장이 이루어져 나름 만족하고 있습니다. 물론 다양한 지표와 함께 사용하면 더 복잡하고 섬세한 전략 구현이 가능하지만, 때로는 심플한 전략이 나을 때도 있더라고요. 자동매매 프로그램 개발에 관심이 있으시다면, 구현할 수 있는 전략이 무궁무진하기 때문에 여러 가지 방법을 찾아보고 실험해보는 것도 재미있을 것 같습니다.
오늘의 포스팅을 여기서 마치며, 모두 성투하세요 :)