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

 
弗拉基米尔-佩雷文科


PS。并将lm()的计算平行化。现在正是做这件事的好时机。

谢谢。

我见过如何通过foreach %dopar%在一个循环中并行化一个操作。我不知道如何把它挂到DT的一个隐藏的循环里。我不知道它是否可能更快或不快。

 
阿列克谢-伯纳科夫

谢谢你。

我见过如何通过foreach %dopar%在一个循环中并行化一个操作。我不知道如何把它附在DT的一个隐藏的环上。而且我不知道这是否会更快。

我的意思是代码的这一部分。

lm_models <-    x[,
{
        lapply(c(1:20), function(x) summary(lm(data = .SD[, c(1:x, 21), with = F],    formula = V21 ~ . -1))$'fstatistic'[[1]])
}
, by = sampling
]

用Foreach()代替lapply

 

需要几十秒才能建立的图表是有问题的。

请看这个软件包("nhstplot")。它画得很快,我认为它很好。

> plotftest(f = 4, dfnum = 3, dfdenom = 5, title = "Fisher's F test")

 
弗拉基米尔-佩雷文科

需要几十秒才能建立的图表是有问题的。

请看这个软件包("nhstplot")。它画得很快,我认为它很好。

> plotftest(f = 4, dfnum = 3, dfdenom = 5, title = "Fisher's F test")

我将看一看。但这里的半透明性在哪里,数百个叠加的物体在哪里?在繁重的条件下测试它,然后我们就会明白它是否更快。
 
弗拉基米尔-佩雷文科

啊,我会试一试的,谢谢。事实证明,lapply循环将被一个平行循环所取代。而这一切都在一个DT循环中旋转,有1000次迭代。

或者有另一种方法可以通过foreach跳过这1000次迭代。

 
阿列克谢-伯纳科夫
我当然会看一看。但这里的半透明性在哪里,数百个叠加的物体在哪里?在繁重的条件下进行测试,然后我们会了解它是否更快。

使用OpenGL显卡可以实现快速的半透明绘图。在R语言中,有一个rgl库,它更适用于3D,但如果你能做正交投影和画线,它就能满足你的需要。我无法直接弄清楚,你必须阅读文件。

明白了。

绘制半透明的线条是很容易的,你只需要一个带有X和Y坐标的表格。你还可以添加第三个Z列,以获得立体感。

library(rgl)
for(i in 1:1000){
    lines3d(cbind(1:1000, cumsum(rnorm(1000))), col="blue", alpha=0.1)
}

但结果还是很慢。根据procesexplorer判断--视频只用了5%,而一个逻辑处理器是100%。我认为R向OpenGL输入数据的速度太慢了,比它能接收的速度慢得多。不知何故,它以这种方式出现了。

只是为了杂乱无章 :) 做到这一点,将窗口最大化到全屏,用鼠标左键旋转 "数字"。

library(rgl)
for(i in 1:100){
    lines3d(cbind(cumsum(rnorm(100)), cumsum(rnorm(100)), cumsum(rnorm(100))), alpha=0.2)
}
 
你可以这样做。随机取出一百行。而分配的资金将是满的。这将会快很多
 

我终于对我之前宣布的集群想法进行了第一次尝试,这是一次试运行,只是为了看看是怎么回事,预测器很简单

5个OHLC值 的移动系列+体积+挥发性 6个预测因子,每个5个值

学习历史10万条

当然,每个预测因子都被归一化了),然后被聚类为100个群组,对不起,我胡说八道了。

这个目标是突然产生的(此刻我才刚刚坐下来),我只是以这种形式进行反转。目标是高于前4根蜡烛的极值,并高于它之后的10根蜡烛。

我开始寻找重复的模式...。

在这种没有预测因素的情况下,我发现最好的是以下模式

open high low close volum volat target_avg target_count
91      30  41    91    100   0.4        9

中的(开盘价高价低价收盘价 体积)是描述这种模式的集群的数量。

target_avg - 这是我的反转在这个模式中被触发的概率。 根据 这些预测器我没能找到任何具有 80-90%触发概率的模式。

target_count - 历史上捕获模式的次数,我没有发现任何重要的模式,使用这些 预测器捕获30-50次。

在这些预测器中 发现的最好的东西是一个模式,其中40%的时间触发了反转(目标),而且只有9个观察值(模式的数量)。

因此,这也许是唯一的有用信息,即所需的 "NO BLOW",它可以从预测器集合中提取出来,它只解释了逆转的一个原因,甚至这也是40%,不同的逆转有不同的原因,而且绝对没有10个或30个这样的原因imho。

现在想一想,MO算法如何用这样的预测器解释所有的市场波动,这是不可能的,因为预测器只能解释2%,其余的是噪音......

加上没有对统计学上的重复性进行控制,也就是说,IR可以根据一两个观察结果做出决定,事实上在95%以下的绝大多数情况下都是如此

总之,我想说的是...让我们继续一个模式,在一个新的样本上估计输入的质量,我会告诉,它远远不是奔驰,但如果它是一个被杀的Zaporozhets,那么这种方法是一个九只是从一个工厂

输入的质量要好得多,更清晰,错误更少......。

另一件事是,整个模式是...

open high low close volum volat
91   6    30  41    91    100

当我在50000个蜡烛图的新数据上运行识别时,该算法无法找到任何这样的模式,它只是没有显示出来。)

我不得不把图案剪下来,只留下价格。

open high low close volum volat
91   6    30  41    91    100

我已经找到了大约20个这样的模式

这里是模式中的条目,我没有选择任何 "最佳条目",只是按照交易完成的顺序拍了照片,当然不是所有的交易,只是前几个,这样你就可以评价了

й

eqiti很好,虽然风险比预期的大。

к

记住,这只是一个模式,而且只是短裤。

如果有人需要代码,我会把它贴出来,尽管我很怀疑,它已经很清楚了。
 

214页是一个需要学习/了解的内容。而且每个人都在谈论不同的东西,并不总是容易理解)。

是否有可能在一个帖子中总结所有这些页面,即使不是很短?类型:设定目标、解决方法、结果、结论。

让我马上说,我的市场模型是一个随机过程(布朗运动),或者说是几个(可能是很多)有反馈的这种运动的总和。而预测任何事情或寻找统计学以外的模式,绝对是徒劳的做法。也就是说,任何有意义的预测因素根本就不存在,至少在推测上是如此。

 
代码,当然。这很有趣。