728x90
1. 배당 히스토리 가져오기
종목 배당 이력 데이터를 가져오는 방식은 많지만 여기서는 Yahoo Finance 데이터를 가져올 수 있게 해주는 yahoo_fin 라이브러리를 활용하도록 하겠다. 해당 라이브러리는 아래 코드로 쉽게 설치할 수 있다.
pip install yahoo_fin
아래와 같이 get_dividends 함수를 사용하면 지난 모든 마이크로소프트의 배당 이력을 확인할 수 있다.
import yahoo_fin.stock_info as yf
yf.get_dividends("MSFT")
2. 배당 성장률 구하기
import yahoo_fin.stock_info as yf
import pandas as pd
import datetime
def get_div_growth(ticker):
if len(yf.get_dividends(ticker))==0 :
div_growth="No Dividend"
return div_growth
elif len(set(yf.get_dividends(ticker).index.year)) >=5:
div = yf.get_dividends(ticker)
month = div.index[-1].month
from_ = datetime.datetime(div.index[-1].year-5, month, 1)
to_ = datetime.datetime(div.index[-1].year, month+1, 1)
this_div = div[from_:to_].iloc[-1]['dividend']
five_year_ago_div = div[from_:to_].iloc[0]['dividend']
div_growth = (this_div/five_year_ago_div)**(1/5)-1
return div_growth
테슬라와 같이 배당을 지급하지 않는 종목을 가지고 돌리면 아래와 같이 배당 없음 결과가 나타난다.
반대로 마이크로소프트를 돌리고나면은 아래와 같이 배당금 연간 성장률을 확인할 수 있을 것이다.
위 소스코드는 아래 "게으른 쿼트"님 포스팅을 보면서 연습 삼아서 하나하나 만들어봤다.
개인적으로 배당을 가장 중요시하는 투자자로서 해당 데이터를 가지고 계속해서 여러 방향으로 분석을 해보도록 하겠다.
728x90
반응형
'문송충의 코딩하기 > 퀀트 투자 스터디' 카테고리의 다른 글
S&P 500 50일 이동평균선을 활용한 SPY, SH 전략 백테스팅 with Python (0) | 2022.02.20 |
---|---|
[동퀀트] VAA(Vigilant Asset Allocation) 동적자산배분 파이썬으로 백테스팅 (1) | 2022.02.02 |
파이썬으로 라오어 무한매수법 백테스팅, 이렇게 하는게 맞나? (0) | 2022.01.14 |
파이썬으로 포트폴리오 자산별 상관관계 구하기 (0) | 2022.01.14 |
파이썬으로 업비트 내 자산 잔고 조회하기 with pyupbit (0) | 2022.01.13 |
댓글