資源簡介
AR模型,采用PYTHON預測股票開盤價數據。

代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
import?xlrd???#excel讀寫
import?numpy?as?np
from??pylab?import?*
from?scipy.fftpack?import?fft?#傅里葉
by_index=0
data?=?xlrd.open_workbook(‘stock1.xlsx‘)
table?=?data.sheets()[by_index]?#通過索引順序獲取數據
quotation=table.col_values(1)?#獲取第2列,列值
quotation=quotation[2:len(quotation)]
L=len(quotation)
figure()
plot(quotation‘r‘)
xcorr?=?lambda?xy?:?(ifft(fft(x2*len(x)+1)*fft(y2*len(y)+1).conjugate())).real
signal_cor=xcorr(quotationquotation)
signal_cor=signal_cor/(L-1)
#?yule—Walker方程
m=6
R=zeros([m+1m+1])
for?i?in?xrange(m+1):
????for?j?in?xrange(m+1):
????????R[ij]=signal_cor[abs(i-j)]
B=zeros(m+1)
B[0]=1
C=zeros([m+1m+1])
C[:][0:m]=R[:][1:]
C[:][m]=(-B)
D=-R[:][0]
apk=np.linalg.solve(C.TD.T)??#解矩陣
cov=apk[m]
print?cov
ap=apk[0:m]
print?‘the?value?of?filter?A=:‘??ap????????#計算輸入白噪聲
noise=np.random.normal(0np.sqrt(cov)*0.01L+2)
predict_day=1
N=predict_day-1
price=zeros(L+2)
#利用回歸系數預測
for?c?in?xrange(L/predict_day):
????for?i?in?xrange(predict_day):
????????t=i
????????for?j?in?xrange(m):
????????????if?t>0:
???????????????price[c*predict_day+i]=price[c*predict_day+i]-ap[j]*price[c*predict_day+i-j-1]
???????????????t=t-1
????????????else:
???????????????price[c*predict_day+i]=price[c*predict_day+i]-ap[j]*quotation[N-j]
????????N=N+1
#預測還未開盤的未來兩天開盤價
for?i?in?xrange(len(price)):
????if?i>(L-1):
????????for?j?in?xrange(m):
????????????price[i]=price[i]-ap[j]*quotation[L-j-1]
print?‘Stock?days?is?:?‘N
error=0
for?i?in?xrange(L+2):
????price[i]=price[i]+noise[i]
for?i?in?xrange(L):
????error=error+abs(price[i]-quotation[i])????#誤差
plot(price[0:L+2])
print???‘The?error?of?Predict?is?:?‘error/sum(quotation)
xlabel(‘days‘)
ylabel(‘price‘)
title(‘Raw?data?and?Predict?data‘)
show()
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-05-27?10:44??stock\
?????目錄???????????0??2015-05-27?10:44??stock\.idea\
?????文件???????????5??2015-04-29?20:57??stock\.idea\.name
?????文件?????????164??2015-04-29?20:57??stock\.idea\encodings.xm
?????目錄???????????0??2015-05-27?10:44??stock\.idea\inspectionProfiles\
?????文件?????????478??2015-04-30?08:13??stock\.idea\inspectionProfiles\Project_Default.xm
?????文件?????????241??2015-04-30?08:13??stock\.idea\inspectionProfiles\profiles_settings.xm
?????文件????????1124??2015-04-29?20:57??stock\.idea\misc.xm
?????文件?????????262??2015-04-29?20:57??stock\.idea\modules.xm
?????目錄???????????0??2015-05-27?10:44??stock\.idea\scopes\
?????文件?????????143??2015-04-29?20:57??stock\.idea\scopes\scope_settings.xm
?????文件?????????284??2015-04-29?20:57??stock\.idea\stock.iml
?????文件?????????164??2015-04-29?20:57??stock\.idea\vcs.xm
?????文件???????33015??2015-05-09?18:05??stock\.idea\workspace.xm
?????目錄???????????0??2015-05-27?10:44??stock\stock\
?????目錄???????????0??2015-05-27?10:44??stock\stock\.idea\
?????文件???????????5??2015-04-29?20:57??stock\stock\.idea\.name
?????文件?????????164??2015-04-29?20:57??stock\stock\.idea\encodings.xm
?????目錄???????????0??2015-05-27?10:44??stock\stock\.idea\inspectionProfiles\
?????文件?????????478??2015-04-30?08:13??stock\stock\.idea\inspectionProfiles\Project_Default.xm
?????文件?????????241??2015-04-30?08:13??stock\stock\.idea\inspectionProfiles\profiles_settings.xm
?????文件????????1124??2015-04-29?20:57??stock\stock\.idea\misc.xm
?????文件?????????262??2015-04-29?20:57??stock\stock\.idea\modules.xm
?????目錄???????????0??2015-05-27?10:44??stock\stock\.idea\scopes\
?????文件?????????143??2015-04-29?20:57??stock\stock\.idea\scopes\scope_settings.xm
?????文件?????????284??2015-04-29?20:57??stock\stock\.idea\stock.iml
?????文件?????????164??2015-04-29?20:57??stock\stock\.idea\vcs.xm
?????文件???????33015??2015-05-09?18:05??stock\stock\.idea\workspace.xm
?????文件????????1913??2015-04-30?16:53??stock\stock\stock.py
?????文件???????12073??2015-04-30?15:34??stock\stock\stock.xlsx
?????文件???????45609??2015-04-30?16:34??stock\stock\stock1.xlsx
............此處省略3個文件信息
- 上一篇:python參考文獻
- 下一篇:python3程序開發指南(第二版)與課后習題源代碼
評論
共有 條評論