본문 바로가기
문송충의 코딩하기/퀀트 투자 스터디

MSFT 마이크로소프트 지난 5년간 주당배당금 연간 복리 성장률을 구해보자

by 동장군님 2022. 1. 25.
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

테슬라와 같이 배당을 지급하지 않는 종목을 가지고 돌리면 아래와 같이 배당 없음 결과가 나타난다.

반대로 마이크로소프트를 돌리고나면은 아래와 같이 배당금 연간 성장률을 확인할 수 있을 것이다.

 

위 소스코드는 아래 "게으른 쿼트"님 포스팅을 보면서 연습 삼아서 하나하나 만들어봤다.

 

https://lazyquant.tistory.com/entry/%EB%AF%B8%EA%B5%AD-%EC%A3%BC%EC%8B%9D-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%88%98%EC%A7%91-6-%EB%B0%B0%EB%8B%B9-%EC%A0%95%EB%B3%B4-%EA%B0%80%EC%A0%B8%EC%98%A4%EB%8A%94-%EB%B0%A9%EB%B2%95?category=969177 

 

미국 주식 데이터 수집 #6 배당 정보 가져오는 방법

 안녕하세요, 이번 포스팅에서는 배당 정보를 가져오는 방법에 대해서 알아보겠습니다. 이 또한 댓글로 요청주신 분이 계셔서 주간 데이터에 반영하기 위해 작업한 내용입니다. 요청주신 정보

lazyquant.tistory.com

 

개인적으로 배당을 가장 중요시하는 투자자로서 해당 데이터를 가지고 계속해서 여러 방향으로 분석을 해보도록 하겠다.

728x90
반응형

댓글