【发布时间】:2021-12-09 15:13:29
【问题描述】:
我仍然习惯于在 R 中工作,并认为构建一个“简单的”MACD 筛选器将是了解 R 的一些内部工作的好方法。但是,我遇到了以下问题。 我已经完全能够计算出单独股票的 te MACD 和信号线。所以现在,为了能够扫描多只股票,我不得不概括代码。我的问题是:“如何在“$-notation”中使用变量(例如当前正在查看的股票名称)? 在此之后,我计划对列表对象中的股票名称进行“for 循环”迭代。这是一种实用的方法吗?
我在下面插入了到目前为止的代码。在这段代码中,我希望将“QQQ”替换为一个变量。
library(quantmod)
tickers <- c('QQQ','SPY','APPL','MMM')
ema.s = 12
ema.l = 26
ema.k = 9
ema.t = 200
getSymbols(tickers, from = '2021-01-6',
to = "2021-10-21",warnings = FALSE,
auto.assign = TRUE)
QQQ$QQQ.EMA.S <- EMA(QQQ[,6], n = ema.s)
QQQ$QQQ.EMA.L <- EMA(QQQ[,6], n = ema.l)
QQQ$QQQ.MACD <- QQQ$QQQ.EMA.S - QQQ$QQQ.EMA.L
QQQ$QQQ.SIG <- EMA(QQQ$QQQ.MACD, n = ema.k)
【问题讨论】:
-
不要使用
$表示法。x$y与x[["y"]]几乎相同,所以使用后一种表示法。 (不同的是,如果x$y没有找到,x$y将提取x$y1,而括号表示法将给出NULL。)