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

 
mytarmailS:


有什么问题吗? 请帮助


它的工作原理是这样的。

test_vec <- numeric() # тут будем хранить показатели теста 


for(i in 151:ln){

print(i)

idx <- (i-150):i

#проводим линейную регрессию для определения правильного соотношения

x <- data[idx, ]

model <- lm(ri ~ si + 0, x)

#вычисляем разницу цен (спред)

spread <- x$ri - coef(model)[[1]] * x$si

#проводим тест Дики-Фуллера на стационарность

test <- adf.test(as.vector(spread), k = 0)

test_vec[i-150] <- test$p.value

}


plot(test_vec, type = 's')

 
阿列克谢-伯纳科夫

首先,R^2 0.55可以通过对 "元函数 "进行一些小的函数转换来现实地实现。另一件事是,这个函数的形式原来有点复杂。

还有一件事--尝试采取。

rowMeans(df[,1:10])

...

我增加了10个新的列,这对nnet来说没有任何改变,结果和学习曲线基本保持不变,模型选择了相同的预测因子。

但这棵树突然给出了更好的结果。森林也变得更好了,但有一棵树自己领先(伪r^2=0.39),这里是新数据上有拨浪鼓的图表。

树只选择了rowMeans[,1:50],记住了它在训练数据中的数值。因此,在rowMeans[,1:50]和目标之间存在着非常密切但非线性的关系。

虽然,如果我们只留下这10个新的预测因子,那么nnet将训练到r^2=0.22,也是更好的。

 
Dr.Trader:

我增加了10个新列,对nnet来说没有任何改变,结果和学习曲线都差不多,模型选择的预测因子也一样。

但这棵树突然给出了更好的结果。森林也变得更好了,但有一棵树自己领先(伪r^2=0.39),这里是新数据上有拨浪鼓的图表。

树只选择了rowMeans[,1:50],记住了它在训练数据中的数值。因此,在rowMeans[,1:50]和目标之间存在着非常密切但非线性的关系。

虽然,如果我们只留下这10个新的预测因子,那么nnet将训练到r^2=0.22,也是更好的。



完全正确。平均值(1:50)。良好的结果。现在我将尝试对函数的近似进行一些改进。如果你不介意的话,请贴出发现的修复与模拟输出的散点图。为NS或为随机森林。我将在事后公布我的。应该有一个非线性。

 

阿列克谢-伯纳科夫

那里应该有一个非线性。

从图上看,有一点联系。但神经元和树都只检测到一些总体趋势。而单单这个预测器显然不能用来训练模型,你不能从一棵树上得到更多。

 
Dr.Trader:

从图上看,有一点联系。但神经元和树都只显示了一些一般趋势。而单靠这个预测器显然无助于训练模型,不可能从树上得到更多。

谢谢你,谢谢你。

是的,我同意。

我的图表。

最大限度地减少rmse

真正的依赖性。

模型。

真实和模型。

最初的概念是纯粹的。

考虑到你已经看到的噪音问题,真实的结果如何。


尽可能好的建模质量。

 
阿列克谢-伯纳科夫

它是有效的。

谢谢你,我没有想到...
 
Dr.Trader:

从图上看,有一点联系。但神经元和树都只显示了一些一般趋势。而仅靠这个预测器显然不足以训练模型,不可能从树上得到更多。

我们必须对任务进行总结,写出我们所理解的内容。

所有的假设是,在现实生活中,我们对依赖性的类型一无所知。

我的理解是,。

1)从一些简单的寓言故事中拉出一个依赖性,如价格回报,是很困难的,很多方法都不好用。但根据一般原则,你可以通过卷积得到一个近似的解决方案。

2)如果你提前生成了大量的特征,那么很有可能传统的方法会很好地发挥作用。

3)在卷积式NS之后,原始芯片上最好的质量指标是传统NS,其次是其他方法,结果大致相同。

4)在很多潜在的生成的文件夹上,森林,NS工作得很好。

5)让卷积NS自己来收集芯片,而不是由人类来收集,是否更可取,仍然是一个开放的问题。找到正确的卷积架构可能和提前生成一堆特征的工作一样多。

你能补充什么,博士?

 

当你第一次发布问题时,我试着生成小说,算法整晚都在经历不同的数学组合,通过vtreat估计选择最佳的新预测器。没有积极的结果,该模型甚至不能正确地从新的预测因素中学习。因此,要么是随机的,猜对了预测器和对它们进行数学运算,要么就不是。你可以花几天时间来生成和尝试变体,但仍然是无用的。由于原始预测器上的卷积网络 得到的结果比通常的行均值网络要好,所以坚持使用卷积网络可能更好。

 
Dr.Trader:

当你第一次发布问题时,我试着生成小说,算法整晚都在经历不同的数学组合,通过vtreat估计选择最佳的新预测器。没有积极的结果,该模型甚至不能正确地从新的预测因素中学习。因此,要么是随机的,猜对了预测器和对它们进行数学运算,要么就不是。你可以花几天时间来生成和尝试变体,但仍然是无用的。由于卷积网络在原始预测器上得到了比通常的行均值网络更好的结果,我认为使用卷积网络更好。

谢谢你,博士!

是的,这也是一个很好的观点。只是我过去有一个习惯,就是用滑动的增加窗口扣除总和,以及用滑动的滞后和所有其他滑动的东西扣除差异。

我看到我有这样的观念,即要为几乎所有的东西(几乎!)建立模型,只要采取预测器的形式就可以了。

current_price - price(lag1)

current_price - price(lag2)

...

current_price - price(lag_n)

这可以被视为移动总和(很容易转换为平均数),趋势的任何配置都可以再现:在不同地方的拐点,速度,加速度。

说到卷积网络,我建议在我引用的代码上尝试做一些实际的事情。并重点分析网络的权重和内核。内核将显示卷积的种类。权重可以显示重要性和非线性。

就个人而言,我目前正在从我的主要实验中休息,尽管那里已经有一些可以容忍的结果。只是越来越无聊了...我决定尝试用卷积网络预测一个股票工具。开销相当低(比外汇点差低一个数量级),而且有一种幻想,那就是它能成功。我以后会告诉你更多关于它的情况。

关于CNN的快速课程:http://cs231n.github.io/convolutional-networks/

 

这些视频讲座曾经也在YouTube上,后来被删除了,但它们仍然在archive.org上 -https://archive.org/details/cs231n-CNNs

用英语,但信息量很大,很有用。主要是关于卷积网的图像识别,但也有很多关于一般神经元的有用信息。