English Русский Español Deutsch 日本語 Português
preview
价格走势:数学模型与技术分析

价格走势:数学模型与技术分析

MetaTrader 5交易系统 |
60 0
Aleksej Poljakov
Aleksej Poljakov

引言

外汇市场作为全球规模最大的金融市场,吸引无数交易者试图借助汇率波动赚取收益。但市场波动无常、走势难以预判,价格预测工作极具难度。因此,研发并运用高效的预测模型,是交易者的核心工作之一。

外汇价格看似无序波动,实则遵循内在运行规律。即便如此,精准预判行情依旧是一大难题。依托统计分析搭建的数学模型,可从历史行情数据中提炼规律,构建标准化算法,以此推演价格后续走势。这类模型大致可以分为“复杂”和“非常复杂”两类,能够评估不同行情情景的发生概率,辅助交易者做出理性交易决策。

而技术分析依托图表研判与指标工具,预测逻辑更为直观。交易者通过观察行情图表,判定支撑位与阻力位,结合各类技术指标制定交易决策。

本文围绕价格预测两大手段展开研究,分别讲解数学模型与技术分析方法。对比各类分析思路的优缺点,探讨二者结合运用的方式,以此提升交易策略实操效能。深入理解模型与技术分析的运行原理,能够有效提高交易效率,降低亏损风险,增加交易盈利概率。


基础模型

我们考察一个规则如下的交易策略:

  • 新 K 线开盘时,平掉原有持仓,同时新开仓位;
  • 开仓方向随机判定。

读者或许会疑惑这套策略并无新意。本文的创新点在于,笔者认可有效市场假说理论。认同该理论即意味着认为价格走势无法预判。行情变化毫无既定轨迹,市场中存在某种完整信息,价格变化正是依据这些信息发生的。交易者并不掌握这类信息,只能希望自己的决策恰好与市场方向一致。

接下来测试这套随机交易策略。策略唯一可调参数为随机数生成器初始值,调整该数值即可切换不同交易订单序列。

经过 800 轮策略优化测算,该策略未展现任何盈利潜力。 出现该结果大概率是点差因素所致。受点差影响,仓位的开平仓价格差甚至可能为负。对此可切换至更大周期图表尝试改善,但周期放大等同于延长持仓时长。结合测试结果,对交易策略做出如下调整:

  • 开仓方向依旧随机选取;
  • 持仓时长由交易者自行设定;
  • 账户无持仓时方可新建订单;
  • 借助止损止盈订单完成平仓操作。

本次沿用参考文章中的止损、止盈数值,优化参数保持不变。调整后的策略效果得到改善。测算中出现了具备盈利潜力的交易方案。

通常而言,要找到最优的初始化数值,可以采用 秘书问题(secretary problem)方法。假设我们共有 N 个不同备选方案。那么需要先筛选检验的方案数量,可通过以下公式计算得出:

在这种情况下,我们会得到如下计算结果:

我们先记录下表现最优的那个方案,然后继续测试剩余方案。如果出现比已记录最优方案更好的结果,就可以停止继续搜索。此时我们极大概率已经找到了所有备选方案中的最优解。

该算法唯一的缺点是:实际运行可能非常耗时。但如果想充分挖掘这套策略的全部潜力,就必须使用该算法。我仅通过 1000 次迭代测试就选出了最优方案,最终效果表现良好。

到目前为止,我们都是随机选择开仓方向。但如果价格走势中存在某些可用于辅助决策的规律呢?我们尝试使用一种朴素预测法。该预测方法的核心思想可以概括为:历史决定未来。但随便看一张行情图表就能明白,这种方法并不奏效。我对该预测方法稍作修改:下一期价格 = 当前价格 + 误差项:

采用这种方法时,影响预测结果的主要因素并不是价格本身,而是误差。我之所以用‘误差’这个词,是出于所选预测模型的考虑。不过,它也可以替换成“价格增量”。术语虽变,其核心内涵保持一致。下面我们来分析这些价格增量的统计特征。

整体形态近似拉普拉斯分布。研究金融时间序列时,诸多研究者习惯采用经典分布解读测算结果。该方式操作简便。这类分布的各项特性已有定论,用以构建时序模型难度不高。但事实并非如此简单。经典分布属于数学抽象概念,现实行情中几乎无法完全对应。

交易者真正需要参考的,是实际价格的分布形态。这类分布称作“经验分布”。它依托实际观测数据得出,而非基于理论假设推导。由此我们得到价格增量的经验分布。剔除两端各三分之一比例的极值数据后,便可划定价格运行区间,以此预判后续价格水平。

该预测仅需依托当前价格即可完成。模型能够进一步优化适配。但相应会大幅提升运算复杂度。感兴趣可在评论区留言交流。接下来我们探讨更复杂的模型。


线性趋势

所有交易者都喜欢趋势行情。尤其是当持仓方向与趋势一致时。线性趋势可由简易方程定义。

该方程将时间设为自变量。MetaQuotes默认以 1970 年 1 月 1 日作为时间计量起点。如果这个起点不对呢?也许我们该从 2 月 29 日开始计时?下文尝试规避这一缺陷,确定精准的时间原点。

两根连续 K 线对应的线性趋势方程如下:

现在让我们看看这些方程的差异点:

对该方程化简后,可得到如下表达式:

将时间差值以价格采样间隔的 K 线根数表示,计算会更为简便。由此方程形式得以进一步简化:

请注意,时间变量和趋势参数中的一个参数用不到了。下一时刻价格可由当前价格叠加趋势速率算出。公式化简后,难点随之显现。我们可采用最小二乘法求解趋势参数。也可选用其他分析方式。

假定已知趋势速率。那么每当新价格生成,便依照下述规则调整速率:预测误差与趋势速率变动量均趋近于零。该规则也可表述为:趋势速率在较长周期内保持平稳。对应方程表达式如下:

最终可得出用于计算趋势速率更新值的方程:

判定趋势成立,需要价格在多根 K 线中呈现同向运行态势。据此可列出若干如下形式的方程:

将方程组整合后,趋势速率将以简单移动平均线(SMA)求得的均价为参照基准。趋势速率方程也随之确定最终形式:

依据该方程构建的指标形态如下所示:

可基于该指标构建简易交易策略。指标数值正负发生翻转时,执行开仓与平仓操作。

我们已经取得了一些进展,但指标本身还需要进一步研究和优化。趋势率的变化本身也可能存在它自己的趋势。这些趋势同样需要被我们识别出来。把这些趋势加总起来(如果它们确实存在的话),就能让我们获得更精准的信号。


沿着图表移动

其中一个有趣的模型与“随机漫步”有关。如果价格的波动是随机的,那么价格走过的距离与时间之间会存在如下的关系:

不妨假设可能存在某个时间指数。换句话说,价格的波动遵循以下规律:

我们来看一套可计算时间指数与比例系数的算法。首先需要设定指标周期 N。时间维度的计算较为简易,取值可直接设为 1 到 N 的整数。价格波动幅度的计算则相对复杂。价格运行幅度可通过累加相邻价格差值的绝对值得出:

这种情况下,价格波动幅度需按从过往到未来的顺序计算,将新数值与往期数值累加。公式形式如下:

接下来,我们需要对计算得到的价格波动幅度进行归一化处理。具体方法是:将所有数值除以最小价格波动幅度 R [N-1]。

由此得出的是相对波幅,而非实际波幅。剩下要做的就是——我们只需要对刚才得出的那些数字取对数。而且,我们需要同时对波幅和时间都取对数。

注意,初始距离与时间的对数值均为 0。不会对后续计算产生影响。基于此,便可通过方程组求解指数与比例系数。

接下来我们观察指数的历史变化趋势。

该参数可用于评估价格运行的性质。若该值接近 0,表明价格波动微弱,呈横盘震荡状态。若为线性趋势,该指标值等于1。该指数的取值范围极宽,介于0 到约 2.5之间。正因如此,侧重近期价格的指标显得尤为重要。这类指标包括我们熟知的指数移动平均线(EMA)与线性加权移动平均线(LWMA)。

我们将尝试开发一种权重由形数决定的指标。设 L 为数的阶数。则第 n 个多边形数可通过以下公式计算:

这些数值将作为该指标的权重。该指标对价格变动的反应速度快于 LWMA。同时其 “记忆周期”长于 EMA,因此对时间序列的平滑效果更优。

我们用一个简单策略测试该指标:当价格穿越指标线时生成交易信号。

测试结果并不理想。但需重点注意:基于形数可构建大量指标,每种指标都会对应捕捉特定趋势。若将各指标的信号单独处理,最终结果可能会出人意料地出色。


结论

本文探讨了外汇市场价格走势的各类描述与预测方法。即便是随机判定交易方向的简易策略,只要合理优化持仓周期、止盈止损等参数,同样能够实现盈利。这也凸显出风控管理与匹配市场行情的重要性。 

外汇价格预测方法种类繁多,交易者需结合实际行情与自身交易目标选取适配模型。该领域的深入研发,有望打造出更高效稳定的预测模型,助力交易者理性决策、提升收益。

本文撰写所使用的程序工具如下:

名称类型管理设置
EA Picky BrideEA
  • Seed - 随机数种子;
  • Duration - 预期持仓时长不低于 1 个单位。
Error脚本
  • Duration - 计算价格变动所用 K 线根数,数值不得小于 1。
  • ScreenShot - 开启后,脚本会将图片保存至 Files 文件夹
Price Increments指标
  • Percent - 构建预测模型时剔除极值的占比。有效取值范围:1 至 99。
Trend指标
  • iPeriod - 指标周期,不小于1个单位。
EA TrendEA

Wandering指标
  • iPeriod - 指标周期,不小于3个单位。
Figurative Numbers指标
  • iPeriod - 指标周期,不小于2个单位。
  • Lvl - 形数类型。1 - SMA,2 - LWMA,后续为经典形数类型。
EA Figurative NumbersEA

本文由MetaQuotes Ltd译自俄文
原文地址: https://www.mql5.com/ru/articles/18086

附加的文件 |
EA_Picky_Bride.mq5 (5.62 KB)
Error.mq5 (2.19 KB)
Trend.mq5 (2.36 KB)
EA_Trend.mq5 (3.28 KB)
Wandering.mq5 (3.26 KB)
交易策略 交易策略
各种交易策略的分类都是任意的,下面这种分类强调从交易的基本概念上分类。
您应该了解的MQL5向导技巧(第六十五部分):使用FrAMA与强力指数的交易形态 您应该了解的MQL5向导技巧(第六十五部分):使用FrAMA与强力指数的交易形态
分形自适应移动平均线(FrAMA)与强力指数震荡指标则是另一种可在MQL5智能交易系统(EA)中搭配使用的指标。这两个指标具备良好的互补性:FrAMA属于趋势跟踪指标,而强力指数是基于成交量的震荡指标。与之前一样,我们将借助MQL5向导快速挖掘这组指标的潜在交易价值。
新手在交易中的10个基本错误 新手在交易中的10个基本错误
新手在交易中会犯的10个基本错误: 在市场刚开始时交易, 获利时不适当地仓促, 在损失的时候追加投资, 从最好的仓位开始平仓, 翻本心理, 最优越的仓位, 用永远买进的规则进行交易, 在第一天就平掉获利的仓位,当发出建一个相反的仓位警示时平仓, 犹豫。
神经网络在交易中的应用:将混沌理论融入时间序列预测(Attraos) 神经网络在交易中的应用:将混沌理论融入时间序列预测(Attraos)
Attraos 框架将混沌理论整合至长期时间序列预测领域,并将其视作多维混沌动力系统的投影。该模型利用吸引子不变性,通过相空间重构和动态多分辨率记忆来保留历史结构。