입문
챕터 11개 · 14시간 15분
한국어 · 영어 · 일본어|오디오 한국어

이런 걸 배울 거예요

Python을 이용한 퀀트 투자 전략 수립

Python을 이용해서 내 투자 전략을 백테스팅을 통해 검증합니다.

수익률이 나는 대가들의 투자 전략 모방

올웨더, 듀얼모멘텀 등 전략을 모방해서 수익률이 나는 전략을 발굴합니다.

"최소 수익은 걱정하는 걸 싫어하고 안전을 최우선시하는 수동적인 투자자의 몫이고,
최고 수익은 증시를 분석하는데 우수한 지적능력과 기술을 갖고 있는 투자자의 몫이라고 할 수 있다."

- 벤저민 그레이엄


여러분들께서는 주식 시장에서

수익을 잘 내고 계신가요?

지난 11년간 개인투자자들의 계좌를 분석한 결과, 개인 투자자 10명 중 4명은 손실을 보았다고 합니다. 10명중 6명은 수익이라니, 생각보다 높은 수치죠? 여러분들은 6명 안에 들어가시나요?


그런데, 2020년 새로 진입한 ‘주린이’들은 상승장에서도 10명 중 6명이 손실을 보았다고 합니다. 수익을 보는 개인 투자자와, 손실을 보는 주린이들은 어떤 차이를 가지고 있는 것일까요?


모든 주식투자자는 연간 15.7% 이상의

수익률을 달성해야할 의무가 있습니다.

뭐가 어떻든, 주식을 투자하는 투자자들은 모두 연간 15.7% 이상의 수익률을 달성해야할 의무가 있습니다.


“네 뭐라구요? 연간 10%의 수익만 내도 대단한 것 아닌가요?”


여러분, 혹시 이러한 의문을 가져보신 적이 있으신가요?

“우리나라에 있는 모든 주식의 평균 수익률이 어떨까? 며칠 보유시 평균적으로 몇%의 수익이 났을까?”


이 질문에 대한 답을 아시는가요? 답을 어떻게 구할 수 있을까요? 바로, 주식 데이터를 이용한 Python 퀀트 분석을 통해 구할 수 있습니다. 그럼 한번 모든 주식의 평균 수익률을 한번 살펴보러 가 볼까요?


평균값과 중앙값을 이용한 분석

잠깐, 결과를 보기 전에 두 가지 알아두어야 할 사전지식이 있습니다. 오랜만에 수학적 개념이 나와서 머리 아프고 스킵할 생각이 드시나요? 조금만 살펴보면 누구나 이해할 수 있는 매우 직관적인 개념이니 잠깐만 더 읽어보세요.


첫 번째 사전자식은 바로 평균값중앙값 의 개념입니다

  • 평균값: 여러 숫자들의 “평균”, 모든 수를 더하고 수의 개수로 나눠서 구합니다.
  • 중앙값: 여러 숫자들의 가운데 값. 모든 데이터를 크기 순으로 정렬해서, 정 가운데의 순번에 있는 숫자를 선택합니다. (가운데에 있는 데이터가 둘이라면 두 수의 평균)

그림으로 평균값과 중앙값의 예시를 표현해 보자면 다음과 같습니다.

그림으로 평균값과 중앙값의 예시


평균값과 중앙값은 데이터의 분포를 알 수 있는 중요한 힌트가 된답니다. 평균값과 중앙값을 비교하여 데이터의 어느 부분이 과도하게 숫자가 큰지, 작은지 가늠해 볼 수 있어요.


중앙값 < 평균값

: 데이터의 일부가 매우 큰 값, 나머지는 일반적으로 작은 값

중앙값 < 평균값


중앙값 > 평균값

: 데이터의 일부가 매우 작은 값, 나머지는 일반적으로 큰 값


중앙값 > 평균값


평균값과 중앙값의 관계를 통해 이 수치 통계는 특히 일부분의 데이터가 큰 값을 가지고 있는지, 반대로 특히 일부분의 데이터가 작은 값을 가지고 있는지 가늠할 수 있답니다.

이것을 살펴보는 것은 시뮬레이션에서 여러 종목들의 수익률을 살펴볼 때 유용합니다. 20개 종목의 평균 수익률이 20% 일 때, 정말로 대부분의 종목 수익률이 그렇게 좋은지, 혹은 일부의 종목이 폭등해서 이러한 평균 수익률이 도출된 것인지 파악할 수 있지요.


4분위 수치와 박스 플롯(boxplot)

두 번째 사전지식은 4분위 수치와 박스 플롯(boxplot) 이에요.


  • 4분위 수치 (quartile): 데이터를 크기 순으로 배열하고, 순서를 사등분하여 각 분위별로 해당 순서에 해당하는 수치를 4분위 수치라 합니다.

4분위 수치 (quartile)

4분위 수, 순서를 네 등분해주는 [3, 12, 21, 40, 72] 가 4분위 수치입니다


4분위 수치 또한 어렵지 않은 개념이죠? 숫자를 순서대로 나열하여, 4등분 해주는 기준 숫자들을 4분위 수치라 합니다. 50%에 해당하는 수치는 중앙값입니다. 4분위 수치들은 중앙 값과 마찬가지로 숫자의 개수가 딱 나누어 떨어지지 않으면 적당히 평균하여 4분위 수치를 구합니다.



  • 박스플롯(boxplot): 아래와 같이 4분위 수치에 대한 통계를 잘 보여주는 그래프입니다.

4분위 수치에 대해 박스와 선 형태로 표시합니다.

4분위 수치에 대해 박스와 선 형태로 표시합니다.


박스플롯에는 앞전에서 구한 4분위 수치 [3, 12, 21, 40, 72] 가 박스와 선으로 나타난 것을 볼 수 있죠? (초록색 삼각형은 ‘평균값’을 의미합니다. 평균값이 중앙값보다 크므로 일부의 데이터가 크기가 큰 것을 유추할 수 있습니다.)


이렇듯 박스플롯은 데이터의 4분위 수치를 읽기 쉽게 그려줌으로써, 데이터가 어느 위치에 있는지 분포를 가늠할 수 있도록 해 줍니다. 여기서는 이해를 돕고 지면을 잘 활용하기 위해 그래프를 가로로 그렸지만, 시뮬레이션 결과에서는 박스플롯을 세로로 그릴거에요.


지난 10년 간의 수익률 분석

자, 그럼 이제 사전지식을 모두 배웠으니 우리나라의 모든 주식에 대한 지난 10년 간의 수익률 분석을 한번 살펴볼까요? 아래 그림은 지난 10년간의 실제 주식 데이터를 이용하여 Python 퀀트 분석 후, 결과를 도출한 거예요.


수익률 분석


보유 기간별 수익률 평균 값, 중앙 값


모든 주식을 동일한 비중으로 1년을 투자한다 가정 시 (영업일 기준 약 240일 보유), 지난 10년 간의 평균 수익률은 15.73% 였습니다.


주식을 분석하고, 매매하고 하는 아무런 노력 없이도요! 왜 15.73% 이상의 수익률을 올려야 하는지 이제 알 수 있겠죠?


퀀트 분석을 통해 살펴보는

주식 시장의 원리

단순히 이러한 놀라운 수익률 이외, 모든 보유일별 결과에 대해 일관적으로 나타나는 결과가 있습니다. 바로 모든 기간에서 수익률의 ‘평균값’이 ‘중앙값’보다 높은 현상입니다. 이는 우리 주식시장의 수익률이 일부 종목들의 높은 수익률와, 나머지 종목들의 그저그런 수익률로 조합된다는 것을 의미합니다.


평균적으로 보면 며칠을 보유하던 모두 + 플러스 수익률을 보이고 있는데, 이는 일부 종목들이 크게 올라서 전반적인 평균 수익률을 견인한 결과라는 것이죠. 여기서 우리는 한 가지 중요한 교훈을 도출할 수 있습니다. 바로 ‘손절매’는 필수라는 것이죠.


주식시장은 극히 일부의 종목의 대 상승으로 인해 전반적인 상승을 기록하므로, 우리가 잘못된 종목을 선택하였다면 이 종목의 상승을 무조건 기다리기보다, 새로운 상승 종목을 찾아 떠나는 것이 현명할 수 있다는 거에요. 심지어 우리가 고른 종목이 손실을 보고 있다면 더욱 그렇겠죠?


이 외에도, 검증 결과를 통해 몇가지 찾아볼 수 있는 결론은 다음과 같습니다.

  1. 수익거래의 수익률은 평균값이 중앙값보다 높습니다. 일부 종목이 크게 상승한다는 것을 나타냅니다.
  2. 손실거래의 수익률은 평균값이 중앙값보다 낮습니다. 일부 종목이 크게 하락한다는 것을 나타냅니다.
  3. 일반적으로 보유 기간이 길어질 수록, 평균 수익률은 증가합니다. 그러나 승률(수익확률: 0% 이상의 수익을 기록할 확률)은 오히려 감소합니다.
  4. 수익거래의 평균값~중앙값 차이가 손실거래의 평균값~중앙값 차이보다 훨씬 더 큽니다. 이는, 수익 거래에서 대상승이 일부 종목에 쏠리는 현상이 훨씬 더 강하다는 것을 나타냅니다.


어떤가요? 퀀트 투자의 영역에서는 아주아주 기초적인 분석과 결과이지만, 의미하는 바가 적지 않죠? Python으로 퀀트 투자 분석을 배우시면 이러한 기초 중의 기초 분석 뿐만 아니라, 여러분의 아이디어와 투자 전략에 대해 백테스트를 하고, 결과를 샅샅이 분석하실 수 있게 됩니다. :)


전쟁터 같은 주식시장에서 퀀트 투자라는 여러분만의 무기를 갖고, 우수한 지적능력과 기술을 통해 최고수익을 달성해보세요.

커리큘럼

크리에이터

AISchool X Daniel Park

AISchool X Daniel Park

에이아이스쿨(AISchool)

서울대학교에서 인공지능 및 컴퓨터비전을 전공했어요. 지난 6년간 1000명 이상의 비전공자/전공자를 대상으로 Python, 인공지능, 데이터분석 기술을 가르쳤어요. 인프런,원티드,패스트캠퍼스와 삼성,현대 등 대기업에서 인공지능, 파이썬, 영상인식, 주식데이터 분석에 대해서 강의하고, 기업 대상 AI 컨설팅 서비스를 진행하고 있어요. 지난 경험을 종합해 현직 AI 퀀트와 함께 퀀트 투자 입문에 대한 교과서적인 강의를 준비했어요.


Daniel Park

연세대학교에서 영상처리 및 딥러닝을 전공했어요. 대학생연합투자동아리에서 학회장을 역임했어요. 동부증권 투자대회에서 수익률 3위를 수상하기도 하였으며, 현재 데이터 기반 체계적인 투자 기법을 정립하여 꾸준한 연구 및 수익 투자를 집행하고 있어요. 재능공유 플랫폼인 탈잉에서 주식 입문 강의를 약 5년간 진행하였으며, 수많은 수강생을 배출했어요. 주식투자 입문서적인 "주식투자 과외수업"을 출판하였고, 현재 국내 금융社에서 Quant 투자 연구원으로 일하고 있어요.

AISchool

AISchool

이 클래스와 비슷한 추천 클래스

AI 자동 투자 봇 만들기, 노트북으로 월급을 두 배 불리는 법주식  |  타임퍼센트
고객센터오전 10시 ~ 오후 6시 (주말, 공휴일 제외)
주식회사 클래스101
대표 공대선
서울특별시 강남구 테헤란로 415, 4층(삼성동, 엘7강남타워)
대표전화 : 1800-2109
이메일 : ask@101.inc
사업자등록번호 : 457-81-00277
통신판매업신고 : 2022-서울강남-02525
클라우드 호스팅 : Amazon Web Services Korea LLC
사업자 정보 자세히 보기
클래스101은 통신판매중개자로서 중개하는 거래에 대하여 책임을 부담하지 않습니다.