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

 
Vizard_
radikal.ru/video/1JIag8ds57s

)))

 
Vizard_

不要陷入欣喜若狂。用几天时间冷静地消化它,旋转它...

这是个好建议。慢慢来...:-)

 
mytarmailS:

通常的水平卷!!!。天啊,你们这些人是从哪里来的?)) 啊,我忘了这是一个外汇论坛)


在小窗里?在左边的显示器上?

 
谢尔盖-查尔舍夫。

怎么了?

我自己也有同样的问题。谁能告诉我为什么会发生这种情况?

 
Mikhail Khlestov:

我自己也有这个问题。谁能告诉我为什么会发生这种情况?

每个人都是这样,看托盘结果没有意义,只看OOS,但如果系统没有识别出真正的模式(世界上有几百个人可以做到这一点),那么OOS将是对传播的一种消耗,或者更糟糕的事情。但是,要修复一个痕迹--对于任何拥有100美元和几个小时的灰名单 来说都没有问题。

 
伊戈尔-马卡努

1.我将尝试松散地引用海金的话:数据集应包含正面和负面的例子

正面的例子似乎很清楚,有待澄清的是如何教授负面的例子?

2.噪音也应该给出,但这并不完全是一个负面的例子,不是吗?

1.这是个好观点。但你忘记了--正负的比例必须与实践相对应。也是记忆中的一段话。

以同样的方式进行教学。将输入物与正极物混合使用。

2.从1.可以看出--没有噪音。

如果你只有正面,没有负面,你就不知道你在教什么。

 
伊戈尔-马卡努

1.我没有忘记,因为我不知道--没有什么好忘记的,我还想读,但就是这些小事开始了!我还没有忘记。

2.个别情况下,imho,好吧,我的目的是好的--我不想预测不可预测的,我想适应适应性)))。

顺便说一下,从哪里拿底片。既然我不知道这个任务,一般来说。

如果你要教,比如说,识别三角形,那么训练样本不仅应该包含各种三角形,而且还应该包含各种非三角形。

 
Vizard_

radikal.ru/video/m9Ct2f9xDCn

妈的......你在听什么音乐))。

 

所以,关于浮渣,如果你记得,我提出了一个关于如何将浮渣算法化的话题。我没有得到任何明确的答案,所以我不得不自己去思考......。

一开始,我试验了分配法--价格在一个水平上波动越大,这些波动越大,翻盘的可能性就越大;然而,这种方法有缺点,我放弃了。

第二种方法更好,我想与你分享,如果有人感兴趣的话......。

对于第二种方法,我使用了价格的自相关,我长期以来一直在寻找ACF指标中的平坦性迹象,并发现了两个简单的迹象。

这就是价格和ACF的模样

R-ke上的代码

layout(1:2)
x <- cumsum(rnorm(100))
plot(x,t="l")
acf(x,plot = T,lag.max = length(x))

现在是关于标志的问题

第一个符号是ACF中极值的数量(蓝色)。

第二个指标是零线与轴的交点数量(红色)。

交叉点和极值越多,平坦性越强。

一个返回上述两个属性或参数的函数

get_parameters <- function(x){
  ac <- acf(x,lag.max = length(x),plot = F)
  
  
  library(quantmod)
  
  xx <- ac$acf
  
  pi <- findPeaks(xx)
  va <- findValleys(xx)
  length(c(pi,va))
  
  flet <- rep(0,length(xx))
  for(i in 5:length(xx)){
    
    if(xx[i-1]>0 && xx[i]<0)  flet[i] <- 1
    if(xx[i-1]<0 && xx[i]>0)  flet[i] <- 1
  }
  
  x1 <- length(c(pi,va))
  x2 <- sum(flet)
  
  return(c(x1,x2))
}

该方法有一个缺点--它是一个固定大小的滑动窗口,但它可以避免,尽管该算法放慢了一百倍,这很糟糕...


现在的结果实际上是

我们认为 "平坦 "是指第一个和第二个符号超过7的情况。

在一个大小为30点的滑动窗口中的算法

在一个200个像素的滑动窗口中的算法

和代码本身

layout(1:1)
x <- cumsum(rnorm(1000))
plot(x,t="l")
n <- 200  # length roll window
for(i in n:length(x)){
  ii <- (i-(n-1)):i
  gp <- get_parameters(x[ii])
 flat <- gp[1]>=8 && gp[2]>=8
if(flat){
   rect(i-length(ii), min(x[ii]), i, max(x[ii]), col = "aquamarine3",border = "aquamarine3")
 }}
lines(x,t="l")


如果有人知道如何改进该算法,请不要犹豫。

 
mytarmailS:

见.....

在一个30个像素的滑动窗口中的算法

在一个200个像素的滑动窗口中的算法

因此,如果你把整个故事作为一个窗口,那么从头到尾都会是一个平面?