交易中的机器学习:理论、模型、实践和算法交易 - 页 279

 
叶尔兰-伊曼格尔迪诺夫
说话直截了当,今天是星期天,不着急,一切都有一定的道理。我不认为你的方法是庸医,它是一个有基本基础的好方法。
有什么好说的,我可没说什么 "我的 "方法。
 
mytarmailS:
有什么好说的,我可没说什么 "我的 "方法。
你在笑什么,那就告诉我吧,我们一起笑。
 
叶尔兰-伊曼格尔迪诺夫
你在笑什么,那就一起告诉我。

谢谢你,我已经笑了。

 
mytarmailS:

谢谢你,我已经笑过了。

一切都可以被解释,会有理解。
 
桑桑尼茨-弗门科

最好能看到计算的结果

但我建议你检查自己的工具,因为问题可能在于个别功能实现的细微差别。例如,ZZ 在 "分类视图 "中的显示可能会向右移动一格,但在我的案例中没有移动,在ZZ 膝盖 结束和ZZ 衍生指标改变符号的地方。检查很简单,在学习曲线较高的地方,它更正确,主要是标志应该是没有偷看,而目标人物有义务偷看,这就是他们的本质。但事实上,特别是ZZ(其斜率)立即成为目标,因为它显示了着眼于未来的趋势和目前的理想位置方向

 
不会有事的。

好的,我将有半天时间休息...

在R中,它可以在3分钟内完成,所以如果Sanych非常想要一个pruff,他可以花这3分钟时间
 
mytarmailS:
在R中,它可以在3分钟内完成,所以如果Sanych非常想要一个测试,他可以用这3分钟来完成。

你甚至已经明白你在这 "三分钟 "内需要做什么?如果你明白了,那就录一段你在三分钟内做完的camtasia视频,第一次不要加快速度,也不要编辑。

 
噪音。

你甚至已经明白你在这 "三分钟 "内需要做什么?如果你明白了,那就录一段你在三分钟内做完的camtasia视频,第一次不要加快速度,也不要编辑。

在这里...

除了我在正弦波中加入了噪音,因为纯正弦波是可预测的,而且这两种情况下的模型预测都没有错误。

# создаем  синус
make.sin <- function(){
  t <- seq(0,50,0.1)
  s <- sin(t)
  return(s)
}
S <- make.sin()

noise <- rnorm(length(S))
S <- (S+noise)+1000

# х енкель для создания скользящего окна
hankel <- function(data, r=5) {
  do.call(cbind,
          lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))}
S <- hankel(S)

# делаем зиг и целевую с него
library(TTR)
make.zz <- function(ch=0.2){
  zz <- ZigZag(S[,ncol(S)], change = ch, percent = T, retrace = F, lastExtreme = T)
  n <- 1:length(zz);
  for(i in n) { if(is.na(zz[i])) zz[i] = zz[i-1]}
  dz<-c(NA,diff(zz))
  sig<-ifelse(dz>0, 1, ifelse(dz<0, 0, NA))
  return(list(label=sig , zz=zz))
}
Y <- make.zz()

layout(1:2)
# рисуем для наглядности синусоиду ,
# зигзаг на ней и внизу бинарный сигнал бай/сел
plot(S[,ncol(S)],t="l")
lines(Y$zz,col=4,lwd=2)
plot(Y$label ,t="l")

# подготовка данных
dat <- na.omit(  cbind.data.frame(var=S, label=Y$label) )

label <- as.factor(dat$label)
dat <- dat[,-ncol(dat)]

# тренировки модели
tr <- 1:400
ts <- 401:nrow(S)

library(randomForest)
# тренируем модель как есть те целевая
# не заглядывает в будущее на один шаг

rf1 <- randomForest(label[tr]~., dat[tr,])
pr1 <- predict(rf1, dat[ts,])

# теперь тренируем вторую модель которая
# уже пробует предсказать следующее значение

label2 <- label[-1]
dat2 <- dat[-nrow(dat),]

rf2 <- randomForest(label2[tr]~., dat2[tr,])
pr2 <- predict(rf2, dat2[ts,])

# проверяем результаты
library(caret)

#ошибка без попытки предсказать
confusionMatrix(pr1,label[ts])
#ошибка с предсказанием на шаг
confusionMatrix(pr2,label2[ts])


没有预测的平均数

准确度:0.7895

有预测的

准确度:0.6702

P.S. 我读得有点不对,因为在预测器中,我在5个值之后有正弦波本身而不是动量。5个有叠加噪声的值

 

mytarmailS:

没有预测的平均数

准确度:0.7895

有预测的

准确度:0.6702

所以...

在没有ZZ移位的情况下,森林上的加速度要高10%,这是需要证明的,因为ZZ在特定时刻预测了未来,不需要移位。

 
我会 的。

就这样吧...

在不转移ZZ的情况下,森林上的焦距多了10%,这是需要证明的,因为ZZ在特定时刻预测未来,不需要转移它。

这并不能证明什么。

这个规则很简单:在准备训练数据时,将 目标向左移动("进入未来")一格,而不管你是如何产生信号的。你有什么想法吗?

如果你不知道,我将详细描述它。

祝好运