0


numpy的简单模拟实现股票

任务:模拟股价变化图

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()

标签: python

本文转载自: https://blog.csdn.net/weixin_62684026/article/details/124188267
版权归原作者 wolfwalker 所有, 如有侵权,请联系我们删除。

“numpy的简单模拟实现股票”的评论:

还没有评论