snowwork

파이썬 증권 데이터 분석 [2] (4장~7장) 본문

데이터 분석/퀀트

파이썬 증권 데이터 분석 [2] (4장~7장)

denk 2021. 8. 11. 17:01

[1]에서 책 내용의 4장까지 진행이 되었고, 이후 2주 가량 진행해 7장까지 진행했다.

 

[5]시세DB구축, 시세조회 API개발

[6]트레이딩 전략과 구현

[7] 장고 웹 서버 구축 및 자동화

 

 

셀트리온 (1)일반차트 (2)캔들차트 (3)ohlc차트 (4)이평선차트

 

 

 

 

위는 4장 말미이자, 네이버 금융에서 데이터를 긁어와 차트를 만든 것이다. 기본적인 종가차트, 캔들, 이평선까지 추가한 차트와 ohlc차트이다. ohlc는 시가, 고가, 저가, 종가를 모두 표현한 차트이다.

 

 

 

 

 

 

이후 5장부터 지옥이 시작되었다. 시세 DB를 구축하는 과정에서 데이터베이스를 만들고 연결하고 구동하는 과정이 정말 복잡했다. 소스코드도 가장 긴 편이고, 가장 많은 시간을 들였던 것 같다. 오류가 굉장히 많았고  그만큼 많이 시도했다. 그리고 도움받을 만한 곳을 발견했다.

 

 

https://youtube.com/playlist?list=PLQe_6h9EvDPbJYwQ2-gchZQ3HWwgd46J1 

 

파이썬 증권 데이터 분석

 

www.youtube.com

 

 

 

<파이썬 증권 데이터 분석> 책으로 직접 실습하시는 것을 영상으로 기록한 것이다. 참고해서 기본적인 구동방식을 배우고 많은 오류 등을 해결할 수 있었다. 보통 저자의 깃헙과 이 채널을 활용해 오류를 해결했다. 이후 오류를 대할 때 조금 더 익숙하게 진행할 수 있었던 것 같다. 

 

 

 

 

그리하여,

2400종목 정도 되는 국내 상장사들의 일별 시세를 네이버금융으로부터 데이터베이스에 저장했다. 이 과정도 컴퓨터 사양에 따라 시간이 제각기 걸리는데 오래된 컴퓨터로 구동하다보니 150페이지 정도를 20시간 가량 저장하다 중도 포기하고 50페이지 가량 저장했다. 이후 실습에서 필요한 종목의 경우 개별적으로 특정 기간 시세를 저장했다. 

 

 

 

실패한 효율투자선
성공한 효율투자선

 

 

 

6장부턴 본격적인 이론과 전략들을 다룬다. 

현대 투자 이론 중 가장 대표적인 이론은 현대 포트폴리오 이론이다. 그 중 효율적 투자선은 위험과 수익을 축으로 각 포트폴리오의 우열을 표시한 것이다. CPA 준비를 할 때 재무관리 과목에서 접한 적이 있다. 위 표는 특정 네 기업의 조합으로 구성했고 오른쪽으로 휘는 듯한(새우처럼) 표가 만들어지는데 이 중 새우의 등에 해당하는 선이 포트폴리오 중 가장 투자하기에 적절한 '효율적 투자선'이다.

 

진행 과정에서 고비를 많이 겪었는데, 대부분 데이터베이스에 관련된 문제였고 필요한 데이터를 꼼꼼히 점검해 저장한 결과 해결이 되었다.

 

 

 

 

볼린저 밴드 

 

 

 

 

매매지표 중 가장 대표적인 것들 중 하나인 볼린저 밴드를 이용한 것이다. 해당하는 표준편차의 배수를 상,하단으로 확장 시켜 큰 밴드를 형성한다. 보통 하단에서 매수, 상단에서 매도한다. %b는 이를 수치화 한 것이다. 0~1 사이에서 판단해 매수,매도를 한다.

II는 일중강도를 뜻하며 일종의 거래량 지표이다. 정확히는, 21일 기간의 일중강도를 기간의 거래량으로 나눈 것이다.

이에 따라 매수, 매도를 삼각형으로 표현한 것이다.

 

 

 

삼중창 매매 시스템

 

 

 

시장조류(장기 추세), 시장파도(매수기회), 진입기술(진입시점)을 고려한 삼중창 매매시스템이다.

이동평균을 활용하는 MACD 지표가 이용되었다.

 

 

 

 

 

(1) RSI를 이용한 백테스트 (2) RSI-SMA를 이용한 백테스트

 

 

 

엔씨소프트 종목을 RSI를 활용하여 매매한 결과를 백테스트한 것이다.

기간동안 천만원을 투자한 결과 (1)에서는 25.7% 가량, (2)에서는 55.9% 가량의 수익률을 냈다.

과거 자료를 이용하는 백테스트의 특성상 향후 투자전략에 절대적인 정답이 되지는 않을 것 같다.

일례로 코로나 이후 2020년 3월 폭락에 따라 20년도의 시장이 불규칙해서 대부분의 전략이 일련된 결과를 내지 못했다.

시장의 상태에 맞는 전략이 있고 때문에 많은 전략을 알아두고 적시에 사용하는 것이 도움이 될 것 같다.

 

 

 

 

 

 

이후 책내용의 (8장)변동성 돌파 전략과 자동매매, (9장)딥러닝을 이용한 주가예측이 남았다.

기능을 실현하는 데에 초점을 두어 기본적인 구성이라든가, 직접 코드를 짜는 수준은 이뤄내지 못한 것 같다. 실습 위주의 학습을 하다보니 이론적인 학습은 되지 않은 것 같아 이후 파이썬 공부를 해야할 것 같다.

R 언어 또한 계획에 있었는데 2학기에 복학해 해당 수업을 수강하면서 공부를 할 것이고 그 전까지는 혼자 파이썬과 이를 이용한 퀀트투자를 중심으로 공부를 하게될 것이다.

몇 가지 전략이 손에 익으면 실전 투자에도 이용해볼 것 같다.

 

 

 

 

Comments