本征坐标法识别金融分布
📊

本征坐标法识别金融分布

用MQL5代码透视q-Gaussian与非广延分布差异

技术分析基础 难度 · 高级 2026-04-03 6 分钟阅读
#本征坐标法#非广延统计#q-Gaussian#MQL5

非广延统计与q-Gaussian背景

1988年Constantino Tsallis提出Boltzmann-Gibbs-Shannon统计力学的泛化,引入非广延熵概念。其重要推论是新分布类型的存在,这类分布能描述具有长期记忆、长期作用力和强相关性的系统经验数据。熵与信息密切相关,基于信息的统计力学泛化对经济尤其有用。

在金融领域,Q-Gaussian分布可充分描述金融工具报价增量分布的宽尾(q约1.5)。但研究表明,较大周期(月、年)增量分布会回归正态分布(q=1)。值得注意的是,强相关随机变量之和的极限分布在分析上不同于q-Gaussian,尽管数值上非常接近。这带来了函数识别的难题:如何判断经验数据究竟来自哪个真实模型。

✦ 核心矛盾
形似不代表同源:q-Gaussian与非广延分布极限解数值相近但分析结构不同,肉眼无法区分,必须借助结构化识别工具。

本征坐标法基本原理

本征坐标展开形式为Y(t)=C1*X1(t)+...+CN*XN(t),其中C为常量,Xk(t)为基于函数Y(t)算子建立的本征坐标。该方法的核心思想是:描述经验数据的函数可视为某个微分方程的解,其形式确定本征坐标展开结构。若数据真由该函数生成,则在其本征坐标基中呈严格线性;其他函数投影过来则不再线性。

传统对数刻度只能将简单指数转为直线,面对双指数之和等复杂函数无能为力,必须非线性优化。本征坐标法通过对函数微分、积分构造Xk,把非线性识别转化为线性投影检验,从根本上回避了拟合不确定性,并给出统计假设接受的新判据。

展开系数与最小二乘实现

本征坐标Xk由微分方程结构通过卷积积分确定,系数Ck则用最小二乘法求解。设每个度量有误差εi,目标是最小化方差和,导出C1..CN的对称线性方程组:相关性矩阵Rjk=ΣXjXi,右侧向量Vk=ΣYiXi。该矩阵对称,可用高斯法求解。

某些情形采用积分形式本征坐标能减少取平均误差,但需额外计算。原文提供CMatrix.mqh封装矩阵运算,支持SetSize、Get、Set、GaussSolve等方法,使用户免于重复数值线性代数代码。

class CMatrix
  {
   double            m_matrix[];
   int               m_rows;
   int               m_columns;
public:
   void              SetSize(int nrows,int ncolumns);
   double            Get(int i,int j);
   void              Set(int i,int j,double val);
   void              GaussSolve(double &v[]);
   void              Test();
  };

R(x)模型函数实例推导

取R(x)函数,其微分得xR''+R'=aR+bR'+c/x等形式,积分后获得本征坐标X1=x*R-xm*Rm, X2=∫R, X3=∫xR等。R(x)可生成正态、泊松、伽玛、Schtauffer等分布,也描述普通指数与幂驰豫。在[0.25,15.25]生成100点模型,EC_Example1.mq5计算表明Y(x)在X1-X3基中完美线性。

当点数增至10000,参数估计更准确。噪声实验中加入最大值10%随机噪声,Y(x)波动但Xk仍平滑;积分形式可压制两端信号噪比恶化。以下为数据生成与噪声添加片段:

m_y[i]=R(m_x[i],a,mu,gamma,nu);
m_y[i]=R(m_x[i],a,mu,gamma,nu)+0.25*MathRand()/32767.0;
⚠ 噪声坑点
噪声下X4分量线性虽保持但两端偏离明显,若直接判线性会误接受;应优先用积分本征坐标或增大样本。

非广延分布P1与P2展开

非广延统计导出P1(x)与P2(x),q-Gaussian是P2特殊情形。P1微分积分得X1=(x^2)P+xm^2Pm, X2=xP-xmPm,2x3相关矩阵求a、θ。P2展开含X1..X4四个本征坐标,参数间存在内禀关系,若经验数据严格对应则关系恒成立,否则揭示模型错配。

EC_Example3.mq5实现P2的CalcX1..CalcX4:X3=∫xP, X4=∫P。日志显示theta≈2.08/2.26,与设定吻合。代码节选如下:

void CECCalculator::CalcX3(double &x3[])
  {
   double tmp[];
   ArrayResize(tmp,m_size);
   for(int i=0;i<m_size;i++) tmp[i]=m_x[i]*m_y[i];
   ArrayResize(x3,m_size);
   for(int i=0;i<m_size;i++) x3[i]=Integrate(m_x,tmp,i);
  }

形似猫却非猫:Hilhorst案例

文献指出q-Gaussian非通用极限分布。Hilhorst-Schehr问题函数P(U)肉眼极似q-Gaussian,但投影到P2本征基时,X1-X3线性良好,X4明显非线性(图33),证明数据非P2生成。EC_Example3_test.mq5分析P(U)百点,theta算出负值、参数关系瓦解,从数值上确认差异。

这告诉我们:复杂系统中候选函数与真函数可能大部分展开线性,仅末位坐标暴露差异。本征坐标法以此提供微观机制辨识力,尤其当模型基于微分方程而非纯现象描述时,可厘清物理过程各机制角色。

MQL5实操与SP500验证

社区用户用CalcDistr_SP500.mq5与q-gaussian-SP500.mq5处理S&P500日收益2632点,估得q~1.55(书值1.4)。X1-X2结构合理,X3-X4尾畸变但整体近q-Gaussian。这说明真实平滑数据可用q-Gaussian解释,但需意识到时间框架与工具相关性限制。

实操步骤:1) csv放入MQL5/Files;2) 跑分布计算脚本;3) 跑本征坐标分析;4) 读日志相关性矩阵与参数;5) 视X4线性断定为否。所有附件含cmatrix.mqh、ec_example1-3、hilhorst等,原文地址 https://www.mql5.com/zh/articles/412 。

✦ 推广建议
将X3/X4推广为(x^2+bx+c)或立方项可改善尾形,但引入新参;积分本征坐标JX1/JX2能进一步线性化。

常见问题

用EC_Example3类计算P2(x)的X1-X4本征坐标,将经验数据{yi,xi}投影过去。若Y1-Y4在各自基中均呈直线且参数关系成立,则服从;若如X4非线性(如Hilhorst例),则不是q-Gaussian。
它将函数识别转为线性投影检验,避免非线性优化初值敏感与局部极小;且能给出拒绝错误模型的判据,而传统统计常只能‘无法拒绝’。
因Xk由积分获得平滑,最小二乘对称矩阵抑噪;但应将样本增至万级或采用积分形式展开,并重点检查末端X4线性退化。
社区脚本实测2632点日收益估得q≈1.55(q=1+1/theta, theta≈1.77),与Antonini书报1.4接近,说明宽尾可用q-Gaussian描述。
实时快讯
实时
加载中…
查看全部 →