반응형

파이썬 주식 / yfinance를 이용하여 주가 일간 변동률 구하기

 

 

최근 삼성전자의 주가 일간 변동률이 어떤지 분석하는 주가 수익률에 대한 히스토그램을 표시해보도룩 하겠습니다.

 

주가 정보가져오는 부분은 아래 링크를 참조하시면 됩니다. 

https://zidarn87.tistory.com/36?category=416525

 

파이썬 주식 / yfinance를 이용하여 삼성전자 주식 정보 가져와 그래프로 표시하기

파이썬 주식 / yfinance를 이용하여 삼성전자 주식 정보 가져와 그래프로 표시하기 필요 라이브러리 먼저 주식 정보를 받아오기 위해 야후 파이낸스에서 제공하는 yfinace 라이브러리를 사용

zidarn87.tistory.com

일간 변동률

일간 변동률은 아래와 같은 식으로 계산하게 됩니다. 

오늘 변동률 = (오늘 종가 - 어제 종가)/어제 종가 * 100 

 

'DailyChange' 열을 만들어 오늘 종가에서 어제 종가를 뺀 값을 구합니다. 

'DailyChange_rate' 열을 만들어 오늘 변동률 값을 넣습니다. 

두 열의 첫번째 행의 값은 0으로 지정합니다. 

samsung['DailyChange'] = samsung['Close']- samsung['Close'].shift(1)
samsung['DailyChange_rate'] = (samsung['Close']- samsung['Close'].shift(1))/samsung['Close'].shift(1)*100

samsung['DailyChange'][0] = 0
samsung['DailyChange_rate'][0] = 0

print(samsung[['Close', 'DailyChange', 'DailyChange_rate']])

주가 일간 변동률이 1.0 이상인 일자를 구해보도록 하겠습니다. 

아래 코드는 조건을 지정해 그 조건에 해당하는 데이터를 출력하도록 하였습니다.

condition = (samsung['DailyChange_rate']>=1.0)
print(samsung[condition])

 

일간 변동률 히스토그램

우선 위에서 만들었던 주가 일간 변동률에 대한 정보를 보겠습니다. 

describe() 함수를 이용하면 표본, 평균값, 표준편차, 최소값, 25% 값, 50% 값, 75% 값, 최대값을 확인할 수 있습니다. 

아래 정보는 삼성전자의 주식의 주가 일간 변동률에 대한  '2020-07-01'부터 '2020-08-14'의 데이터 정보입니다. 

표본(데이터 수)는 33개, 평균 변동률값은 0.30, 표준편차는 1.62, 최소 변동률값은 -2.91, 최대 변동률값은 5.40입니다.  

 

이러한 내용을 히스토그램으로 표시하여, 변동률 분포를 보도록 하겠습니다. 

히스토그램을 보기위해 matplotlib.pyplot의 hist 함수를 이용합니다. 

전달인자는 bins는 관측한 데이터 특성을 잘 보여주도록 사용하는 값으로 기본값은 10입니다. 

print(samsung['DailyChange_rate'].describe())

plt.hist(samsung['DailyChange_rate'], bins=20)
plt.grid(True)
plt.show()

 

아래 히스토그램 분포도를 보면 변동률은 0.8 ~ 1.2% 대가 가장 많은 것을 볼 수 있습니다. 

반응형

+ Recent posts