본문 바로가기
동굴 속 정보

개발자라면 주식 백테스팅은 해보자

by 도시형닌자 2021. 5. 23.

[ 백테스팅, Back Testing ]

주식을 접하게 되면 많은 책 또한 접할 수밖에 없다. 어떻게 하면 나의 부를 늘릴 수 있는 것인지를 항상 고민하는데 이 고민을 찾기 위한 가장 쉬운 방법이 바로 책이기 때문이다. 책에서는 다양한 방법을 글과 그림으로 설명을 한다. 이런 모든 말들이 전부 진짜일까? 나는 아니라고 생각한다.

 

책에서 말하는 많은 방법들은 무조건 검증을 해야한다. 검증을 위해서 나의 돈을 계좌에 넣고 시간을 넣어서 검증을 시도한다. 좋은 수익을 가져다줄 수 있다. 하지만 시간이 지날수록 수익은 꺾이게 되고 책에서 말하는 알고리즘은 신뢰를 잃게 된다. 그래서 다른 책을 다시 사서 보고 다시 같은 방법을 통해 검증을 한다. 이런 무한 반복에서 우연히 좋은 결과를 얻을 수 도 있지만 그렇지 않은 경우가 태반이다.

 

백테스팅이라는 것은 과거의 데이터를 바탕으로 현재까지 어떤 알고리즘으로 현상을 지켜보는 방법이라거 볼 수 있다. 백테스팅의 목적은 어떤 요인을 해결하여 미래에 같은 요인으로 고통받지 않게 하기 위함이다. 주식을 백테스팅한다면 문제를 하나씩 해결하고 좋은 값들을 대입해서 풀 수 있다. 이러한 방법을 퀀트라고 한다.

 

 

 

[ 퀀트 ]

퀀트란 특정 알고리즘을 적용해서 매년/매달/매일 매수 및 매도를 반복하는 것이다. 내가 만든 알고리즘을 통해 컴퓨터가 매수와 매도를 반복하면서 수익을 늘리는 방법이다. 내가 만든 알고리즘은 과연 나에게 부를 안내해줄 수 있는지는 내가 투자한 돈이 말해준다. 만약 그럴사한 계획으로 수익이 계속 발생했다면 너무나 감사하지만 그와 반대일 때는 지옥행 급행열차를 탑승하게 된다.

 

내가 만튼 퀀트 알고리즘을 과거 20년까지의 테이터로 검증해서 확인한다면 그나마 나는 마음 놓고 컴퓨터에게 투자를 맡길 수 있지 않을까?  만약 내가 개발자라서 if문/for문/함수문을 이해할 수 있다면 이와 같은 물음은 너무나 쉽게 풀리게 된다. 바로 인텔리퀀트를 사용하는 것이다.

 

 

[ 인텔리퀀트 ]

인텔리퀀트는 2000년부터의 주식 거래 데이터를 모두 가지고 있다. JavaScript로 2000년부터 모든 거래 데이터를 활용해서 나의 이론을 검증할 수 있다. 또한 책에서 얻은 아이디어를 코드로 구현해서 책이 말하는 이론을 검증할 수도 있다. 나 또한 책에서 얻은 아이디어를 통해서 3년간 1000만 원을 투자해서 2200만 원을 만들 수 있는 알고리즘을 쉽게 만들 수 있었다.

 

인텔리 퀀트는 사용자가 사용하기 편하도록 템플릿을 제공하고 1~8까지 어떻게 코드를 운용하면 되는지 튜토리얼을 친절하게 알려준다. 또한 API레퍼런스를 통해 해당 사이트에서 사용할 수 있는 함수들도 사용하기 편하게 메뉴얼 페이지를 구성하고 있다. 함수에서는 필터를 통해 PER가 낮은 주식, ROE가 높은 주식 등과 같은 주식만 선택할 수도 있고 내가 수식을 만들어서 적용시킬  수 도 있다.

 

같은 알고리즘으로 대략 10년을 예측해보면 1000만원이 6000만 원까지 불어나는 것을 볼 수 있다. 간단한 이론을 적용해보고 나의 투자 방법을 고찰하고 더 나아가서 정말 마법 같은 공식을 만들어서 경제적 자유를 맛볼 수 있는 최고의 백테스팅 도구인 것 같다. 개발자라면 한 번쯤은 나의 시간을 조금 갈아 넣어서 투자에 눈을 떠봤으면 좋겠다.