In [1]:
import pandas_datareader.data as pdr
import statsmodels.api as sm
import numpy as np
end = '2016/9/30'
n225 = pdr.DataReader("NIKKEI225", 'fred', '1949/5/16', end).dropna()
lnn225 = np.log(n225.dropna())
lnn225.columns=['Close']
y = lnn225
x = range(len(lnn225))
x = sm.add_constant(x)
model = sm.OLS(y, x)
results = model.fit()
results.summary()
Out[1]:
In [3]:
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot(y, label='Close', color='darkgray')
results.fittedvalues.plot(label='prediction', style='--')
plt.ylabel('log(n225 index)')
plt.legend(loc='upper left')
Out[3]:
In [4]:
results.resid.plot(color='seagreen')
plt.ylabel('residual')
Out[4]:
In [5]:
results.resid.hist(bins=100, color='lightgray')
plt.xlabel('residual')
plt.ylabel('frequency')
Out[5]:
In [6]:
# 戦後復興期
y = lnn225.ix[:'1954/11/30'].dropna()
x=range(len(y))
x=sm.add_constant(x)
model=sm.OLS(y,x)
results=model.fit()
results.summary()
Out[6]:
In [8]:
plt.plot(y, label='Close', color='darkgray')
results.fittedvalues.plot(label='prediction', style='--')
plt.ylabel('log(n225 index)')
plt.legend(loc='upper left')
Out[8]:
In [ ]: