본문 바로가기
Programming/Quant

[퀀트투자를 위한 툴 만들기 0] 파이썬과 엑셀을 활용한 종목 선정 프로그램 기획

by 지표덕후 2021. 1. 9.

계량적인 방식으로 주식투자를 해보려고 합니다.
철저하게 숫자만 가지고 살지 말지를 판단하는 겁니다.
소위 말하는 퀀트투자인 건데, 비계량적인 투자방식을 완전히 포기할 순 없어,
(... 라고 쓰고 믿고 맡길 만한 알고리즘을 짤 실력이 안 된다고 읽으면 됩니다)
몇 가지 조건을 입력하면, 그 조건에 맞는 종목과 종목의 재무정보 등을 출력해주는 엑셀툴을 만들어보려 합니다.
그 중에서 제 포트폴리오를 구성할 종목을 선별하는 거지요.

 

백문이불여일견. 최종 산출물은 아래와 같이 구상하고 있습니다.

널리 알려진 퀀트전략과 각 전략들이 중요시하는 지표들이 있는데요,
그 지표들의 조건값을 지정하면,

 

 

그 조건을 만족하는 종목들과 여러 재무/ 투자지표들이 테이블로 뿅하고 나타나는 겁니다.

 


아래는 완성돼 작동하는 실제 모습입니다.


가령 이런 식으로 활용할 수 있습니다. 주식시장에 상장된 전 종목들 중에,
시가총액 하위 20% and PBR 4 이하 and PER 5 이하 and 매출과 영업현금흐름 각각 0 이상
이라는 조건을 만족하는 종목을 찾아 테이블로 출력합니다.
거기에 더해 PER, PBR 등 multiple 지표(낮을수록 좋겠지요)와 GP/A(높을수록 좋고요) 등을
종합적으로 고려하여 각 종목의 매력도도 "랭킹" 컬럼에 표시해줄 것입니다.

 

이 작업은 크게 네 가지 단계로 이루어집니다(클릭 시 해당 포스팅으로).

1. 대신증권API로 주식시장 전종목에 대한 정보 추출
2. Company Guide(Fn Guide) 웹을 크롤링해 전종목에 대한 재무정보 추출
3. 1과 2의 결과물을 종목코드를 기준으로 합친 후 투자지표 필드 추가
4. 3의 결과물을 가지고 xlwings 패키지 활용하여 엑셀툴 제작

 


제 작업환경을 미리 공유 드리면,

1. 파이썬3.7(32bit) - 대신증권API는 64bit로 사용 불가
2. 파이썬IDE는 JetBrain의 Pycharm
3. 대신증권 계좌를 보유하고 있어야 하고, CYOBS Plus(대신증권API) ID 등록 필요
4. 엑셀에 날개를 달아주는 xlwings 패키지 설치 및 엑셀 add-in 설치 필요

다음 포스팅부터 각 단계의 to-do와 파이썬 코드를 적어볼 생각입니다.
언제나처럼, 선진들이 잘 정리해두신 지식들을 야곰야곰 끌어다 썼습니다.

댓글