交易者必懂的统计学基础
📊

交易者必懂的统计学基础

从概率到MQL5统计函数实战解析

技术分析基础 难度 · 入门 2026-04-21 7 分钟阅读
#统计学#概率论#MQL5#交易基础#指标开发

什么是统计学及其对交易的价值

统计学是对数据的采集、组织、分析、解释和表达进行的研究。对于现代交易者而言,我们接收到的行情和经纪商数据已经过衡量和组织,最有用的是数据分析部分。技术分析本质上就是统计学的应用:价格走势图本身就是资产在时间维度上的统计分布。理解统计学基本原则,能帮助交易者看清指标背后的决策机制,而不是盲目跟随信号。

很多新手把指标当作黑箱,其实移动平均线就是样本平均值,MACD源于均值与方差逻辑。如果不懂统计,就无法判断参数优化的过拟合,也无法正确评估策略的历史表现是否可信。本文从最基础的层次梳理,帮助读者建立正确的量化直觉。

✦ 学习建议
即便只掌握基础统计要素,也能大幅提升对复杂市场模式的理解,建议从定义和手动计算开始,再过渡到代码库调用。

概率论与统计学的必然联系

任何统计都是对象状态改变的结果。以EURUSD小时图为例,对象是两种货币关系,统计是每时刻价格。为什么当前价格跌而非涨?答案是概率:对象在每个时刻可能取不同值。我们用掷硬币实验说明。公平硬币正反面概率各0.5,但掷10次可能得8正2反;掷100次可能53正47反。次数越多,频率越接近真实概率。

反过来,若不知硬币是否公平,可用统计反推概率:10次实验算得0.8与0.2,难下结论;100次得0.53与0.47,可较准确判定为公平硬币。由此得出核心结论:实验次数越多,统计越准确反映对象特性。统计学与概率交缠——统计是实验结果,取决于状态概率;也可用统计估计概率。

交易者主要挑战正在于:拥有某段交易数据(统计),预测后续价格行为(概率),并做出买卖决策。因此理解二者关系及风险评估知识至关重要。需注意原文评论指出,真实金融序列常非平稳,基础统计直接套用有保留,但入门仍须从这些概念起。

⚠ 非平稳性提醒
外汇等时间序列往往非平稳,均值方差可能漂移。本文基础参数适用于平稳样本,实盘需结合计量经济学视角谨慎使用。

六大基本统计参数详解

假定10人身高样本(cm):173,162,194,181,186,159,173,178,168,171。样本大小n=10。以下参数均为样本参数,由样本数据算出,非随机变量参数。

1. 样本平均值:所有值求和除以数量,公式 M = Σa[i]/n,本例得174.5cm。它类似均线,反映中心位置。

2. 样本方差:描述偏离均值的程度。计算:求均值;各元素减均值平方;求和;除以n-1。公式 D = Σ(a[i]-M)^2/(n-1),本例113.611,值大说明分布广。

3. 样本偏度:不对称度,近0越对称。需均值、方差,求差立方和,除方差的3/2次幂,乘n/((n-1)(n-2))。本例0.373,小因发散互补;不对称数据可达1.38。

4. 样本峰度:峭度。用四次方和除方差平方,乘n(n+1)/((n-1)(n-2)(n-3)),减3(n-1)^2/((n-1)(n-2))。本例-0.144,尖锐峰值可得10.5。

5. 样本协方差:两样本线性依存,独立时为0。加体重样本后,算两均值,求(a[i]-M1)(b[i]-M2)和除n-1,本例91.28,图显示身高增体重常降。

6. 样本相关系数:值域[-1,1]。协方差除两方差积平方根,本例0.579,表明中等正相关。比协方差更易跨样本比较。

统计参数在交易中的实际应用

最简单例子是移动平均线MA:MA = ΣP[i]/n,与样本平均值完全类似。它是指数移动平均EMA基础,也是MACD核心。MACD利用均值差与信号线方差逻辑判断趋势强度方向。理解这些,就不会误以为指标神奇,而能理性配置参数。

进一步,协方差与相关系数可用于多资产配对交易:计算两币种收益率相关,构建对冲组合。峰度偏度可辅助识别行情分布异常,如黑天鹅前尖峰。但务必记住,历史统计不等于未来概率,需结合样本外检验。

✦ 指标本质
多数经典指标都能拆解为基本统计运算,掌握本文参数后,可自行改写或验证指标逻辑。

MQL5统计函数库与代码实现

MQL5在statistics.mqh中实现了上述方法。函数包括:Average(样本)算均值;Variance(样本,均值)算方差;Asymmetry(样本,均值,方差)算偏度;Excess(样本,均值,方差)算峰度;Cov(样本1,样本2,均值1,均值2)算协方差;Corr(协方差,方差1,方差2)算相关系数。库说明见代码库 https://www.mql5.com/zh/code/866 。

下面脚本输入身高体重样本,调用库函数并打印结果。执行后客户端日志输出 mx、dx、as、exc、cov、corr 值,验证手算逻辑。注意数组须预先填充,函数多为double类型,避免整数除法错误。

#include <Statistics.mqh>

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+

void OnStart()
  {
//--- specify two data samples.
   double arrX[10]={173,162,194,181,186,159,173,178,168,171};
   double arrY[10]={65,70,83,60,105,58,69,90,78,65};

//--- calculate the mean
   double mx=Average(arrX);
   double my=Average(arrY);

//--- to calculate the variance, use the mean value
   double dx=Variance(arrX,mx);
   double dy=Variance(arrY,my);

//--- skewness and kurtosis values
   double as=Asymmetry(arrX,mx,dx);
   double exc=Excess(arrX,mx,dx);

//--- covariance and correlation values
   double cov=Cov(arrX,arrY,mx,my);
   double corr=Corr(cov,dx,dy);

//--- print results in the log file
   PrintFormat("mx=%.6e",mx);
   PrintFormat("dx=%.6e",dx);
   PrintFormat("as=%.6e",as);
   PrintFormat("exc=%.6e",exc);
   PrintFormat("cov=%.6e",cov);
   PrintFormat("corr=%.6e",corr);
  }

常见误区与进阶提醒

评论区有读者指出:原文偏度公式分散度应为3/2次幂而非2/3,已核实库函数使用正确次幂。另外,基础统计假设平稳,真实序列如外汇常是非平稳,直接套用均值回归可能失效。还有人认为应学计量经济学处理预测与非平稳,本文仅打基础。

另一误区是以为样本越大统计越准可无视顺序。若以混乱间隔取样,整体统计如同噪声。交易者应保证样本同分布、时间连续。随机序列虽不可预测,但可借概率不对称获正期望,这超出本文范围。

⚠ 公式核对
手动实现偏度时注意方差幂次为1.5(3/2),原文叙述笔误,以代码库为准。

总结与学习路径

统计学与概率不可分割,六大参数构成分析骨架。交易者从均线理解到自写统计函数,能脱胎换骨。建议下一步学平稳性检验、假设检验及MQL5自定义指标封装。本文译自俄文原址 https://www.mql5.com/ru/articles/387 ,代码库 https://www.mql5.com/zh/code/866 。

夯实基础后,可阅读MQL5编程基础系列,将统计用于实盘信号过滤与风险管理。记住:所有模型都是错的,但有些有用——清晰统计认知让你知道哪部分有用。

常见问题

包含Statistics.mqh后,用Average(数组)算均值,Variance(数组,均值)算方差,详见代码库 https://www.mql5.com/zh/code/866 。
MA就是价格序列的样本平均值,公式MA=ΣP[i]/n,与本文样本平均值一致,是指标开发的统计基础。
真实汇率常为非平稳序列,均值方差会漂移,基础静态统计仅反映样本期特性,需结合平稳性检验与样本外验证。
正确为方差的3/2次幂(1.5次),原文叙述误写为2/3,MQL5库Asymmetry函数已用正确值。
用Corr函数得到[-1,1]值,近1正相关的两资产可反向对冲,近-1则同向对冲,需先算协方差与各自方差。
实时快讯
实时
加载中…
查看全部 →