Python的一般财务分析(第2部分)

继续吗?

滑动窗(移动窗)


在标题中,我引用了直译。如果有人纠正了我,而另一个术语更适用-谢谢。

滑动窗口的含义是,对于每个新值,将在给定的时间段内重新计算该函数。这些功能很多例如:rolling.mean(),rolling.std(),它们最常用于分析库存变动。Rolling.mean()是常见的移动平均线,它可以消除短期波动并允许您可视化整体趋势。

#     
adj_close_px = sber['Adj Close']

#   
moving_avg = adj_close_px.rolling(window=40).mean()

#  
print(moving_avg[-10:])

图片

可以让您了解通过此功能获得的结果的图形:

#    
sber['40'] = adj_close_px.rolling(window=40).mean()

#    
sber['252'] = adj_close_px.rolling(window=252).mean()

#   
sber[['Adj Close', '40', '252']].plot(figsize=(20,20))

plt.show()

图片

如您所见,rolling.mean()处理任务。该函数可消除短期波动,并允许您查看长期趋势,以便您可以做出决定:价格高于所讨论的移动平均线-我们持有股票,较低-我们卖出股票-如果简单的话,我不建议您采用此方法。通常,除移动平均线外,还使用其他指标来确认决策的正确性。每个人都必须根据交易方式做出自己的决定。

挥发性


股票波动率是一段时间内股票收益的方差变化。他们通常将一种股票的波动性与另一种股票的波动性进行比较,以了解可能具有最大风险的想法,或者通过市场指数来了解股票相对于市场的波动性。通常,波动性越高,对该股票的投资风险就越大。应该注意的是,它不是恒定的,并且会随着时间而变化。这可以通过pandas包中包含的rolling.std()函数再次看到。计算波动率变化的示例:

#   
min_periods = 60 

#  
vol = daily_pct_change.rolling(min_periods).std() * np.sqrt(min_periods) 

#  
vol.plot(figsize=(10, 10))

plt.show()

图片

请注意,与上周不同,我获得了另外两个价值-莫斯科交易指数(IMOEX.ME)和RBC(RBCM.ME)。在下一个最小二乘法方法中,我将需要它们的值。今天就这些。

All Articles