把"漂移"加上
在上一个练习中,您模拟了遵循随机游走的股价。本题将在两个方面进行扩展。
- 您将观察带有漂移的随机游走。许多时间序列(如股价)是随机游走,但通常会随时间上行漂移。
- 在上一个练习中,随机游走中的噪声是加性的:把服从正态分布的随机价格变动加到上一期价格上。然而,加性噪声理论上可能得到负价格。现在您将把噪声改为乘性的:先在服从正态分布的随机变动上加 1 得到总回报,再将其乘以上一期价格。
本练习是课程的一部分
Python 中的时间序列分析
练习说明
- 使用
np.random.normal()生成 500 个随机正态分布的乘法「步长」,均值为 0.1%,标准差为 1%,这些值表示回报率;再加 1 得到总回报。 - 模拟股价
P:- 使用 numpy 的
.cumprod()方法对步长做累乘。 - 将总回报的累乘结果乘以 100,使起始值为 100。
- 使用 numpy 的
- 绘制带漂移的随机游走模拟结果。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Generate 500 random steps
steps = np.random.normal(loc=___, scale=___, size=___) + ___
# Set first element to 1
steps[0]=1
# Simulate the stock price, P, by taking the cumulative product
P = ___ * np.cumprod(___)
# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk with Drift")
plt.show()