使用apply查找最大值并在Quantmod中嵌入R.

时间:2015-09-29 15:33:17

标签: r quantmod quantstrat

嗨,我正在看这个网站

http://www.r-bloggers.com/backtesting-a-simple-stock-trading-strategy/

但我无法理解下面的代码:

require(quantmod)
getSymbols('^GSPC',from='1900-01-01')

daysSinceHigh <- function(x, n){
       apply(embed(x, n), 1, which.max)-1
    }

myStrat <- function(x, nHold=100, nHigh=200) {
    position <- ifelse(daysSinceHigh(x, nHigh)<=nHold,1,0)
    c(rep(0,nHigh-1),position)
}

我的问题是,如果你嵌入(x,1),那么它会将时间序列对象(GSPC)转换为矩阵。对?

但是如果你将which.max函数应用到这个矩阵中它不会找到最大值的索引(位置)(例如,在这种情况下是最大音量)?

因为您在搜索矩阵中的每个元素,所以不是最高价格。

为什么你减去1呢?

他在帖子中解释过,但我无法理解它是如何运作的......

0 个答案:

没有答案