cs

요즘 힘을 못 쓰고 있는 삼성전자를 2002년 월드컵 때 샀다면?? 과연 수익률이 얼마나 될까.. 

 

(삼전아 제발 힘을 내봐라... 450만 삼전 주주들이 울고 있어...ㅠ)

 

응 밥이나 먹자...

자 본론으로 가자...! 


# 기본 import 
import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt
import FinanceDataReader as fdr

기본적인 import 실행시켜주고

 

#삼성전자
df = fdr.DataReader("005930", "2002", "2022")
df.shape
df.head()

2002년부터 최근 날짜까지 (2022) 조회를 해보면

2002년 1월 2일부터 조회가 된다.

 

1월 1일은 공휴일이니까 주식 장이 안 열렸어서 조회가 되지 않는다. 

 

간단히 그래프 한번 보자.

#그래프
df["Close"].plot()

길게보면 아름답다 아름다워

특정 날짜 조회

특정 날짜를 조회하기 전에 원본 데이터 프래임은 보존하고, 카피본을 사용해서 데이터를 만져보자. 

 

원본을 보존하기 위해, 항상 카피하는 걸 까먹지 말아야 한다.

#데이터 프래임 copy
df_copy = df.loc[:,['Close']].copy()
df_copy

2002년부터 약 4897번의 주가의 움직임이 있었다

이번에는 종가만을 이용하면 되기 때문에 'Close'칼럼만 가지고 왔다. 

 

자 그러면 특정 날짜를 조회해보자

# 특정 날짜 조회 
from_date = '2010-01-02'
to_date = '2021-10-01'

df_copy["Close"].loc[from_date:to_date].plot(figsize=(16,5))

특정 날짜를 조회하기 위해 from_date라는 변수에 시작점, to_date를 통해서 끝 날짜를 지정했다. 

(2010년인 이유는 내가 미국 처음 간 연도니까)

 

함수로 날짜를 지정해줬으면 loc []의 사이에 두 개의 변수를 넣어주고 뒤에 plot을 바로 붙여 그래프를 그려보면...

이야.... 2010년에 2만원도 안했어?

물론 분할을 몇 번 해서 지금 가격으로 보았을 때 엄청 낮은 금액부터 올라온 것처럼 보이지만, 암튼 이쁘다. 

 

누적 수익률 구하기

#pct_chage를 통해 수익률을 반환 
#이전값의 백분율 변화량을 연산하는 함수
df_copy["daily_ror"]=df_copy["Close"].pct_change()
df_copy.head()

2002년에 지금 가격으로 6천원... 

pct_chage() 함수를 쓰면 바로 현재 값과 이전 값의 백분율 변화량을 바로 연산해준다!!

 

(현재 날짜 - 전 날짜)/전 날짜 이런 거 할 필요가 없다!

 

주식에서는 종가의 백분율 변화가 수익률이니까 바로 간단히 계산이 되는 것이다. 

 

그럼 누적 수익률은?

#일별 수익률을 누적으로 곱하면 매수시점 대비 매도 시점의 종가 수익률을 계산 가능함 
df_copy["st_ror"] = (1+df_copy["daily_ror"]).cumprod()

그냥 누적으로 곱해주면 되는데 그 역시 cumprod()라는 함수를 통해 한번에 구해줄 수 있다. 

 

df_copy 불러와보면 일별 수익률과 누적수익률 칼럼이 생긴 것을 확인할 수 있다. 

얼핏 봐도 2002년에샀으면 누적 수익률 11배..

특정 날짜부터 누적 수익률 구하기

그럼 위에서 2010년을 지정한 것을 누적 수익률과 같이 그려보자.

#미국 출국한 날짜 ㅎ
base_date='2010-09-03'
test_df = df_copy.loc[base_date:, ['st_ror']] / df_copy.loc[base_date, ['st_ror']]
#어제까지
last_date = test_df.index[-1]

#프린트 '누적수익:' 을 해주고 뒤에 숫자를 반환시켜보는것! 
print ('누적수익: ',test_df.loc[last_date, 'st_ror'])

#그래프
test_df.plot(figsize=(15, 4))

미국 출국했을때 사놨어도 원금의 4.6배...

특정 날짜 조회가 가능하고, 누적 수익률도 구할 수 있다!!

 

퀀트 투자에 점점 가까워진다! ㅋㅋㅋ 

 

(정말 파이썬 배우기는 어렵고 늦게 시작했지만, 재밌다!)

+ Recent posts