numpy的简单模拟实现股票

任务:模拟股价变化图

l定义一个1440(4*60*6)维数组,随机生成[-10, 10]的整数来模拟股价的涨跌([-10, 10]为股票涨幅百分比)

l假设开盘价为10元,生成每一时刻的股价数组

l将数组在图表中绘制出来

此处我们需要用到python下的numpy和matplotlab两个包来实现我们本次简单模拟的内容

import numpy as np
import matplotlib.pyplot as plt
nstep=1440
position=10

my_draws=np.ones(nstep)
my_draws[0]=10.0
for i in range(1,nstep):
    x = [-1, 1]
    a = np.random.choice(x)
    y= np.random.random()
    my_draws[i]=(1+a*y*0.1)*my_draws[i-1]

plt.plot(my_draws)
plt.show()

 

此时我们增加一个条件

l当股价变动超过开盘价的10%时,显示的涨停或跌停

l提示1:反映股价的数组中,超过部分直接赋值为边界值,我们只需要对数值加入判断条件就能够实现。

import numpy as np
import matplotlib.pyplot as plt
nstep=1440
position=10

my_draws=np.ones(nstep)
my_draws[0]=10.0
for i in range(1,nstep):
    x = [-1, 1]
    a = np.random.choice(x)
    y= np.random.random()
    my_draws[i]=(1+a*y*0.1)*my_draws[i-1]
    if my_draws[i]>=11:
        my_draws[i]=10*1.1
    elif my_draws[i]<=9:
        my_draws[i]=10*0.9

plt.plot(my_draws)
plt.show()

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
来表

)">
下一篇>>