(1) 5개년치 재무제표 불러오기 (fnguide)
(2) 종목 별 주가(가장 최근) 불러오기
(3) Database에 저장하기
(4) PER&EPS, PBR&BPS, S-RIM으로 적정주가 산출 및 기대수익률 구하기
(5) 기대수익률 순으로 Sorting하기
(6) Hyper Parameter 기반으로, 조건 정교화하기
위의 순서대로 적정주가 계산하는 간단한 프로그램을 만들려고 한다. (파이썬을 이용하였다.)
-----------------------------------------------------------
제목을 자동화라고 거창하게 적었지만 사실 별게 있진 않다.
기존에는 주가 날짜를 '날짜 = '2020.04.17'' 과 같은식으로 직접 입력해서 ipynb를 통해 수동으로 돌렸다.
하지만, 이제는 어느정도 체계가 잡혔기 때문에, stock.py 파이썬 파일을 만들고, 쉘스크립트에서 돌릴 수 있도록 수정하였다.
3시30분에 한국주식장이 종료되니까, 그날 종가를 기준으로 적정주가를 계산할 수도 있겠지만,
하루의 변동폭이 엄청나게 큰 것은 아니기 때문에, '어제' 날짜를 불러와서 적정주가를 계산하도록 만들어놓았다.
1
2
3
4
5
|
from datetime import date, timedelta
yesterday = date.today() - timedelta(1)
date = yesterday.strftime('%Y.%m.%d')
|
cs |
이렇게 어제 날짜를 불러오고, 이를 print해보면 현재 글을 쓴 기준인 5.1일의 하루전인 '2020.4.30'이 print되는 것을 확인할 수 있다.
물론... 이날은 공휴일이기 때문에 주식장이 열리지 않는다. 그래서 Test는 다른날짜로 임의로 수정해서 돌려보았다.
이렇게 date를 만들어놓고, 하드코딩으로 넣었던 날짜를 date로 수정하고, stock.py파일을 만들면 기본적인 것은 완성이다.
이런식으로 stock.py 파일이 생성이 되었고, 이걸 돌리는 run.sh 을 만들었다.
사실 매개변수를 python파일 안에서 설정해주기 때문에, 그냥 그대로 돌려도 괜찮을 것 같긴 하지만, 우선은 쉘에서 돌리는 것으로 해놓았다.
너무 단순하지만, 우선 stock.py가 있는 경로를 설정해서 python을 돌리도록 만들어놓았다.
그다음 sh.run을 하게 되면 실행이 된다! 다행히 한방에 되었다.
이렇게 종목 하나하나에 대해서 크롤링이 되고, 완성이 되면, csv파일로 해당일자에 대한 적정주가가 떨궈진다.
어제 날짜가 공휴일이어서, 우선 임의로 4.17일로 만들었는데, 다행히 잘 생성이 되었다.
이제 종목분석을 시작하기 전에 이 python 스크립트를 실행시킨 후, 어떤 게 기대수익률이 높은지를 확인할 수 있게 되었다.
내가 원하는 기본적인 틀은 완성이 되었고,
나중에 조금 더 필터조건을 정교하게 하는 것,
그리고 왜 이게 기대수익률이 높은 것으로 계산되었는지에 대한 설명변수(shap)를 추가할 수 있도록 하려한다.
그리고 나중에는 word2vec을 통해서 기업간의 유사도를 확인해보거나, nlp를 활용해서 업종 / 주요상품 데이터를 활용해서 동종업종을 군집화하고, 동종업종간의 기대수익률을 비교해보려고 한다. 아직 지식이 짧아 언제 하게 될지 모르겠지만, 찬찬히 시도해봐야지.
'재테크 > 토이프로젝트' 카테고리의 다른 글
#7. 업종별 가치지표는 어떠할까? (1) (0) | 2020.05.08 |
---|---|
#6. 기대수익률이 높은 종목이 실제 수익률도 높을까? (0) | 2020.05.04 |
#4. 적정주가 산출 및 기대수익률 계산하기 (2) | 2020.04.27 |
#3. 종목 별 주가 불러온 후 DB에 저장하기 (0) | 2020.04.24 |
#2. 5개년치 재무제표 불러오기 (fnguide) (4) | 2020.04.23 |