如何计算线的斜率

时间:2018-03-04 17:22:44

标签: line diff lm quantmod

我正在尝试计算我使用getSymbols函数下载的一些股票的调整后收盘价创建的50天EMA线的斜率。

我的EMA看起来像这样:

getSymbols("COLUM.CO")
COLUM.CO$EMA <- EMA(COLUM.CO[,6],n=50)

这给了我一个额外的列,其中包含调整后收盘价的50天EMA。现在我想包含一个包含此行斜率的附加列。我相信这是一个相当简单的答案,但我真的很感激一些帮助。提前谢谢。

1 个答案:

答案 0 :(得分:2)

执行此操作的好方法是使用滚动最小二乘回归。 rollSFM可以快速有效地计算一系列的斜率。通常在时间(条形)中查看与价格活动单位相关的斜率是有意义的,因此x可以简单地为等间距点。

唯一棘手的部分是计算n的有效值,即你适合坡度的窗口长度。

library(quantmod)
getSymbols("AAPL")
AAPL$EMA <- EMA(Ad(AAPL),n=50)
# Compute slope over 50 bar lookback:
AAPL <- merge(AAPL, rollSFM(Ra = AAPL[, "EMA"], 
                            Rb = 1:nrow(AAPL), n = 50))

标有beta的列包含斜率的滚动窗口值(alpha包含截距,r.squared包含R2值。)