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

 
Maxim Dmitrievsky #:
是的,当存在大量噪声时,方差最大的成分无法显示任何东西。我不明白第二个数据集是如何参与其中的,但这也是 kozul 的东西,他的视频中也有关于三元组的内容。

看来第二个数据集只是为了找到与第一个数据集的对比。看来,两个数据集的协方差矩阵被巧妙地进行了比较。

 
Aleksey Nikolayev #:

这些似乎都是非线性的,如果我没弄混的话,这些都和 PCA 一样是线性的。

是的,它们是非线性的,但这是坏事吗?


我尝试了对比 PCA,得到的结果与 PCA 几乎一样。

这个小图 展示了所有不同类型的对比。

它显示了 PCA 在其他方法面前显得多么 "苍白",但如果数据不仅进行了归一化处理,而且还进行了居中处理(我已经单独进行了居中处理),那么普通 PCA 在这里展示的数据上就会得到相同的结果。

 
mytarmailS #:

是的,非线性,但这是坏事吗?


我尝试了这种对比 PCA,得到的结果与 PCA 几乎一样。

这个小图 展示了所有不同类型的对比。

它显示了 PCA 在其他方法面前显得多么 "苍白",但如果数据不仅进行了归一化处理,而且还进行了居中处理(我已经单独进行了居中处理),那么普通 PCA 在此处展示的数据上就会得到相同的结果。

与这些测试数据相比,PCA 的结果可能 "差强人意",而皮质的结果也是如此?
 
Forester #:
与这些测试数据相比可能 "差 "了一些,而在科特洛夫基上得到的结果是一样的吗?

不,他们自己的数据也是一样的


=============

library(scPCA)
label <- toy_df$label
data <- toy_df[, -31]


pca <- prcomp(data,center = TRUE)
plot(pca$x,col=label,lwd=2,main = "обычный РСА")

cpca <- scPCA(target = data, background = background_df, penalties = 0, n_centers = 4)
plot(cpca$x, col=label, lwd=2,main = "контрасный РСА")

我就是这么做的。

npca <- prcomp(data,center = TRUE,scale. = TRUE)
plot(npca$x,col=label,lwd=2,main = "обычный РСА + нормализация")

library(umap)
um <- umap(data)
plot(um$layout,col=label,lwd=2,main = "umap без нормализации данных")

num <- umap( scale(data,center = TRUE,scale = TRUE) )
plot(num$layout,col=label,lwd=2,main = "umap + нормализация")



是这样的....我们得出自己的结论。

 

我们的目标不是在特定数据集中找到中心点,而是以灵活的方式找到数据的成功表现形式。这种方法就可以做到这一点。我想 yumap 也能做到这一点,但就稳定性而言,线性通常总是比非线性好。

这是一种不错的方法,但还有更漂亮的方法。

如果有人正在使用 cPCA,我们可以讨论一下。

 

我发现了另一个问题。
,我找到了一个很好的变体,即每周对 5000 行 M5(3.5 周)进行一次训练。我决定将所有数据转移到 300 行,比如不在周六训练,而是在周二训练。结果,OOS 模型从盈利变为不盈利。
这些新的 300 行(约占总数的 8%)带来了其他筹码和其他拆分,对于略有变化的数据变得更好。
在 50000 行中重复移动 300 行。这似乎只占新行的 0.8%。但 OOS 的变化也很明显,尽管没有 5000 行那么大。

总的来说,不仅窗口的大小适合,窗口的起始位置也适合。微小的偏移也会对结果产生很大影响。没有明显的特征,一切都在 50/50 ± 1-2% 的边缘。
 
我会忘记间歇性再训练。在这个问题上,RL 已经显示出它的失败。Wizard 也写过这方面的文章,当时我还在做这类事情。那里有 50 多篇文章,方法很多,不可能集中精力做任何事情:)
 

先生们,本主题的专家和院士们,请就以下问题发表您的看法:

如果我们把外汇看成是游戏中的游戏。就像国际象棋。或者围棋,或者其他什么。
我们将游戏分成几批:每批 500 步。每一步是每小时的收盘价。500 步是一个月的平均交易时间。
我们输入任何东西 + 余额状态。
我们设定两条规则:如果余额下降 30%,或者游戏结束时余额为负数,则游戏重新开始。
共有 N 个游戏(假设 120 个,相当于 10 年)
目标是在所有游戏中获胜,无论加数是多少。

代理的操作:
1) 买入 0.01
2) 买入 0.02
3) 买入 0.03
4) 买入 0.04
5) 买入 0.05
6) 买入 0.06
7) 买入 0.07
8) 买入 0.08
9) 买入 0.09
10) 买入 0.1

11) 卖出 0.01
12) 卖出 0.02
13) 卖出 0.03
14) 卖出 0.04
15) 卖出 0.05
16) 卖出 0.06
17) 卖出 0.07
18) 卖出 0.08
19) 卖出 0.09
20) 卖出 0.10

21) 收盘 0.01
22) 收盘 0.02
23) 收盘 0.03
24) 收盘 0.04
25) 平仓 0.05
26) 平仓 0.06
27) 平仓 0.07
28) 平仓 0.08
29) 平仓 0.09
30) 平仓 0.10

31) 全部平仓

32) 不开仓
33) 跳过一个动作

共计 33 个动作。

奖励是递延的--等于部分和全部仓位的开仓价 与平仓价之差。
输入余额将给出代理所知道的状态的一部分。毕竟,根据规则,代理的行为必须改变环境的状态。代理无法改变价格图,但他可以影响其输入状态的余额。这就好比棋盘上的棋子。代理不知道用这些棋子能走多少万步,但他知道自己在棋盘上还剩下多少棋子。

因此,没有必要记住每一根下一根蜡烛(是负数还是正数),但我们要学会牺牲小的平局(棋盘上的棋子),以便在最后获得利润。

我在互联网上读到过如何训练神经网络,如果它有一个以上的输出,他们写到 DQN。


毕竟,在国际象棋中,状态的数量是有条件的未知数
,而在这些条件下,神经网络比人类 更胜一筹。为什么不在 "该死的外汇 "游戏中尝试类似的方法呢?

 
Ivan Butko #:

先生们

问题是什么?
 
mytarmailS #:
那么问题是什么?

对试图通过教代理玩游戏来教外汇的看法。

是否有鱼,也许尝试过类似的东西,是否有经验。