市场变动及其预测的统计分析

--- | 17 三月, 2016

简介

本文深入探讨统计方法在市场中的广泛机会。遗憾的是,交易新手故意不应用非常强大的统计学。同时,这又是他们在分析市场时潜意识使用的唯一工具。此外,统计可以为很多问题给出回答。交易员可以更深入地分析交易及其条件,从而找到更加灵活的终极交易方案。

事实上,任何对 Expert Advisor 编程基础了解非常少的交易者会使用内置的测试程序优化。但是,我们会担心他/她并不一定能完全认识到,收集和分析统计是一种非常强大的方式。

问题说明

建议至少 99.9% 的交易者使用分析市场及其预测的指标或指标组合,这一点一定不会有错。交易者“开始了解”任何指标的过程都是从单纯的可视联系开始的。交易者分析指标读数,将其与价格图表相关联,并尝试找出稳定的规律。如果找不出这些可视规律,交易者会暂不考虑此指标。如果指标读数变化与价格变动之间的稳定关系显而易见,则进一步的工作将进入第二个阶段,即定量研究,以便成功地预测价格,也可能成功地开发 Expert Advisor。
在长时间的熟悉某个指标或指标组合后,交易者将开始根据审慎性原则解读它们的信号 - “向上打开”、“向下打开”或“无信号”。换言之,交易者将指标读数的整个设置仅限为明确的处理,这样简化了市场预测。

例如,图 1 显示周期 5 和 7 的两个 EMA 的组合。


图 1信号离散化示例 - 两条 MA 相交。

在价格图表下,有一个离散指标。由于描述性原因,我们没有使用“0”和“1”,但使用了不同颜色。绿色信号用于表示买入(快速 EMA5 与慢速 EMA7 向上相交),红色信号用于表示卖出(快速 EMA5 与慢速 EMA7 向下相交)。


我们可以添加其他的绿色和红色“信号量”,例如 SAR 和 ADX 的组合(图 2)。

图 24 个指标的组合 - EMA(%)、EMA(7)、SAR(0.02, 0.2) 和 ADX (14)

因此,我们将拥有 EMA 相交的过滤信号,例如,此相交能够避免在 9 月 10 日 3.00 时误入;另一方面,我们将在 9 月 7 日较晚进入市场。
如果我们继续增加此类信息量的数目,将导致系统直接根据上一个最慢的指标进入。图 3 允许查看时间间隔,其中红色或绿色条带在所有指标中占主导地位,说明有关变动方向的准确预测。短期部分完全不在此方法范围之内,因为其中一个指标对于此变动做出响应的速度不够快。

当然,当每个“信号量”与其自己的交易单位份额相一致而且位置已被新的信号量确认时,可以创建一个 MM,手数数量将在很大程度上朝某个方向(卖出或买入)增加。或者,我们可以等待进场/退场信号,直到所有信号量份额的总体可能性超过阈值(例如 50/50)。我们认为,在第一个例子中,我们不仅无法获利,还甚至会由于进场/退场有误,即使用尽所有方法也会产生亏损。同时,在第二个(替代)例子中,将根据既不是最快也不是最慢的指标执行进场和退场。这意味着仍会有错误的进场/退场。

图 3信息量叠加 - “一天之内所有信息量共同作用”

因此,一方面,信号离散化促使准确地形成进场/退场算法,但是,在另一方面,它带来负面后果,即进场错误。遗憾的是,进场错误的原因是在看到离散(已解释)指标值时无法理解。它只能是在输入数据和连续值集合中。通过后者,不仅可以看到离散化,还可以看到这些信号的强度和性质,它们的历史兼容性以及相关处理。但在这里我们面临一个问题。我们如何让计算机“看到”,而不仅仅是做出响应?

当前工作的主要问题是:

1) 针对用于预测高概率的进一步趋势变动的指标,找到在统计上获得支持的值的集合。

2) 开发脚本样例,使用这些样例,交易者可以在查看和分析建议的趋势,而无需编写 Expert Advisor。

作为第一个问题的解决方案的结果,我们还将尝试扩大已知指标的标准信号集合,并证实它们的统计准确性。

根据我们要查找的因果关系,可通过以下 3 种方式寻找此解决方案:

А) 从指标的上一个值到对未来的统计分析
B) 从未来条柱的特点到对指标的上一个值的统计分析

C) 结合上述两种方式,形成反馈系统。也就是说,例如,第一步是确定未来条柱与指标的之前读数之间的依赖关系,第二步是 确认(从统计角度检查)在指标与条柱预测之间找到的最佳依赖关系。
请在下面找到分析的流程图表。

第一步实现已放置在脚本中。粗略地讲,脚本会将呈现的数据转换为文件以供进一步分析。这样能够避免重复分析,因而通常能够加快数据处理。

要做出决策,我们应开始讨论我们将在分析价格上应用的条件。可以有很多变体:

- 例如,根据基于 MACD 的交易的建议,我们应等待直至柱状图与信号线相交,然后相应地打开。要对此类进场提供统计得分,我们必须了解,在出现的信号之后,在后续图表条柱中可达到的最小和最大获利/亏损值。因此,我们可以针对获利位、止损位以及它们的执行概率之间的依赖关系,绘制图表;

- 或者,我们可以陈述另一种问题:当随机振荡指标与线 80 向下相交之后,在后续 5 个条柱中,最低价和最高价之间有怎样的相关性。结果是在此类信号之后的趋势变动的统计支持,以及获利概率的判定;

- 或者,通过在 3 个连续的上涨(下跌)条柱之后价格变动的点数以及变动方向,进行查明 (https://www.mql5.com/ru/code/7262)。结果是在此类条柱后的价格变动方向概率的判定;

- 或者,就日内 (H1) 20 周期移动平均线的第一比率 (00:00) 而言,了解价格行为。尝试找出 MA 位置与价格变动方向之间的关联。找出获利和可能亏损的概率;

- 我还希望你注意到,从根本上讲可分析烛台。例如,我们找到一个反转模型,分析进一步价格变动。结果是在某个反转模型中的获利概率的确认和评估。

通常,正如之前已提到的,可以有大量的分析方法。但是,与专家不同的,我们不仅可以看到使用的进场和退场条件有非常严格的限制,还可以看到更广的范围。

利用这种统计估计的结果,能够更快速、更灵活地优化交易系统!


不断练习

为了提供最简单的示例,我们选择了烛台分析,在分析方面,提供了对其中一个反转模型的定量评估。尤其是各个论坛上会经常提出此问题:https://www.mql5.com/ru/forum/100493https://www.mql5.com/ru/forum/107681https://www.mql5.com/ru/forum/102975 以及其他论坛。
根据权威来源(由 V.I.Safin 编辑的“烛台为什么而发光?(Who Do the Candlesticks Shine For?)”,或者 Nison Steve 撰写的“日本烛台制图技术 (Japanese Candlestick Charting Techniques)”),有 15 个基本反转模型。我们决定选择一个常见的模型,即锤子

锤子(白色或黑色烛台)用于参考。它的特点是,主体位于条柱的上部,上影线非常短或者不存在,下影线比主体长一倍。下降趋势中出现这种烛台,即表示市场占主导的下跌趋势即将结束。

出现这种烛台时,我们应预期价格上涨。因此,为了对这种建议的真实性提供定量评估,我们收集了以下信息:

- 后续 Z 条柱期间的最高价和最低价;
- 在记录的获利 N 点时可能的亏损,以找出最佳的止损位;

- 在记录的亏损点时可能的获利 N,以找出最佳获利位。

统计分析结果
H1 和 M15 在货币对 GBPUSD、EURUSD、GBPJPY 之间进行
图 4 显示了在 GBPUSD 中出现“锤子”之后的后续 10 条柱上的价格极值分布数量。

我们可以看到,略微向正向偏移,但遗憾的是,不足以有把握地说在出现“锤子”之后应优先买入!

分析的第二个和第三个步骤的结果看起来更加乐观。毕竟,我们成功地找到了获利位与止损位之间的最佳比率。在出现“锤子”之后,搜索了烛台的最小和最大值。当“锤子”暗示可建立买入仓位时,将优先查找最低价(亏损),然后再查找最高价。你可以在本文的结尾处找到脚本 !Bar2Csv.mq4 的完整代码。

图 5 中显示的主要结果是,市场对 H1 图中出现这种烛台所做的响应明显很弱。而且,出现“锤子”的下跌趋势保持最初的变动态势。

现在,由于我们找到了退场的最佳参数,我们可以编写一个简单的 Expert Advisor,然后在测试程序中检查获得的优化。

获得的利润显然超过了预测利润 700 个点。这与我们优先选择可能亏损判定有关。测试显示,亏损仓位的一些部分已经变成正数。
对于 15 分钟周期,止损位/获利位关系的展望保持不变。唯一的一点是,找到的这种“锤子”的数量大 2,5 倍,最佳参数获利位=150 个点,止损位=65 个点,预测获利=2305 个点。
这是针对 М15 的 EA 工作。我们可以看到,获利也超过了预测获利。

对于其他货币对,未证实“锤子”是“幸运的锤子”。对于 EURUSD (H1),根本没有可获利的途径。对于 GBPJPY,“锤子”信号仅在 2006 年之后才为正向(已从 2004 年开始分析)。然而,在此之后,货币对 GBPJPY 通常比 GBPUSD 提供更高的获利。

理解的主要步骤是系统化

现在,我们来概括一下旨在预测与任何指示值(不同的指标、指标组合或者上述“日本”反转模型)集合有关的价格表现的任务。
我们不打算讨论用于建立仓位的复杂方法(对冲、平均、网格),因为这些是将来的分析人员的主题。我们将用固定的止损位和获利位处理简单的交易。

原理 1.对于每个条柱,都会有一个有关最高价和最低价的可达性的独特图表。

在图 6 中,绿线表示 2007 年 11 月 20 日条柱的最高达到价格 (EURUSD)。红线表示最低价格。你可以看到,当新的极值确定后,这两条线始终朝不同的方向延伸。

在数学方面,有以下几个关键点:P(t) 表示绿线,L(t) 表示红线,其中“t” 表示条柱数量,这取决于时间
然后,对于固定的 TakeProfit (TP) 和 StopLoss (SL),我们可以记录获利位可达性 tP<tL 的条件(进场买入的条件)。这意味着 P(tP)=TP,L(tP)<SL(当在 tP 时,已达到 TakeProfit 的值,而尚未达到 StopLoss 的值)。

原理 2.任何指示信号的分析都可归结为对符合条件 tP<tL 的定量评估。或者,换句话说,实现成功交易的唯一充分条件是挑选出未实现此条件的条柱。

因此,我们可以得出主要结论:不应根据预测价格的指标信号进行市场分析,而应根据所获指标读数的合适价位进行市场分析。

也就是说,不需要通过监控来了解哪些指标曲线表示买入或卖出信号。相反,只需查看指标的读数是否稳定,并弄清对于某一读数可以获得积极成果的进场频率。
假设,我们记录了 TakeProfit (TP) 和 StopLoss (SL)。这意味着,我们有每个条柱 i 的值 tP 和 tL。我们仅选择符合条件 tP<tL 的条柱,然后创建第一个数组 М1。对于每个货币对,此数组都保持不变,与所考虑的指标无关。它是货币对,常量。
接下来,我们定义条柱的第二个数组 M2,其中包括我们根据指标信号进场的条柱 。现在,当我们从数组 M1 和 M2 中找出共同的条柱时,我们可以针对任何指标集合评估交易的结果。注意:在原则上,此操作可作为马丁格尔或平均数用于这些交易方法。

作为本文的福利,我们提供了一个专业指标,可用于使用 TakeProfit (TP) 和 StopLoss (SL) 在信号系统的历史记录(闭合条柱)中进行简单的测试。此操作非常简单:
仔细查看数组 М2,并计算数组 M1 中的可获利条柱数和亏损条柱数。图表中的“IndoExpert”显示进场可获利的条柱和出现亏损的条柱,并在注释中说明获利或亏损情况。代码提供很多注释,因此即便是 MQL 新手,也可轻松理解其含义。借助此指标,任何新手可能都无需请求他人帮助编码,完全能够自己解决事情。我们来使用本文的 !IndEx.mq4。
再次修改并遵守上述原理和主要结论。


交易错误能够让我们获取经验

在实践中,数组 М2 无法完全涵盖 M1 的所有成功进场,而且还会涵盖很多产生亏损的进场。因此,如果我们不希望失去有利的点,我们需要查看应用的指标解释,并扩大/限制其信号。

但是,如果在可视分析中无法定义需要的信号,应怎么办?在这种情况下,我们应根据 M1 的所有元素收集指标的所有读数,并对它们进行分类。(我们认为不同于神经网络,但某些方面与它们类似。它们也收集和分析统计数据,同时调整权重以获得更好的结果。这就是我们认为统计分析是合理替代的原因)。指标读数的数量应足够多,因而最好能够在包含大量历史记录条柱(不少于 100 000 个)的图表中执行所有试验。

通过操纵指标估值的参数(固定 TP 和 SL),我们将拥有一个 N 维空间的保证金变动图表(N 表示所有指标信号的参数数量)。
例如,“锤子”中的变动参数不仅表示条柱图形特点即影线与主体之间的关联,还表示上影线到主体与下影线到烛台主体的相关系数。“锤子”本质上位于下跌趋势中,这意味着至少需要前面两个条柱才能进行确认。你应记得,在第一个示例中,我们锁定了影线与主体之间的关联,并将趋势定义为倾斜角 MA5。因此,我们在图表中获得“一个点”。但要查看价格预测的整个范围,我们应放开对这些关联的锁定。我们可能会获得一个完美的系统稳定性和高概率的稳定收益。


我们决定使用被广泛称为测试材料的 MA(移动平均线 - MA) 开展试验。试验的安排如下所示:
1.对于每个条柱 i,我们安排了一个包含 N 条移动平均线的扇形。
2.仔细查看从开头部分到所分析条柱的历史记录,我们找出相同的扇形,并保存它们的条柱编号。
3.仔细查看某个区域中的 TP 和 SL,我们计算选定的可获利/亏损条柱的数量。计算进场时产生的总获利/亏损。
4.当计算的总数为正数时,我们这样记录找到的扇形配置:进场很可能提供积极的结果。我们成功预测了在分析条柱 i 时进场的结果。
5.我们可以使用通过不同研究方式获得的图表。

对代码本身感兴趣的读者可以在文章 OptimMA.mq4 的结尾处看到它。下面,你可以找到一个有关执行的分析的详细报告

1.获得的进一步分析数据的表格如下:


2.样例限制。
我们认为,在第一阶段挑选出不符合一些要求的条柱,这是合理的


3.分析。
通过下表分析图表:
а) 在“收益”部分中“条柱收益”对 nTP 的依赖性
b) 在“收益”部分中“条柱收益”对 nSL 的依赖性
c) 在“收益”部分中“条柱收益”对“预期”的依赖性
根据获
得的总收益和条柱数,
所有图表都会有所不同还针对它们构建了标准化图表。

4.报告
已针对 GBPUSD 根据 125 000 个历史条柱(434 天)分析了图表 M5。

TP 和 SL 范围 20..120 个点
扇形中的移动平均线的数量 40
扇形步长 3 个周期
找到的满足条件的独特条柱的数量 1153
找到的合适条件的数量 48259
获利交易次数 991
亏损交易次数 391
预期收益 71.71%
产生的亏损 1 172 705 个点
产生的收益 1 571 420 个点
总收益 398715


图表 1.总收益(红色)/亏损(蓝色)对 nTP 的依赖性。

图表 2.总收益和亏损关系,取决于 nTP。值<1 表示获利。图表显示,当 nTP=24、42、44 时,亏损超过收益。对于其他情况,它保持在 0.6 左右。

图表 3.总收益规范化。值 50% 表示获利(红色)等于亏损(蓝色)。

你可以在图表 GBPUSD_5_fan.xls 中看到的其他依赖性就没那么令人关注了。

正如前面所提到的,这只是无数的统计分析机会中的其中一个,所以赶紧去探索吧。。我们希望你大获成功,一本万利。


注意!我们强烈建议你在将脚本或指标传输到图表之前熟悉相关计算原理。由于需要处理大量数据,因此在终端的工作中可能会出现几秒钟的中止现象。

附言:
如果你想分享你的最佳实践和/或提供你的笔记,你最好在论坛中创建一个线程 。