如何计算线的斜率

问题描述 投票:2回答:1

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

我的EMA看起来像这样:

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

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

line diff lm quantmod
1个回答
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值)。

© www.soinside.com 2019 - 2024. All rights reserved.