window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-74690942-2');
올 어바웃 퀀트

그퀀뭔(그래서 퀀트가 뭔데?) 3편 - 퀀트를 시작하는 네 가지 방법

Editor`s Note
퀀트 투자의 기본 개념과 진행과정을 알았다면, 이제 퀀트 투자를 시작해 봐야겠죠! 퀀트 투자는 데이터와 알고리즘 기반으로 진행되기 때문에 다양한 소프트웨어의 도움을 받아 진행해야 하는데요. 오늘은 퀀트 투자자들이 일반적으로 선택하는 소프트웨어 및 서비스들을 비교해보고, 어떤 방법이 나에게 가장 적합한지 알아보도록 하겠습니다.

아직 그래서 퀀트 투자가 뭔데? 1/2편을 읽지 않으셨다면, 올 어바웃 퀀트에서 읽어보고 오시는 것을 추천 드립니다 ✔️

퀀트 투자, 어떻게 시작하면 좋을까?

감정에 흔들리지 않고, 객관적이고, 시간을 아낄 수 있고, 시야가 넓어질 수 있는 퀀트 투자! 어떻게 시작하면 좋을까요?

퀀트를 시작하려는 투자자에게는 크게 1. 엑셀 차트로 투자하기 2. 파이썬으로 직접 프로그래밍하기 3. 퀀트 서비스 사용하기 세 가지 선택지가 주어집니다. 하나씩 살펴볼까요?

한 눈에 비교하기

퀀트 투자를 시작하는 선택지 한 눈에 보기

1. 엑셀 차트로 투자하기

일반 사무직 직장인들에게 엑셀은 아마도 가장 친숙한 도구일 것입니다. 업무를 하면서 데이터 정리와 함수 작성을 해 본 분들이라면 엑셀을 활용한 퀀트 투자가 가장 익숙하실텐데요.

그러나 개인 투자자의 퀀트 툴로써 엑셀은 치명적인 단점이 두 가지 존재합니다. 퀀트 투자의 생명과도 같은 데이터 수급을 위해선 기업들의 재무 데이터를 가져오고, 정제하는 작업을 끊어지지 않고 유지할 수 있어야 하는데요. 전용 프로그램이 아니다보니 작업 난이도도 만만치 않고, 시간과 비용이 많이 들 수 밖에 없습니다. 데이터 수급에 신경쓰다보니 전략 개발에 소홀해지는 ‘주객전도’현상이 발생할수도 있는 것이죠🥲

어렵게 데이터 수급 작업을 마쳤다고 해도, 엑셀에 내장된 함수만으론 정교한 퀀트 알고리즘을 개발하는데 한계가 존재합니다. 여기까지 몰입해 본 투자자라면, 아마 이런 생각을 하시게 될 겁니다..

엑셀 자체는 무료지만 부대비용을 따져보니 저렴하지가 않네, 함수 만으로 알고리즘 짜는데도 한계가 있고..이참에 코딩으로 프로그램을 만들어볼까?

2. 파이썬으로 퀀트 프로그램 개발하기

파이썬은 가장 대중적이고 유저 친화적인 개발 언어로 유명합니다. 때문에 많은 퀀트 투자자 분들이 엑셀보다 정교한 퀀트 알고리즘을 작성하기 위해 파이썬을 활용한 퀀트 프로그램 개발에 도전하시고 있는데요. 물론 전략 작성의 자유도만 놓고 본다면 파이썬이 최고의 선택지가 되어줄 것입니다. 하지만 파이썬 역시 피할 수 없는 단점이 두 가지 존재한다고 합니다!

엑셀과 마찬가지로, 파이썬 역시 개인 투자자가 데이터 수급 작업을 원활히 진행하기에는 많은 난관이 존재합니다. 신뢰도 높은 기업 재무데이터를 확보하기 위해선 월 수십만원 이상의 비용이 들고, 데이터를 처리할 수 있는 개발환경도 구현해야 하죠.(시중에 많은 파이썬-퀀트 강의가 있긴 하지만,해보면 아실 거에요. 분명 시킨대로 코드를 짰는데 안먹히는 황당한 순간의 향연을요😵‍💫) 또 한가지, 자유도가 높다는 건 그만큼 배워야 하는 것도 무궁무진 하다는 것을 의미합니다. 개발자 직군이 아닌 일반 직장인/자영업자라면 파이썬을 공부하고, 퀀트 전략을 연구하고, 퀀트 투자를 위한 환경을 구축하는데 필요한 시간을 확보하는게 결코 쉽지 않을 것입니다. 분명 퀀트 투자를 하면 시간을 많이 아낄 수 있다고 했는데 말이죠!

투자자의 목적은 어디까지나 ‘퀀트 알고리즘’을 개발하는 것이지 개발 자체가 아니라는 점을 잊지 마세요. 좋은 집에 살기 위해서 건축 전문가가 되어야만 하는 건 아니니까요.

엑셀보다는 정교하게 알고리즘을 짤 수 있긴 하지만 배워야 할게 너무 너무 너무 많다! 전문가가 아니다 보니 환경을 맞게 구축한 건지도 불안하고.. 그냥 퀀트 서비스에 가입할까?

3. 퀀트 서비스 사용하기

개발 난이도에 지쳐 퀀트 서비스를 사용하기로 결정하셨군요! 매월 구독 비용이 발생하긴 하지만, 개발의 압박과 데이터 수급 비용을 생각한다면 경제적인 선택이라고 생각하셨을 거에요. 물론 맞는 말입니다. 하지만 이미 시중에는 많은 퀀트 서비스들이 있기 때문에 꼼꼼히 따져보아야 하는데요. 퀀트 서비스를 결정할 때 고려해야할 점은 크게 세 가지 입니다.

  1. 데이터의 관리 및 사용이 편리한가?
  2. 퀀트 전략 개발 환경이 편리한가?
  3. 개별 종목 매매 전략 뿐만 아니라 자산 배분 전략 구현이 자유로운가?

1번과 2번은 엑셀과 파이썬으로 퀀트 투자를 거치면서 느낀 단점을 해결하기 위한, 당연한 고려사항이라고 할 수 있습니다. 그런데 3번 조건은 무슨 뜻일까요?

시중에 나와 있는 많은 퀀트 서비스들은 ‘단순 계산 지표의 사용’과 ‘정해진 구조의 퀀트 전략’으로만 퀀트 투자를 할 수 있는 환경을 제공하는 경우가 많습니다. 개별 종목 매매 전략과 주식/채권/금/현금 등 자산배분 전략을 결합한 고도의 퀀트 전략을 개발하고자 하는 투자자라면, 선택지는 한 가지 밖에 없는 것이죠.

퀀트 서비스를 사용하니 No Coding으로 전략 개발이 가능해서 확실히 편하긴 편하구나. 하지만 편리하면서도 좀 더 정교한 전략 구현이 가능한 서비스는 어디 없을까?

4. iQ 스튜디오

인텔리퀀트의 퀀트 개발 서비스 iq studio의 콘솔 창

인텔리퀀트의 퀀트 알고리즘 개발 솔루션 iQ 스튜디오는 앞서 말한 선택지의 한계점을 극복한, 가장 완성도 높은 솔루션입니다. 증권사 API 데이터를 통해 데이터 수급 문제를 해결하며, 자바스크립트 기반 개발 환경으로 자유도 높은 전략 구현이 가능합니다, 코딩이 부담스럽다면, 블록 알고리즘 기능을 이용하여 클릭만으로 전략을 구현할 수 있죠.

무엇보다 개별 주식 전략 및 자산 배분 전략 구현이 모두 가능하기 때문에 각 종목별, 자산별 비중을 자유롭게 조절하며 고차원의 전략을 만드실 수 있습니다.

엑셀&파이썬보다 퀀트 환경이 잘 갖춰져 있고, 타 퀀트 서비스보다 정교한 전략을 구현할 수 있네! 심지어 코딩을 몰라도 전략을 만들 수 있어 😆

정리

익숙한 툴로 비교적 간단한 매매전략만 작성하고 싶다 + 수동매매해도 괜찮다: 엑셀

개발 실력이 어느 정도 있고, 데이터 수급부터 자동매매까지 직접 구축 해보고 싶다: 파이썬

비용을 지불해도 괜찮으니 간단하게 전략을 작성하고 싶다 + 개별종목 매매 전략만으로 충분할 것 같다: 타사 퀀트 서비스

비용을 지불하고, 개별전략 뿐 아니라 자산배분 전략까지 작성하고 싶다 + 코딩 없이 노코딩으로!: iQ Studio

어떠신가요? 퀀트를 시작할 때 iQ 스튜디오가 최적의 선택지인 이유, 이제 이해하셨나요?

다음 장에서는 iQ 스튜디오를 이용하여 본격적으로 퀀트 전략을 개발하는 방법을 알려 드리겠습니다.

알고리즘 스크립트 수립 가이드

퀀트 투자를 실행하기 위해선 퀀트 알고리즘 스크립트를 작성해야 합니다. 이 과정은 ‘나는 이런 원칙에 따라 투자를 진행하겠다’라는 투자 원칙을 정하는 과정이라고 보시며 되는데요. 총 6단계로 이루어져 있습니다.

+그래서 퀀트가 뭔데?’ 2편에서 퀀트 전략 수립 프로세스를 참고하시면 더 쉽게 이해하실 수 있습니다.

1. 투자 계획 수립(주식자산 비중, 포트폴리오 구성 종목 수 결정)

먼저 투자 계획을 수립합니다. 투자 성향과 상황에 따라 어떤 방식으로 투자를 진행할지 결정하는 단계인데요. 전체 자산 중 투자 자산의 비중을 몇 %로 할지 정하고, 투자 자산을 국내주식/해외주식/국내채권/해외채권에 분배하여 투자하는 자산배분형 포트폴리오와 자산 전채를 국내주식 또는 해외주식에 투자하는 주식형 포트폴리오 중 하나를 골라 포트폴리오를 선정합니다.

그 다음엔 포트폴리오를 구성할 종목 수를 결정해야 하는데요.  종목이 너무 적으면 개별 종목의 실적에 따라 포트폴리오 전체 실적이 좌우될 우려가 있고, 투자금에 비해 종목 수가 너무 많으면 종목을 다 매수하지 못해 포트폴리오가 무너질 수 있으니 10~20종목 사이에서 설정하는 것이 일반적입니다.

2. 계좌, 바스켓 설정에 반영

그 다음엔 퀀트 종목을 담는 계좌와 바스켓에 전체 투자 금액과 종목 수 등을 설정하는 작업을 진행합니다.

3. 지표 정의(PER,PBR 등)

세 번째로 종목을 추출하는데 사용할 지표를 정의해야 하는데요. 여기서 지표 또는 **팩터(Factor)**는, 쉽게 말하면 ‘잘 나가는 주식들의 공통점’이라고 할 수 있습니다. 한 번쯤은 들어본 PER이나 PBR 같은 용어들 또한 팩터라고 할 수 있는데요.

‘기업이 벌어들인 순이익 대비 시가총액이 낮으면 저평가되어 있는 기업이니, 주가가 오를 가능성이 높지 않을까?’라는 판단을 수치화 한 것이 PER이고, 비슷하게 ‘기업이 가진 자본 대비 시가총액이 낮으면 저평가되어있는 기업이니, 주가가 오를 가능성이 높지 않을까?’라는 판단을 수치화 한 것이 PBR입니다.

퀀트 투자계에는 수백만 개의 팩터가 존재하지만, 크게 벨류,퀄리티,그로스,모멘텀 등으로 분류할 수 있습니다. 이 중에서 어떤 팩터를 골라 어떤 방식으로 조합하여 수익율 높은 ‘멀티 팩터 모델’을 만들어 내느냐가 퀀트 투자의 핵심이라고 할 수 있습니다.

quant factor 소개 1번
quant factor 소개 2

4. 유니버스 구성 위한 필터 정의

유니버스를 구성하기 전, 위험 종목이나 관심 제외 종목을 제거하기 위하 필터를 정의합니다. 이 때 유니버스(Universe)는 투자 대상이 되는 자산 또는 주식을 의미하는데요. 이 세상 모든 자산을 대상으로 투자하는 것은 불가능하니, 내 퀀트 알고리즘이 분석할 자산/주식 군을 설정해 준다고 생각하시면 됩니다. 예를 들어서 ‘시가총액 기준으로 200~1,000억 사이의 소형주에만 투자할거야’라고 한다면, 이 투자자는 ‘소형주 유니버스’에 투자하는 것이죠.

5. 포트폴리오 구성

이제 본격적으로 투자를 진행합니다.! 필터를 정의해서 걸리진 종목들을 유니버스로 구성하고, 여기에 지표(팩터)를 이용한 팩터 모델을 적용하여 ‘내가 원하는 조건을 갖춘’ 종목들을 선정합니다. 선정된 종목들에 자산을 각각 몇 %씩 분배할지 결정하고 나면, 퀀트 투자가 시작된 것입니다!

6. 종목 교체(리밸런싱)

마지막이자 가장 중요한 단계가 남았습니다. 시장 상황은 끊임없이 변화하기 때문에 시간이 지나면 내가 선정한 종목들이 팩터 모델에 벗어나거나, 팩터 모델에 맞는 새로운 종목들이 등장하기 마련인데요. 때문에 월/분기/반기 등 미리 정해놓은 기간마다 5단계를 반복하여 팩터 모델에 맞는 종목을 업데이트 하는 작업, 즉 리밸런싱(종목교체)을 진행해야 합니다.

여기까지 하셨다면, 드디어 여러분만의 퀀트 전략이 완성되었습니다! 짝짝짝! 여러분만의 전략으로 멋진 퀀트 투자 시작하시길 기원합니다.

만일 코딩 내용이 너무 어려워보여 진입 장벽을 느끼셨다면, 괜찮습니다. 코딩 전문가라 하더라도 처음부터 고도로 정교한 퀀트 전략을 작성할 수는 없으니까요.

지금 인텔리퀀트 홈페이지에 방문하셔서 커뮤니티 게시판을 확인해 보세요. 다른 유저분들이 공유한 멋진 퀀트 전략 소개글을 읽으며, 전략을 복사해서 여러분의 투자 성향대로 하나씩 조정해 보세요. 하나씩 기능을 써보고 공부하다보면, 어느새 여러분도 멋진 퀀트 투자자가 되어 있을 것입니다. 인텔리퀀트는 그때까지 여러분과 항상 함께하겠습니다😊