mt5期货_股票一组指标信号贝叶斯

文章的标题提到了 朴素贝叶斯分类器。它基于著名的 贝叶斯公式, 本文会进行简要的研究。它之所以被称为 "朴素", 在于公式以随机变量的独立性为必要假设。指标的独立性将在后面讨论, 但现在 — 是公式本身。

添加图片注释,不超过 140 字(可选)

(1)

其中 H 是系统内部状态的假设 (在我们的案例中是行情状态和交易系统的假设), E 是观察事件 (在我们的案例中是指标的信号), 和它们的概率描述:

  • P(H) 是先验概率, 从观测历史已知, 状态 H 的概率;

  • P(E) 是事件 E 的总概率, 考虑了所有存在的假设, 其中几个通常存在 (应当注意的是, 假设必须是不相交的, 即系统中一次只能有一个状态; 链接是为那些想深入研究理论的人所提供);

  • P(E|H) 是假设 (状态) H 为真时, 事件 E 的发生概率;

  • P(H|E) 是当观察事件 E 时, 假设 (状态) H 的后验概率。

考察一个简单的交易系统为例。行情状态诸如走势向上 (买入), 走势向下 (卖出) 和横向波动 (等待) 通常视为假设 H。指标信号描述的行情可能状态可作为事件 E。

对于特定指标的信号, 可依据历史数据轻松地从公式 (1) 的右侧计算概率, 随后找出行情最可能的状态 P(H|E)。

然而, 计算需要对假设和收集统计数据的方法进行更明确的定义, 这将作为获取概率的依据。

首先, 假设交易依据柱线 (而非即时报价) 进行的。交易绩效可以通过盈利, 盈利因子或其它特征来评估。但为了简单起见, 我们将使用入场的盈亏比率。这便直接将系统的评估与成功交易 (使用信号) 的概率联系起来。

我们还将限制我们的交易系统, 不使用止盈和止损价位, 无需尾随停止以及修改手数。所有这些参数都可以引入到模型中, 但是它们会使概率的计算复杂化, 并将其转化为多维分布。交易系统的唯一参数是以柱线为单位的持仓时间。换言之, 一旦使用指标在选择的方向上入场, 则在预定时间之后自动执行离场。这种做法的好处在于它强调了在报价增长或下降基础上所做假设的正确性或虚假性。假设以这种纯粹的形式进行测试, 无需保障和铺垫。

添加图片注释,不超过 140 字(可选)

为了完满地简化这个话题, 我们将做出两个激进的举动。

上面提到的 "买入", "卖出" 和 "等待" 通常被视为交易假设。忽略 "等待" 将大大减少计算, 而阐述不会缺失一般性。似乎这种简化会对获得的结果的适用性产生负面影响, 至少部分如此。然而, 如果您注意到, 即便如此简化仍需阅读大量的材料, 那么, 您也许会同意首先取得操作模型是一件好事, 然后逐步补充细节。那些想要构建更复杂模型从而研究概率密度的人可在互联网上找到相应的成果 包括英语, 如 合并财务的推理方法技术指标, 其中描述了一种混合概率决策系统。

最后, 第二个也是最后一个激进的举措是将 "买入" 和 "卖出" 的状态结合在一起, 但具有普遍意义 — "入场"。一款指标的不同指向信号, 通常以相似的方式对称使用。例如, 根据指标的超买状态变成卖出信号, 而超卖状态 — 为买入信号。

换言之, 假设 H 现在是两个方向 (买入或卖出) 中成功的入场。

在这些条件下, 公式 (1) 右侧的概率可以根据选定的报价历史计算如下。

添加图片注释,不超过 140 字(可选)

由于可以在任何柱线上成功入场 — 其中一个方向变得有利可图 (此处忽略点差, 因为 D1 被选为操作时间帧, 更详细的描述如下)。

P(E) = 带指标信号的柱线数 / 柱线总数

P(E|H) = 盈利交易方向匹配的指标信号柱线数 / 柱线总数

可以使用简化后获得的公式, 依据历史数据计算所选指标的信号指向成功交易条件的概率。

添加图片注释,不超过 140 字(可选)

(2)

其中 Nok 是正确信号的数量, Ntotal 是信号的总数。

用于计算任意指标概率的框架将会稍后实现。如我们将看到的, 这个概率通常接近 0.5, 有必要进行一些研究, 以便找到稳定超过 0.5 的条件。然而, 数值较大的指标是罕见的。对于主要研究的标准指标, 概率在 0.51-0.55 的范围内变化。很明显, 这些数值太小, 更像是 "盈亏平衡", 而不能令资金稳定地增长。

为了解决这个问题, 需要使用多个指标而不仅仅是一个指标。这个决定本身就不是新的, 它被大多数的交易者所使用。但是, 概率理论允许对不同组合的指标效率进行定量分析, 并评估潜在的影响。

公式 (1) 对应三个指标 (A, B, C) 的情况, 将如下所示:

添加图片注释,不超过 140 字(可选)

(3)

应该采用方便算法计算的形式。幸运地是, 贝叶斯理论可应用在许多行业, 因此可以为我们的案例找到现成的食谱。

特别是, 有这样的一个领域 朴素贝叶斯垃圾过滤。没有必要彻底研究它。仅有基本概念是相关的。如果一份文档 (例如, 电子邮件) 当中包含某些特征单词, 则它被标记为垃圾。一般单词在语言中出现的概率, 以及在垃圾中发现的概率是已知的。类似地, 我们已知指标信号的一般概率及其 "命中率" 的百分比。换句话说, 为了使垃圾处理理论完全融入我们的概率交易理论中, 用 "成功交易" 来代替 "垃圾" 假设, 以及 "指标信号" 来代替 "单词" 事件就足够了。

那么公式 (3) 可以通过独立指标的概率以下列方式进行扩展 (见上面的计算):

添加图片注释,不超过 140 字(可选)

(4)

根据公式 (2) 分别计算每个指标的 P(H|A), P(H|B), P(H|C)。

当然, 在必要时将公式 (4) 扩展到任意数量的指标是很容易地。为了得出指标数量如何影响正确交易决策的概率的想法, 假设所有指标具有相同的概率值:

添加图片注释,不超过 140 字(可选)

则公式 (4) 变为:

添加图片注释,不超过 140 字(可选)

(5)

其中 N 是指标数量。

N 的各种数值的函数图形显示在如图例 1 当中。

添加图片注释,不超过 140 字(可选)

图例. 1. 带有不同数量随机变量的联合概率的外貌

因此, 在 p = 0.51, 我们得到 P(3) = 0.53, 这是不利的; 但在 p = 0.55, P(3) = 0.65, 这是一个明显的改善。

指标的独立性

上面研究的公式是基于所分析的随机过程的独立性假设, 其为这种情况下的指标信号。但遇到这种条件了吗?

显然, 某些指标, 包括许多来自标准的指标, 有很多共通之处。作为直观的图解, 图例 2 显示了一些内置指标。

添加图片注释,不超过 140 字(可选)

图例. 2. 一组相似的标准指标

很容易看出, 相同周期的随机指标和 WPR 指标, 在最后一个窗口中相互交叠, 彼此几乎重复。这并不令人惊奇, 因为它们的公式是等价的。

在屏幕截图中的稍高处, MACD 和动量振荡器指标相同, 针对移动均线类型进行了修正。此外, 由于都是基于移动平均线 (MA) 来绘制的, 所以它们不能被称为独立于 MA 本身。

RSI, RVI, CCI 也是强相关的。应当注意的是, 几乎所有的标准振荡器都是相似的, 相关系数接近 1。

特别是 ATR 和 StdDev, 波动指标之间显著巧合。

在形成交易系统的一套指标时, 应考虑所有这些因素, 因为所依据指标的委员会的真实效果在实际中将远远低于理论期望。

顺便说一下, 当训练神经网络时也会发生相同的情形。交易者们经常用它们来尝试处理来自众多自愿选择的指标数据。然而, 喂养依赖载体作为输入显著降低了训练的效率, 因为网络的计算能力被浪费。所分析数据的容量也许看起来很大, 但其中包含的信息是重复的, 没有意义。

针对这个问题的严格方法需要计算指标和最小成对数值形成的集合之间的相关性。这是一个单独且大范围的研究。有兴趣的人可以在互联网上找到相关文章。在此, 我们所遵循的一般思路将会基于上述观察结果。例如, 其中一组也许如下所示: 随机, ATR, AC (加速/减速) 或 WPR, 布林带, 动量。

应当注意的是, 加速/减速 (AC) 指标本质上是振荡器的派生体。为什么它适合纳入该组?

我们以简化的形式来表示报价序列 (或从它们派生的振荡器) 作为周期性振荡, 例如余弦或正弦。这些函数的导数等于:

添加图片注释,不超过 140 字(可选)

(6)

添加图片注释,不超过 140 字(可选)

这些函数与其导数的相关性为零。

添加图片注释,不超过 140 字(可选)

(7)

添加图片注释,不超过 140 字(可选)

所以, 通常考虑使用指标的一阶导数作为额外独立指标的良好候选者。

另一方面, 二阶导数在这种振荡处理中是一个可疑的候选者, 因为得到原始信号副本的机会很高。

为了总结有关指标独立性的讨论, 有意将参照不同周期计算的指标副本视为独立的。

可假设答案取决于周期的比率。轻微的差异显然掩盖了指标的依赖性, 因此需要明显的差异。这与经典方法有部分一致, 例如 Elder 的三联屏方法, 其时间帧通常与不同时间周期的分析指标有相当于 5 倍的差别。

应当注意的是, 在所研究的系统中, 不仅指标值事实上应是独立变量, 且交易信号应由它们直接产生。然而, 对于大多数相同类型的指标 (例如振荡器), 交易信号产生的原理是相似的。所以, 时间序列的强弱依赖性等价于信号的强弱依赖性。

设计

所以, 我们已掌握了这个理论, 如今已准备好去了解怎样以及如何编码。

指标的交易信号统计将在特殊的智能系统中收集。为令智能系统能够根据任意指标的数值进行交易, 有必要实现一个框架 (本质上是一个 mqh 头文件), 它通过输入参数获取所用指标和信号生成方法的描述。举例, 在设置中应有一个选项可以设置两条不同周期的移动平均线, 并且当快速均线穿越慢速均线时分别产生买入和卖出信号。

EA 将由柱线开盘明确控制, 并以开盘价进行交易。这不是真正的智能系统, 而是计算概率和测试假设的工具。其重点是快速检查, 因为指标集合有无穷多个选项。。

D1 将用作省缺的操作时间帧。当然, 没有什么可以阻止您使用任意其它时间帧进行分析。不过, D1 最不容易受到随机噪声的影响, 并且存在于若干年份中的规律性分析更符合概率方法的特异性。此外, D1 的交易策略通常可以忽略点差, 从而抵消系统的 "等待" 状态。然而, 对于日内交易, 无法做出这样的假设, 有必要计算更多假设数量的概率。

如早前所述, EA 将根据指标信号开仓, 并在预定时间后平仓。为此目的, 引入相应的输入参数。其省缺值为 5 天。这是 D1 时间帧的一个特征周期, 它被用于众多也使用 D1 进行交易的研究。

EA 和框架将是跨平台的, 也就是说, 它们将能够在 MetaTrader 4 和 MetaTrader 5 中编译和运行。该功能将由公开的包装头文件提供, 这些文件允许在 MetaTrader 5 环境中使用 MetaTrader 4 的 MQL API。甚或, 在某些情况下将会条件编译: 代码的特定部分将封装在 #ifdef __MQL4__ 和 #ifdef __MQL5__ 预处理程序指令中。

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值