【问题标题】:Moving average with moving length [duplicate]具有移动长度的移动平均线[重复]
【发布时间】:2015-11-29 16:59:22
【问题描述】:

如何使用不同时期的不同长度参数计算 R 中的移动平均线(或其他技术指标)?

require(quantmod)
library(chron)
library(caTools)

## rm(list = ls())

#  Get the data
from.dat <- as.Date("2015-01-01")
#to.dat <- as.Date("2000-01-01")

ES <- getSymbols("^GSPC" , from = from.dat,auto.assign = FALSE) # to today

data <- ES
rm(ES)
data<-data[,6]
names(data)<-c("ES")


# create vectore with dummy values
data$num <- rep(10,length(data$ES))
for(i in 2:length(data$num)){
        if (data$num[i-1] == 10) {data$num[i] <- 5}
}


# moving average with moving length
data$sma<-SMA(data$ES, data$num )
plot(data$ema)

该图甚至没有显示移动平均线。如何使用带有移动长度参数的技术指标?

【问题讨论】:

    标签: r statistics algorithmic-trading


    【解决方案1】:

    如果我理解你的正确性,你希望 data$sma 是一个交替的长度为 5 的平均值和长度为 10 的平均值的向量。

    l5sma <- SMA(data$ES, 5) 
    l10sma <- SMA(data$ES, 10)
    
    data$sma <- ifelse(data$num == 5, l5sma, l10sma)
    plot(data$ES)
    lines(data$sma, col = 3)
    

    【讨论】:

    • 谢谢 Floo0,但我正在寻找一些更通用的脚本。如果我有一个向量,其中包含更多随时间变化的“长度”元素怎么办?
    猜你喜欢
    • 2017-09-01
    • 2020-07-24
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2022-01-26
    • 1970-01-01
    • 2011-06-29
    相关资源
    最近更新 更多