오랜만에 포스팅을 쓰게 된다.
최근 주식에 관심이 많아졌고 작은 금액이지만 나만의 투자 철학에 따라서 여러 종목에 투자를 하고 있는 중이다.
나는 보통 미래에 성장성이 있으면서 배당금을 챙겨주는 주식에 넣는 편인데 회사를 다니면서 매번 관심 종목의 주가의 낙폭을 모니터링 하는 것은 여간 쉬운 일이 아니었다.
그래서 일 배치로 전일 종가를 모니터링 하고 현 시가 기준 배당률이 매력적인 종목을 찾는 자동화 작업을 진행해보기로 결심했다.
관련 패키지 다운로드
!pip install finance-datareader
어떤 감사한 분께서 해당 패키지를 만들어주셨고, 증권사 api나 하드 웹 크롤링이 없이도 라이브러리를 통해 종목과 전 영업일 기준의 종가를 쉽게 확인할 수 있다.
(사용법은 퀵하게 다음 github를 보면 된다.)
파이프라인 구상
- 일 단위로 전일 종가 데이터를 Extract
import FinanceDataReader as fdr# 한국거래소 상장종목 전체
kospi = fdr.StockListing('KOSPI')
kosdaq = fdr.StockListing('KOSDAQ')kospi.columns = map(str.lower, kospi.columns)
kosdaq.columns = map(str.lower, kosdaq.columns)#코스피 코스닥 전체
total = pd.concat([kospi,kosdaq])
total['date'] = now.strftime('%Y-%m-%d')
2. 모든 종목의 시가 대비 배당금액 조회
- 에프앤가이드에 있는 홈페이지 정보를 크롤링하여 진행
3. 배당금이 5% 이상인 종목 중 PER과 외국인 보유율,시가 총액 등과 같은 정량 지표 비교
4. 매력적인 종목들을 추출하여 현재 최근 6개월 간의 주가 변화량과 뉴스 기사, 종목 토론방에서 바이럴과 화제성/ 긍부정 비율을 체크
- 네이버 뉴스 API와 크롤링 활용
5. 해당 과정을 통해 필터링 된 종목은 slack을 통해 그래프 전달
- slacker 활용
6. 위 모든 과정을 일 단위 (월~금) 자동화 진행 및 데이터 적재(BigQuery)
- aws ec2 , gcp VM 등에 인스턴스에서 cronjob or airflow 스케줄링 활용
진행 예정 사항
상세한 코드를 제외한 모든 사항은 10월 중으로 마무리할 예정이고, 블로그에 지속적으로 기록할 예정이다.