Blog

illustrations illustrations

퀀트 투자의 허와 실

Published on 2024-04-09 09:32 by macle

퀀트 투자를 개발하면서 하는 실수 Overfitting

퀀트를 연구하거나 이용하는 사람들과 이야기를 주고 받다가 공통적으로 한 실수가 있었습니다. 저도 했던 실수 입니다.

아래 제가 했던 실수에 대한 내용 입니다. 마침 그때 작성한 블로그 내용이 있어서 첨부합니다.

이때 당시 제가 했던 실수는 Overfitting(과적합) 입니다. 당시를 보면 5년치 투자를하면 수익율이 900% 가까이 나오는 것 처럼 보이지만 이는 과거데이터를 이용하여 과거에 맞게 과적합된 모델이죠.

또 그이후에 암호화폐 봇을 만들고 200달러로 바이낸스 거래소를 이용해서 테스트를 하였는데, 약 10일간 하루에 5~10달러씩 돈을 벌었습니다. 이때는 아 드디해 해냈구나 졸업이다 이런기분 이었죠.

금액을 키우기 전에 몇일만 더 지켜보았는데 손실을 보기 시작했습니다. 이후에 계속 알고리즘을 바꿔서 작업해도 오래가지 못하였고, 확신이 없어졌던 기억이 나네요.

제가 했던 방법들에 대한 문제는 월가아재의 영상에서 잘 설명한 내용이 있어서 아래 영상 주소를 첨부합니다.

개발자들의 흔한 실수

저를 포함한 개발자들은 퀀트 시스템을 만들때 개발방법론에 너무 치중하는 경향이 있습니다. 특히 당시에 유행하는 기술의 사용여부를 해보고 싶어하고 인프라 구성만해보고 머신러닝을 돌려보고 포기하는 경우들도 많습니다.

그렇지 않으면 위에서 하는 실수를 한번 경험하고 거기서 멈추는 사람들도 많죠.

들어가는 시간에 비해 확실한 보상도 없고, 그만큼 시간을 들여서 과연 해낼 수 있는지 불 확실성을 느끼고 점점 하지 않게 되는 케이스를 많이 보았습니다.

개발에 대해서 확실한 보상을 받으면서 급여생활을 했을수록 그렇게 되는 것 같네요.

너무 많은 데이터를 사용하고자하면 데이터 관리에 들어가는 시간과 노력에 지쳐서도 포기하게 됩니다. 대부분의 개발자들이 회사업무이외의 시간을 활용하거나 혼자 시도하는 경우게 많은데 목표가 지나치게 크면 현실성이 없어서라고 생각되네요.

좋은 개발자가 좋은 퀀트 시스템을 만드는건 어려운 일입니다. 좋은 개발자는 어떤 시스템도 만들 수 있게 개발에 대한 다양한 공부를 합니다. 하지만 자산시장에 대한 방대한 공부는 하지 않은 상태죠.

도메인지식을 잘 아는 누군가가 내놓은 기획으로 개발을 했던 경험이 대부분 입니다. 그렇기에 더 기술쪽에 관심을 가지는 경우가 많은 것 같습니다.

전 퀀트시장에 대해 잘아는 트레이더가 개발자를 고용해서 시스템을 만드는게 더 가능성이 높다고 생각합니다. 자산시장 도메인 지식이 많은 사람이 자산시스템을 만들기 위한 개발정도만 해서 시작하는게 틀린길을 경험하는 시간이 적기 때문에 유리하다고 생각하고 있습니다. 전문 개발자처럼 많은 범위의 개발지식을 다 알려고 하지 않아도 가능합니다.

승률에 대한 집착

성공한 트레이더들은 승율만 보면 높지 않다고 합니다. 성공했을때와 손실했을때의 손익비가 다르다고 하죠.

성공확율이 30%밖에 안되더라도, 손실보았을때는 1% 수익보았을때 30%라면 수익부분이 훨씬 큽니다.

높은 회전율

시스템은 단기적으로 수익을 보고싶어서 개발할때 그러한 성향이 반영되는 경우가 많습니다. 하지만 이방법은 어려운 방법입니다. 많은 수수료와 슬리피지 비용이 들어가게 되죠. 이부분도 잘못된 벡테스팅을 많이 하는경우를 보았습니다. 수수료는 책정하고 슬리피지에 들어가는 비용이 너무 적었던 경우가 많은걸 많이 봣네요.

개인적으로 생각하는 좋은 시스템

시스템은 사람보다 많은 데이터를 활용하기 어렵습니다. 사람이 사용하는 데이터가 시스템이 사용하게 데이터화 되어 있지 않거나 그만한 데이터를 사용하기가 어렵기 때문이죠.

뉴스를 분석해서 트레이딩에 참고한다고하면, 시스템에는 모든 뉴스데이터가 있어야 합니다. 그외의 데이터도 데이터 구축에 따른 노력이 필요하죠.

그리고 프로그램이 시장에 관여하면 시장이 변하는데 그 변화에 맞추어서 시스템이 계속 변화해야 할 것인데 그거에 따른 시스템 구축 비용도 고민해야 할 것 입니다.

물론 그게 다 되는 시스템을 만든 회사가 있을 수 있습니다. 하지만 그런회사는 데이터 관리비용과 인프라비용에만 어마어마한 금액을 사용하고 있을거 같네요

시스템이 유리한것

  • 시스템이 유리한건 남들보다 감정적으로 시장을 접근하지 않을수있다. 데이터기반하에 분석한다. 전략대로만 행동한다(충동적이지않다) 이정도로 접근하는게좋다고 생각합니다.
  • 그리고 분할매수 분할매도를 설정으로 할 수 있게 만드는건 어렵지 않기 떄문에 이에 대한 시간을 절약할 수 있습니다.

  • 데이터 기반하에 분석하는건 장점이자 약점입니다. 아직 데이터화가 되어있지 않는 정보의 활용성에 대해서는 따로 고민해야 합니다. 기술적분석에 기반한 정보들은 대부분 데이터화 되어있습니다. 기술적분석만을 이용한다면 퀀트로 점검해 볼 수 있습니다.

시스템이 갖추면 좋은기능

반자동으로 운영하는게 현시점의 현실성이라면 아래기능들을 포함하여 시간을 줄이거나 다양한 분석이 가능해지는것이 좋은 프로그램이 아닐까 생각합니다

  • 시장 변화를 잘 감지할 수 있는지
    • 변화만 잘 감지해도 자동매매를 멈추고 그때그때 전략을 수정할 수 있을것 입니다
  • 손실제한 분할매수 분할매도에 대한 알고리즘 성능이 좋은지 시장가로 비싸게 사지않는게 구현되어있는지
  • 리벨런싱 기능이 있는지, 여러 자산관리가 편한지
    • S&P 500은 장기적으로 우상향을 하였고 여러 주식은 편입 편출, 리벨런싱 합니다. 이러한 기능을 개인도 쉽게 할 수 있게 제공되면 좋은시스템일거 같네요.
  • 분석 해볼 수 있는 다양한 데이터 군을 가지고 있는지
    • 이부분은 현실적으로 소규모 집단이 하기에는 어렵습니다.

이런 기능들이 잘 구현되어있다면 자산배분에 들어가는 시간을 줄여서 안장적인 포토폴리오를 운영하는데 유리할 거라고 생각 됩니다.

미국의 높은 퀀트 사용율

이 내용은 youtube 에서의 자료입니다.

시장생존비율

노란색이 퀀트를 사용하는 헤지펀드입니다. 관련영상에서는 프로그램매매가 미국의 90%는 프로그램 매매라고 합니다.

그게 사실이라면 국내는 프로그램 매매 비중이 훨씬 적은게 되겠네요. 물론 기관은 자산이 많아서 프로그램 개발에 들어가는 비용이 크지 않을 것 입니다. 아직 개인이 기관만큼 사용하기는 어렵죠.

저런 기관에서 사용하는 전략은 공개할 수도 없을 것 입니다. 공개한다면 시장이 변해서 더이상 맞지 않은 전략이 될 확율이 높겠죠.

  • https://www.youtube.com/watch?v=RVc8vjUz6Gw

퀀트 장점

위에 너무 안좋은 내용만 있어서 장점에 대한 영상도 추가 합니다.

프로세스가 있는 투자 관점에 대해 잘 설명한 내용 입니다.

삼성자산운용에서 12년 근무하고 퀀트 프로그램 만드신 분의 인터뷰 영상입니다.

국내 시장에 퀀트가 좋지 않았던 이유를 설명한 내용도 있네요.

두물머리 한태경 퀀트투자

벡테스팅은 어떻게 하는게 좋을까

벡테스팅을 어떻게 쓰는게 좋을지에 대해서 명확한 답안은 없을거 같습니다.

제가 생각하는 좋은방법은 지금 시장에서 잘 먹히거나, 혹은 내가 생각한 전략이 과거의 위험에서는 어떻게 대응했고, 내가 생각하는 미래상황과 최대한 비슷한 과거시장에서 어떻게 흘러갔는지를 테스트해보는 용도로는 좋다고 생각합니다.

종합 예술에 가까운 프로그램들의 등장

아래 내용은 페이스북에 있는 내용을 단톡방에 올려주신분이 있어서 퍼온 내용 입니다. 종합예술에 가까운 프로그램개발에 들어가는 시관과 비용이 엄청 크다는것이 보이죠.

아래프로그램도 시장에 오픈되기전에 신뢰하지는 않습니다. 다만 저런식의 프로그램도 등장하고 있다는 느낌으로 보면 좋을거같네요. 개발되지 않은것을 개발되었다고 하는곳들도 많아서 신뢰하기 어렵죠.

크래프트 팀도 실제 유의미한 성과를 얻기까지 저희 기준에서는 엄청난 자원을 투입했음에도 5년이 넘는 연구가 필요했고, 여전히 한 일 보다 해야 할 일이 훨씬 많습니다.

BREAKOUT 게임은 도메인 지식 없는 강화학습으로 충분히 해결가능한 문제였지만, 주가의 단기 움직임을 예측하는 것은 초과수익의 소스에 대한 도메인지식과 더불어, 어떻게 이 도메인지식을 학습과정에 잘 녹여내고, 전략의 탐색공간을 적절하게 좁혀줄 수 있는지, 수치 데이터와 비정형 데이터(와 LLM)를 어떻게 처리하고 사용해야 하는지와 관련한 많은 요소들이 조화를 이뤄야 비로소 결과를 낼 수 있는 종합예술에 가까운 것 같습니다.

현재 크래프트 팀은 높은 샤프비율을 가진 (회전율이 높은) 작은 모델부터, 작은 모델 대비 샤프비율은 낮지만 수조원 이상의 대규모 자금을 운용할 수 있는 큰 모델까지 각 영역에서 유의미한 결과들을 얻고 있습니다. 회전율이 높은 모델들은 시장중립 포트폴리오로 만들어서 내부 운용에 적용되어 샤프비율 5 이상의 좋은 트랙레코드를 보여주고 있습니다.

작은 예측모델의 경우, 한국 주식시장에서 HFT나 아비트리지가 아닌 순수 방향성 예측에 기반하여 하루에 200~300번 단기 거래를 하며 거래당 0.18% 의 높은 거래세를 물고도 거의 매일 수익을 낼 수 있는 수준까지 도달했습니다.

제로썸인 트레이딩의 특성상 동작원리까지 모두 공개할 수는 없지만, 크래프트의 단기 주가 예측모델 중 하나인 Crescendo의 동작영상을 공개합니다.

위 프로그램은 신뢰하기보다는 저런 컨셉으로도 연구하고 광고하는 회사들이 생겨났다는 느낌으로 봐주세요.

다음에는 고수익율이나, 투자대회 우승이력으로 광고하는 회사들 혹인 개인의 위성성에 대해서 작성할까 합니다.

투자대회 고수익, 프로그램 고수익을 조심해야 하는 이유

Comments

Similar Stories

추천 블로그, 추천영상

최근에 생각을 정리할겸 블로그를 작성 하다 보니 다른분들도 보았으면 하는 내용들이 뒤로 밀려서 추천하는 블로그 내용을 따로 모아놓고 이 내용이 가장 처음에 보이게 하려고 합니다. Read More

퀀트 개발의 이상적인 방향성

이번 블로그는 제가 지금 만들고 있는 퀀트 시스템인 runon의 방향성 입니다. 직접 개발하고 시스템을 돌려보면서 느낀 내용들도 포함되어 있어서 다른 사람들과 다른 의견일 수 있습니다. Read More