필자가 운용중인 시스템은 주식을 대상으로 하는것 몇개와 추세추종 선물 시스템 2개, 추세추종 옵션의 V1 시스템 몇개 그리고 V2 시스템 몇개가 있습니다.
이중 V2 시스템중에서도 현재 블로그에 공개하고 있는 3개 시스템에 대해서 이야기를 풀어보고자 합니다.
우선 아이디어의 도출 부분은 이전부터 나와 있었지만 C# 이라는 프로그래밍 언어를 새로이 학습하고 충분한 생산성을 확보할 때까지는 엄두를 내지 못하다가 2015년 말부터 조금씩 밑그림을 그리며 서서히 퍼즐을 맞춰나가기 시작했습니다.
상세한 내용은 알고리즘이 노출 될 수 있는 부분이라 자세히 적을 수 없는 점 양해 바라고요.
아이디어를 기반으로 시뮬레이션을 몇차례 수행하면서 최초 5~8천만원선의 성과를 최적화 과정을 통해 향상 시키고자 인자값을 추가하고 또 탐색 범위에 변화를 줌으로써 약 20~40%가량 향상된 성과의 시스템을 구현할 수 있었고 이를 운용함에 있어서 추가 아이디어가 번뜩이는 바람에 몇차례의 추가 시뮬레이션을 수행하여 현재의 성과를 낼 수 있는 알고리즘을 고안하게 되었습니다.
최초 시뮬레이션으로부터 실거래로 이어지기까지 약 반년가량의 시간동안 불철주야로 작업을 했었는데요.
본 블로그의 포스팅을 위해 초창기 시뮬레이션에 이용되었던 프로그램을 현재의 데이터를 입력하여 시뮬레이션을 구동 해보았고 그 결과는 아래와 같습니다.
▲ 노란색 칠 된 부분은 옵션 만기일 또는 만기일 부근의 성과에 대한 특성을 찾고자 별도로 표기 해둔 부분인데 그 이유는 옵션 만기일에는 원월물(당월물이라고도 표현함) 옵션은 시간가치가 급격히 감소하여 흔히 얘기하는 프리미엄이 시시각각으로 깎여나가고 지수선물의 작은 변동에도 옵션은 매우 민감하게 반영하여 급등락이 연출되는데 그런 흐름속에서 시세를 취할 수 있는지를 파악하기 위함입니다.
▲ 현재 운용중인 버전과 상당히 다른 모습이 보이는데 첫째로는 거래를 쉬는날이 거의 없이 대부분의 거래일에 참여하여 매매를 했다는 것이고 두번째로는 만기일의 성과가 들쑥 날쑥하기에 위에서 얘기한대로 옵션 만기일에 큰 성과를 거두지 못하고 있는 모습도 보입니다.
▲ 만기일뿐만 아니라 차월물 옵션의 거래가 활발해지는 만기일이 지난뒤로 며칠 동안에도 손실이 빈번함을 알 수 있습니다.
▲ 시뮬레이션과 실거래의 슬리피지 조건등은 모두 동일하며 실제 오차가 1원 미만으로 날 정도로 시뮬레이션의 결과가 잘 반영됩니다.
▲ 위 데이터가 첫 시뮬레이션 데이터는 아니나 이런 데이터를 가지고 어떻게 필터링과 최적화를 하여 성과를 어느정도 향상 시킬 수 있는지 보여주기 위한 예제로만 보시기 바랍니다.
▲ 최적화를 거친 결과표이자 현재 운용중인 시스템의 성과이기도 합니다.
▲ 시뮬레이션과 실거래의 조건이 동일하며 시세에 영향을 주지 않는 진입이기는 하나 어디까지나 글을 올리기 위한 예제로써만 봐주시기 바랍니다.
▲ 최적화를 거치고 난 후 지난 2017년 11월 09일의 옵션 만기일에 기록한 손실이 옵션 만기일에 기록한 유일한 손실 거래일이고 이외 만기일은 거래가 없거나 모두 수익을 기록했습니다.
▲ 이전 성과 대비 적게 향상된 것이 V2 13-64로 13.70% 성과가 향상 되었고, V2 10-72는 50.45%의 성과가 향상 되었고, V2 7-72는 64.23% 성과가 향상되었습니다.
▲ 만기일 이후 다음 만기일까지 잔존일수가 많이 남은 영향으로 고평가된 옵션들에 대해서는 거래하지 않도록 처리 함으로써 손실 거래를 제법 줄일 수 있었고 실제 "BEFORE"의 경우에서는 거의 매일 거래하던 것에서 최적화 이후에는 만기일 이후 옵션이 저평가 될 때까지 기다림으로써 전체 거래 빈도가 감소함은 물론이고 손실 거래가 많이 줄어들어 전체 199거래일중 절반 이상은 거래하지 않고 놀고 있는 모습인데 이는 "V2 성과 합산" 카테고리에서 거래가 없었던 날들이 많은것에서도 알 수 있는 내용입니다.
구체적으로 어떤 기준으로 최적화를 하였는지에 대한 부분은 필자의 알고리즘에 직접적으로 해당되는 부분이라 이곳에서 언급할 수 없지만 작은 아이디어 하나만으로도 충분히 성과를 크게 향상 시킬 수 있기에 늘 시장에 시선을 두고 데이터를 관찰하여 어떤 요소들이 시세에 직접적으로 연관성을 가지며 무엇을 개선 시켜야 운용 가능한 수준의 시스템을 취할 수 있을지 고민하고 또 고민해야 합니다.
현재 운용중인 다른 시스템도 각각 조건값들을 달리한 여러번의 시뮬레이션과 최적화 과정을 모두 거쳤으며 현재에도 잘 운영되고 있습니다.
만약 시장에서 직접 투자로 수익을 거둘 수 있는 알고리즘이 있다면 매매 행위가 HTS, MTS를 이용한 수동거래는 자동거래로 바꾸고 난 뒤 직접 시장과 종목을 대상으로 거래하기 위해 고민하고 행위하는 시간을 줄이고 더욱 나은 알고리즘을 발굴하는데 시간을 보내야 합니다.
성과로 이어지는 마땅한 알고리즘이 없다면 거래 행위 자체를 멈추고 아이디어를 잘 가다듬고 시뮬레이션과 최적화 과정을 통해 성과가 날 수 있는 알고리즘을 완성하는데 주력하지 않으면 시장에 유동성을 공급하고 고수들의 먹잇감 그 이하도 그 이상도 아니게 될 것입니다.
독자분들의 현재 모습은 어떤지 성찰해보고 나아가서는 어떤 거래를 할 것인가 혹은 어떻게 투자 할 것인가에 대해 깊은 고민을 한번쯤 해보시길 권해드립니다.
호가창에서 뵙겠습니다.