任务:模拟股价变化图
l定义一个1440(4606)维数组,随机生成[-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()
版权归原作者 wolfwalker 所有, 如有侵权,请联系我们删除。