시뮬레이션2017. 11. 14. 08:35

 

 

2017년 11월 12일 저녁.

 

 

모처럼 시간을 내어 한참을 프로그램 코딩 하고 있는데 한통의 카톡을 받았습니다.

 

 

 


▲ 연락주신분은 본 블로그를 보는 다른 독자분들도 알 수 있는 분이라 알 수 없도록 일부 정보를 삭제 했습니다.


 

전화를 걸어 하는 말씀을 들어보니 언젠가 자동매매 프로그램이라는 것을 구매 했는데 생각보다 성과가 저조하고 답이 보이지 않는다는게 주요 내용이었습니다.

 

 

또 자동매매라는 것, 매매 로직이라는 것, 시뮬레이션이라는 것, 조건식이라는 것에 대해 다양하게 약 30여분간 통화를 했고 간단히 정리된 문답식으로 그 내용을 정리 해보겠습니다.

 

 

독자 질문.

간단한 조건식만으로 자동매매가 가능한가요?

 

필자 답변.

가능할수도 가능하지 않을수도 있습니다만 조건식과 그 세부 조건값에 따라 다를 수 있습니다.

 

 

독자 질문.

간단한 조건식들로는 답이 보이지 않는것 같고 프로그램을 구매했던 @@@ 카페에서 보니 다른 구매자들도 괜찮은 성과를 냈다는 글이 전혀 없는데 무엇이 문제일까요?

 

필자 답변.

자동매매 프로그램에서 선택할 수 있는 조건의 종류와 그 조건들이 가질 수 있는 범위의 한계치 내에서 세밀하게 조절하여 성과를 분석 해볼 수 있는 경우의 수가 워낙 많기 때문에 손으로 일일이 하기에는 어려움이 있기 때문에 현재까지 괜찮은 성과가 나타나지 않았을 수 있으므로 앞으로 무한대의 시간이 주어진다면 언젠가는 찾아낼 수 있으리라 생각합니다.

좋은 성과를 낼 수 있는 조건값을 찾은 사람이 있다 하더라도 굳이 그것을 공개하려고 하지 않을테니 그런 사람이 있어도 보이지 않을뿐입니다.

 

 

독자 질문.

어떻게 해야 주식투자를 통해 좋은 성과를 낼 수 있을까요?

 

필자 답변.

앞서 말씀 드린것처럼 손으로 그리고 수동으로 무언가를 해본다는것에는 물리적인 한계가 있기에 최대한 많은 경우의 수를 대입해보고 찾으면 성공하는 것이고 그렇지 못하면 실패할 수 밖에 없습니다.

어떤 값이 가장 Best의 성과를 낼 수 있는지 시뮬레이션을 해보셔야 합니다.

무언가 사업을 하더라도 머릿속으로 혹은 종이위나 컴퓨터 화면상에서 나름대로 손익 계산을 해보고 성공 가능성을 따져보는데 아무런 대책없이 무작정 실거래로 이렇게도 저렇게도 해본다면 정작 꽤 좋은 성과가 나올 조건값을 찾은 시점에는 운용자금이 바닥난 상태일 수 있습니다.

 

 

독자 질문.

그렇다면 본인이 구매한 프로그램은 쓸모없는 프로그램인가요?

 

필자 답변.

단정적으로 말씀 드릴 수 없지만 수동으로 각 조건값들을 조합하고 세밀한 값 조정을 하며 성과 분석하기 어렵기 때문에 현실적으로는 성과를 내기에 불가능한 수준이 아닐까 생각합니다.

 

 

독자 질문.

앞으로 알고리즘 자동매매 시스템이 대세가 될 것으로 생각되는데 어떻게 준비해야 할까요?

 

필자 답변.

일반적으로 손매매를 하는 투자자라면 각자가 어떤 조건들에 대해 흥미를 느끼고 깊이 연구 해보았는지에 따라 다르겠지만 필자처럼 컴퓨터 프로그램을 이용해서 시뮬레이션을 하고 실거래를 하는 사람들에게는 "흥미"라는 것은 크게 의미를 가지지 않고 다양한 조건값들의 나열 속에서 어떠한 조합들의 결과가 주식투자라는 행위를 영위할 수 있도록 해줄 것인가에 대해 아주 세밀하게 시뮬레이션을 해보는것만이 중요 할 뿐입니다.

최대한의 경우의 수를 입력해서 검토 가능한 모든 상황에 대해 시뮬레이션 해본다면 그중에 충분히 좋은 성과를 보여주는 로직이 나타날 수 있습니다.

때문에 현재 상황에서는 성과가 전혀 나타나지 않고 있는 거래 행위를 모두 멈추고 시뮬레이션 해 볼 수 있는 여건을 직접 구축하여 다양한 상황들을 가정하여 시뮬레이션을 해보고 최적의 조건값을 찾는게 우선이며, 직접 시뮬레이션 시스템을 구축할 수 있는 부분이 아니라면 주변에 실력있는 프로그램 개발자에게 의뢰하여 시뮬레이션 시스템을 구축하는 것이 우선입니다.

최적의 조건값만 찾는다면 그 이후에는 별달리 어려울 점이 없을 수 있습니다.

 

 

제법 긴 시간동안 꽤 많은 내용에 대해 대화 했지만 일부 내용은 반복적인 것도 있기 때문에 대략 위와 같이 정리 할 수 있을 것 같습니다.

 

 

아래에서 필자가 시뮬레이션을 하는 상황들에 대해 조금 더 설명 하고자 합니다.

 

 

 

▲ 시뮬레이션 한 결과 값들이 저장되는 데이터베이스의 모습이며, 거래날짜, 각 조건값들의 조합인 로직명, 거래수량, 거래 종목코드, 진입가격, 진입시각, 진입후고가, 최대 평가손실, 최대 평가수익, 수수료, 손익, 순손익, 청산가격, 청산시각, 거래여부 등을 기록하고 있습니다.

 

 

이런 형태로 저장된 시뮬레이션의 결과가 아주 많지만 가장 끈질기게 물고 늘어졌던 로직에 대해 보여드리면 아래와 같습니다.

 

 

 

▲ 각 조건들에 따라 Tested Version을 달리하여 그 결과들을 저장한 공간들의 집합입니다.

 

 

 

▲ ver1_v1_and_v2 의 경우에는 첫 출발로 간단히 시뮬레이션하여 결과값이 약 132.8만개 저장되어 있습니다.

 

 

 

▲ ver2_v1_and_v2 의 경우에도 비슷한데 약 136.8만개의 결과가 저장되어 있습니다.

 

 

 

▲ ver3_v1_only 의 경우에는 3억 5162.4만개의 결과가 저장되어 있습니다.

 

 

 

▲ ver3_v2_only 의 경우에는 2782만 4160개의 결과가 저장되어 있습니다.

 

 

 

▲ ver4_v2_only 부터는 약간 방향을 달리하여 저장된 갯수가 감소합니다. 약 335만개의 결과.

 

 

▲ ver5_v2_only는 약 596만개의 결과.

 

 

 

▲ ver6_v2_(생략)에는 약 1355만개의 결과

 

 

 

▲ ver7_v2_(생략)에는 약 42.7만개의 결과

 

 

 

▲ ver7_v2_(생략)에는 약 42.7만개의 결과

 

 

(일부는 로직명을 포함하고 있는 내용이 있어서 그림판에서 삭제하였습니다.)

 

 

현재 필자의 사무실에 있는 여러대의 컴퓨터에서는 ver4_v1_only 라는 집합 이름에 대해 약 3주째 시뮬레이션이 진행되고 있으며 결과는 약 8억개 정도 나올 예정입니다.

 

 

또한 앞서 시뮬레이션 카테고리에 포스팅 한대로 AWS (Amazon Web Service = 아마존 클라우드)를 통해 약 일주일째 시뮬레이션이 진행되고 있으며 향후 약 14~16일후 시뮬레이션이 종료 될 것으로 생각하고 결과값으로는 약 15억개를 예상하고 있습니다.

 

 

이처럼 다양한 상황들을 스스로 만들고 구상하여 시뮬레이션을 해보고 그 중 최적의 조건값을 찾는것이 필자의 주된 일입니다.

 

 

물론 필자도 밤을 새워가며 HTS를 붙잡고 손으로 일일이 분석 해보기도 했고 여러 시행착오도 경험 해봤지만 이제는 차트라는 것을 별로 볼 일이 없고 일상 속에서 다양한 경험을 하며 또 다양한 정보들을 접하며 이런것들을 매매에 접목 시켜보면 성과가 어떨까? 라는 생각만 하고 살고 어느정도 범위가 정해지면 시뮬레이션 프로그램을 개발하여 테스트 하는 것만으로도 좋은 수익 로직을 발견해나가고 있습니다.

 

 

위에 공개한 범위 이외에도 다른 카테고리에 대해서 더 많은 결과값을 가지고 있을 정도로 시뮬레이션 해보았고 또 현재도 "보다 더 높이, 보다 더 멀리"를 위해 계속 연구를 하고 있습니다.

 

 

독자분들께서 손으로 한땀 한땀 정성을 들여 1년을 시뮬레이션 해보더라도 컴퓨터의 단 몇분만에 처리하는 정보량을 이길 수 없는 시대에 살고 있습니다.

 

 

좋든 싫든, 선택했든 아니든 상관없이 말입니다.

 

 

이미 좋은 성과를 내고 계시다면 전혀 무관한 얘기일 수 있으나 아직 길이 보이지 않는다면 방향과 방법을 달리해서 시도 해보는것은 어떨까 생각이 듭니다.

 

 

호가창에서 뵙겠습니다.

 

 

 

 

 

Posted by 투자의神