我花了一整天的时间来弄懂你的代码。Python 部分的说明很清楚,我也能复制几乎与你完全相同的回溯测试 结果。然而,文章的后半部分却相当晦涩难懂,几乎没有解释对冲交易统计套利背后的逻辑,以及博弈论究竟是如何应用的。
下面是我在使用你的代码时遇到的两个问题:
-
isPositiveDefinite() 函数旨在检查单个 3×3 协方差矩阵是否为正定矩阵。但是,在 InitializeHMM 中,您向 isPositiveDefinite() 传递的是整个 emissionCovs 数组,而不是单个 3×3 矩阵。
-
量化策略信号的方法也有缺陷。策略对数似然和策略趋势输出的信号完全相同,而 HMM 信号似乎无关紧要。从字面上看,关闭 HMM 信号不会改变任何东西,但你的整篇文章都围绕着 HMM 实现。
你的策略基于套利,手数应该是其中的关键部分。你确实有一个 calculateLotSize() 函数,但在你的演示中并没有使用。你真的相信散户交易者会交易几乎每一根 4 小时蜡烛线吗?后来的回溯测试结果并没有盈利,但你却声称应该每隔几个月就优化一次。但到底要优化什么呢?指标周期?
我读过你的很多文章,它们大多都很有趣。但是,我认为这篇文章的结构并不完善,我建议读者不要像我一样在这上面浪费太多时间。我真心希望你今后能保持文章的质量。
以下是我在使用你的代码时遇到问题的两个例子:
-
isPositiveDefinite() 函数旨在检查单个 3×3 协方差矩阵是否为正定矩阵。但是,在 InitializeHMM 中,您向 isPositiveDefinite() 传递的是整个 emissionCovs 数组,而不是单个 3×3 矩阵。
-
量化策略信号的方法也有缺陷。策略对数似然和策略趋势输出的信号完全相同,而 HMM 信号似乎无关紧要。从字面上看,关闭 HMM 信号并不会改变任何事情,但你的整篇文章都围绕 HMM 实现展开。
你的策略基于套利,手数应该是其中的关键部分。你确实有一个 calculateLotSize() 函数,但在你的演示中并没有使用。你真的相信散户交易者会交易几乎每一根 4 小时蜡烛线吗?后来的回溯测试结果并没有盈利,但你却声称应该每隔几个月就优化一次。但到底要优化什么呢?指标周期?
我读过你的很多文章,它们大多都很有趣。但是,我认为这篇文章的结构并不完善,我建议读者不要像我一样在这上面浪费太多时间。我真心希望你今后能保持文章的质量。
我也花了很多时间,这个代码并不清晰,甚至有些错误
新文章 纳什博弈论与隐马尔可夫滤模型在交易中的应用已发布:
纳什均衡是博弈论中的一个概念,假设每个参与者都知晓其他参与者的均衡策略,且没有任何一个参与者仅通过改变自身的策略就能获得更多的收益。
在纳什均衡中,每个参与者的策略在给定其他所有参与者策略的情况下都是最优的。一场博弈可能存在多个纳什均衡,也可能一个都没有。
纳什均衡是博弈论中的一个基本概念,以数学家约翰·纳什的名字命名。它描述了一种非合作博弈的状态,其中每个参与者都选择了一种策略,且没有任何一个参与者可以通过单方面改变自己的策略(而其他参与者保持策略不变)来获得好处。
作者:Javier Santiago Gaston De Iriarte Cabrera