利用几何布朗运动模型预测股票价格_20200514_
生活随笔
收集整理的這篇文章主要介紹了
利用几何布朗运动模型预测股票价格_20200514_
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
利用幾何布朗運動模型預測股票價格
import os import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['simhei']#用于正常顯示中文標簽 plt.rcParams['axes.unicode_minus']=False#用于正常顯示負號 import tushare as ts import pandas as pd import numpy as np#獲取股票數據 ts_code='600848' data_=ts.get_hist_data(ts_code)#獲得一天數據data_=pd.DataFrame(data_[['close']])#獲得其中的收盤價 data_.sort_index(inplace=True)#按照日期做升序處理 data_['ratio']=[0.0000000000000000000]*len(data_) data_['date']=data_.index data_.index=range(data_.shape[0])#計算股價比率 for i in range(data_.shape[0]-1):data_['ratio'][i+1]=np.log(data_['close'][i+1]/data_['close'][i])#計算基礎參數 T=30#周期為30天(一個月) k=3#第一個周期 data_train=data_.ix[(k-1)*T:(k*T-1),:]#選取過去一月的時間作為訓練集 data_test=data_.ix[(k-1)*T:(k+1)*T-1,:]##選取過去第二月的時間作為測試集 mean=data_train['ratio'].sum()/T#計算樣本均值 S_2=((data_train['ratio']-mean)**2).sum()/(T-1)#計算樣本方差 miu=(mean+S_2/2)/1#股價漂移率 sigma=np.sqrt(S_2)#股價波動率#通過幾何布朗運動模型預測未來周期股價 S_0=list(data_train['close'])[-1]#初始股價 data_test['fore_price']=data_test['close']#預測的股價 for t in range(1,data_train.shape[0]+1):Bt = np.random.normal(0, 1,t)[0]#布朗運動隨機數值data_test['fore_price'][t+k*T-1]=S_0*np.exp(sigma*Bt+(miu-S_2/2)*t)#預測股價 data_test['fore_price']#畫出預測值和真實值對比圖 plt.figure(num=k,figsize=(15,8)) plt.plot(data_test['date'],data_test['fore_price'],label='預測股價') plt.plot(data_test['date'],data_test['close'],label='實際股價') plt.xlabel('日期',fontsize=20) plt.ylabel('股價',fontsize=20) plt.title("股票“"+ts_code+"”"+str(T)+'天預測值和真實值對比圖',fontsize=20) plt.legend(loc='upper right') plt.xticks(rotation=270)總結
以上是生活随笔為你收集整理的利用几何布朗运动模型预测股票价格_20200514_的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 到全国各省市关于公务员考试的信息
- 下一篇: centos7中添加大硬盘(超过2T)分