파이톤으로 일경 225 분석

7615 단어 금융 공학Python

목표


2017년 1월 1일부터 2017년 12월 31일까지의 일경 225일 시간 데이터를 얻어 일후 응답의 평균과 분산, 표이와 파동을 계산한다.
그 결과로 직사각형을 묘사하다.

차리다


나는 주식 가격의 변동이 몇 개의 브라운 운동을 따른다고 생각한다.즉, 주식 가격은
$$\frac{dS_t}{S_t} = {\sigma}dW_t+\mu{dt} $$
따르다.하면, 만약, 만약...
$$ \frac{{\Delta}S_t}{S_t} = {\sigma}{\Delta}W_t+\mu{{\Delta}t} $$
되다여기서 $\Delta{S t} =S{t+{\Delta}t}-S_가설\Delta{t} 달러는 약 1/250 이하로 계산됩니다.거래소 개방 일수가 약 250일로 휴일 자산의 가격을 무시하고 형성됐기 때문이다.주가의 일일 수익은 $\rac{Delta{St}달러이며, $\mu와 $\sigma달러는 평균과 분산을 각각 $\Delta{t}달러로 나눌 것으로 추정된다.

분석하다.


우선, 다음은 첫걸음이다.

import numpy as np
import datetime
from scipy.stats import norm
import pandas_datareader.data as web
import matplotlib.pyplot as plt
pandas-datareader 일경 평균 225를 얻었다.dropna에서 주식 가격은 NaN 부분을 제외했다.
start = datetime.datetime(2017, 1, 1)
end   = datetime.datetime(2017, 12, 31)
ni225 = web.DataReader("NIKKEI225", "fred", start, end) 
ni225modi = ni225.dropna(how='all', axis=[0, 1])
nikkei225 = ni225modi.as_matrix()
주식 가격의 일회, 평균, 분산 등을 계산하다.
L = len(nikkei225)
#delta = 1/len(nikkei225)

S = np.zeros(L, dtype = float)
for i in range(0,L-1):
    S[i] = (nikkei225[i+1]-nikkei225[i])/nikkei225[i]

mu = S.mean()*L
sigma = np.sqrt(S.var()*L)
mean = S.mean()
var = S.var()

표류와 파동은 각각 0.156.150으로 추정된다.
이어서 직사각형과 정적 분포의 도표를 나타낸다.bins의 값은 9입니다.
#スタージェスの公式を用いて`bins`を求める
HistBins = int(np.round(np.log2(L)+1))
count, bins_edges, patches = plt.hist(S, bins = HistBins)

X = np.arange(-0.08,0.08,0.001)
#確率密度関数に,平均mean、標準偏差var^(1/2)を代入
Y = norm.pdf(X,mean ,np.sqrt(var))
plt.plot(X,Y,color='r')
plt.show()
빨간색 도표는 매일 되돌아오는 평균치와 방차를 이용하여 정규 분포를 한다.파란색의 도표는 매일 되돌아오는 직사각형이다.

좋은 웹페이지 즐겨찾기