(二十三)用几何布朗运动模拟股价走势
生活随笔
收集整理的這篇文章主要介紹了
(二十三)用几何布朗运动模拟股价走势
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
幾何布朗運(yùn)動的定義與表達(dá)式
用幾何布朗運(yùn)動模擬未來股價(jià)
??下面我們以華泰證券[601688]股票為例,根據(jù)其2016年-2019年的日收盤價(jià)數(shù)據(jù)得到收益率和波動率,模擬未來三年(2020年-2022年)的價(jià)格走勢,模擬路徑為100條,S0設(shè)定為2020年1月2日的收盤價(jià),具體操作如下:
??第一步,導(dǎo)出該股票前4年的收盤價(jià)數(shù)據(jù),生成對數(shù)收益率數(shù)據(jù),計(jì)算年收益率和收益率序列的年波動率:
??第二步,生成需要模擬的參數(shù),需要導(dǎo)入pandas模塊中的時(shí)間索引函數(shù)DatetimeIndex,其中freq='B’表示工作日,freq='D’表示日歷日。用此函數(shù)生成2020年1月2日到2022年12月31日且是工作日的時(shí)間數(shù)據(jù)組:
import numpy.random as npr date=pd.DatetimeIndex(start='2020-1-2',end='2022-12-31',freq='B') n=len(date);I=100#生成需要預(yù)測的維度,n天100次 dt=1/252#St和St-1之間的時(shí)間間隔 result=np.zeros((n,I)) result[0]=20.35#datareader可找到2020年1月2日的股價(jià),作為S0 result Out[3]: array([[20.35, 20.35, 20.35, ..., 20.35, 20.35, 20.35],[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],...,[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],[ 0. , 0. , 0. , ..., 0. , 0. , 0. ],[ 0. , 0. , 0. , ..., 0. , 0. , 0. ]])??第三步,代入幾何布朗運(yùn)動公式(3),生成未來股價(jià)的時(shí)間序列并可視化:
for t in range(1,n):e=npr.standard_normal(I)#生成100個(gè)服從正態(tài)分布的εresult[t]=result[t-1]*np.exp((miu-0.5*sigma**2)*dt+sigma*e*np.sqrt(dt)) result=pd.DataFrame(result,index=date) result.tail() Out[18]: 0 1 2 ... 97 98 99 2022-12-26 7.228284 50.589052 13.894615 ... 15.088003 26.878331 17.809976 2022-12-27 7.326814 50.246075 14.295553 ... 15.092543 26.331081 18.008560 2022-12-28 7.199398 49.766670 14.603153 ... 15.350998 27.281464 17.841967 2022-12-29 7.145956 49.649970 14.622990 ... 15.583868 28.576045 17.981660 2022-12-30 7.243188 50.790810 14.672076 ... 15.626152 27.511881 18.083931 [5 rows x 100 columns] import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams['font.sans-serif']=['SimHei'] mpl.rcParams['axes.unicode_minus']=False plt.plot(result) plt.xlabel('日期') plt.ylabel('股價(jià)') plt.xticks(rotation=30)#調(diào)整橫坐標(biāo)刻度值的角度 plt.title('2020年1月2日-2022年12月31日華泰證券股價(jià)模擬路徑') plt.grid()總結(jié)
以上是生活随笔為你收集整理的(二十三)用几何布朗运动模拟股价走势的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批量生成奖状的简单程序
- 下一篇: A slightly scary sto