文章 "在Python中使用Numba对交易策略进行快速测试" - 页 3

 
Maxim Dmitrievsky #:

按照文章中的方法,对基本模型进行强力再训练。前后两个版本:

现在优化的不是 sl/tp,而是元标签(交易/非交易)输入:

看起来像是通过噪声进行优化
 
Ivan Butko #:
看起来像是噪音优化

根据波动范围进行优化。在哪里交易,在哪里不交易

 
Maxim Dmitrievsky #:

根据波动范围进行优化。

如何计算这一参数?

在哪里交易,在哪里不交易?

是搜索一个波动值区间还是多个区间?

 
fxsaber #:

如何计算这一参数?

是搜索波动值的一个区间还是多个区间?

一个固定宽度的区间。即优化区间边界。

然后保存一个包含最佳变体的数组,就像 MT5 优化器一样,您可以进行选择。

甚至还有最小交易次数过滤器。

 

如果精通统计学,问题是哪种方法更好:

  • 优化图表上 n 个参数的 TS
  • 建立一个基本的再训练模型(一定的通用交易基础),然后寻找其稳健性的区间。
  • 两种方案都是曲线拟合
 
Maxim Dmitrievsky #:

如果有精通统计的人,问题是哪个更好:

  • 优化图表上 n 个参数的 TS
  • 建立一个基本的再训练模型(一定的通用交易基础),然后寻找其稳健性的区间。
  • 两种方案都是曲线拟合

克劳德的回应坦率地说,其他模型的反应都很差(除了 gpt-o1,我没有它):

从数理统计的角度,我们来分析一下这两种方法:


带 n 个参数的优化:

- 优点

* 直接搜索最优参数

* 可以设置特定的约束条件

- 缺点

* 当 n 较大时,存在 "维度诅咒 "问题

* 过度训练的高风险

* 难以验证结果


2.建立过度训练模型,然后寻找稳健区间:

- 优点

* 更好地理解稳定模式。

* 能够识别真正稳定的依赖关系

* 结果验证更可靠

- 缺点:

* 难以确定稳健性标准

* 遗漏重要非线性相互作用的风险。


从 matstat 的角度来看,第二种方法更可取,原因如下:


1.统计意义:

- 可以更好地评估所发现模式的统计意义

- 提供应用假设检验方法的机会


2.结果的弹性:

- 根据定义,稳健区间对市场条件的变化更加稳健

- 降低数据窥探偏差的风险 3.


3.通用性:

- Лучше работает principle of parsimony ([бритва Оккама](https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%9B%D0%B5%D0%B2%D0%B5%D0%BD%D1%88%D1%82%D0%B5%D0%B9%D0%BD%D0%B0))

- 更有可能发现真正有效的模式 4.


4.控制过度学习:

- 明确分为模型建立阶段和稳定区域提取阶段

- Возможность применения [кросс-валидации](https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%BE%D1%81%D1%81-%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F)


总的来说,第二种方法更科学合理,更符合统计推断的原则,尽管它需要更严格的方法。

 
阿列克谢-尼古拉耶夫将是一个很好的主题:)
 
Maxim Dmitrievsky #:

构建过度拟合模型,然后寻找稳健区间

让我们设想一下,报价由包含模式的小区间和包含噪声的大区间组成。将所有区间放在一起训练是一种非常弱的模式检测。因此,即使您后来找到了这些区间,那里也会有一个低劣的模型--远不如在这些区间上建立的模型最佳。


因此,最好是先寻找区间,然后在区间上进行训练。这是第三种选择。

 
fxsaber #:

让我们设想一下,报价由小区间的模式和大区间的噪声组成。把它们放在一起训练,对规律性的检测能力非常弱。因此,即使你后来找到了这些区间,那里也会有一个低劣的模式。

接受,很有道理:)
 
Maxim Dmitrievsky #:

克劳德的答复

从 matstat 的角度来看,第二种方法更可取

关于 "合理性 "的讨论太多了。我甚至都没想过要问这个问题。