본문 바로가기
Project/💸금융 빅데이터 투자 서비스 API

[python] #10 벡테스팅 카카오 단순 누적수익율 구하기

by 로띠 2021. 12. 11.

 

import FinanceDataReader as fdr

import matplotlib.pyplot as plt

 


 

 

  1.  카카오 '035720' DataReader로 종가 불러오기

  2.  sector명 확인 - > '기타 금융업' 섹터 기간, 종가 출력

  3.  특정 시점 수익율, 기간 수익율 구하기

 

 

 

 

#1  카카오 단순 누적수익률 구하기

 

 

      -  상단 볼린저 밴드  =  중간볼린저 밴드 + 2 * 표준편차

      -  중간 볼린저 밴드  =  종가의 20일 이동평균

      -  하단 볼린저 밴드  =  중간볼린저 밴드 - 2 * 표준편차

 

 

 

 

  카카오 '035720'  불러오기

	import FinanceDataReader as fdr
	import matplotlib.pyplot as plt
    

	kakao = fdr.DataReader('035720')
	kakao['Close'].plot
 
kakao / kaka['Close']

 

    kakao의 종가 기준 그래프이다

    대체적으로 상승을 보여주는데 매수, 매도 시점에 따라서 손실을 보는 경우도 있다...ㅠㅠ

    kakao = fdr.DataReader( '035720' , '날짜' ) 로 날짜를 지정해서 자신의 해당구간만 조회도 가능하다

 

 

 

 

 

  카카오 누적수익률 구하기

	kakao['cumReturn'] = ( 1 + kakao['Change'] ).cumprod()	# 누적곱 = 누적수익률

 

 

    cumprod() 누적곱 함수

    처음엔 cumsum() 누적합 을 써야하는거 아닌가?

    주식을 재투자하는 것도 아니고 보유로 인한 누적 수익률인데? 라는 은행원 시절처럼 생각해서

    거의 30분을 이 계산만 생각했는데 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 한 순간 머리가 뙇!! 하고 뚫렸다

 

    은행 적금 금리 기준으로 하면 cumsum()이고 , cumprod()는 복리적금 에만 대입하는게 맞다

    하지만 주식은 'Change' 즉 변동율만큼 내일 시가가 달라지고 이는 곧 오늘 'Change'에도 영향을 준다

    내가 구매한 금액을 기준으로 Change가 나오는 것이 아니기 때문에 cumprod를 사용한다

 

 

 

kakao[cumReturn]  누적 수익률

 

 

 

    결론 : 샀어야 했다...

 

 

 

 

 

 

#2 MDD (Max Draw Down)

  그렇다면 내 주식은 과연 언제 팔아야 했을까?

  가장 좋았을 타이밍은 당장에는 아무도 알지 못한다ㅠㅠ 지난 뒤 그래프를 보고 아차 싶을 뿐

  고점 대비 지금 얼마나 빠졌는지 참으로 궁금하지 않을 수가 없다

  난 이것을 창조손해라고 부른다 ㅂㄷㅂㄷㅋㅋㅋ

 

 

  창조손해 얼마야!! (종가기준)

 

	kakao['cummax'] = kakao['Close'].cummax()

 

    cummax() 함수로 max값을 구해서 'cummax' 칼럼을 생성, 삽입한다

    

 

cummax  /  Close

 

 

    고점 그래프와 그냥 종가그래프의 비교

    와 거의 20년 간 고점 갱신이 안됐다. 이번 금융투자서비스 만들기 하고 나서 굉장히 신기한 자료들을 많이 뽑아보게 된다 ㅋㅋ

    그럼 지금 2021년 12월까지 카카오 주식을 보유했다면 언제 팔았어야 했는가 창조손해 가격을 계산해보자 ㅋㅋㅋㅋㅋ

 

 

 

 최고가 대비 손실율

	kakao['MDD'] = (kakao['Close'] / kakao['cummax']) - 1

 

    

    이렇게 역대 최고가 대비 손실율을 MDD에 넣어봤다

    반대로 cummin을 하면 최저가 대비 이익율도 알 수 있으니 -가 떴다면 cummin으로 위로 받도록 하자;

    

 

 

    오늘은 보유 주식에 대한 수익율,,손해는 아니지만 손해같은 창조손해 구하는 법에 대해 알아보았는데

    다음 포스팅에선 투자 종목을 선정할때 고려해야하는 것들을 직접 구해볼 것이다

    변동성,, 샤프지수,,추세 등등 다 그것이 맞다고는 할 수 있지만 고려는 가능하니까ㅎㅎ

 

 

 

  오늘도 역시 수고햇어 GOOD!