本征坐标法识别金融分布
用MQL5代码透视q-Gaussian与非广延分布差异
非广延统计与q-Gaussian背景
1988年Constantino Tsallis提出Boltzmann-Gibbs-Shannon统计力学的泛化,引入非广延熵概念。其重要推论是新分布类型的存在,这类分布能描述具有长期记忆、长期作用力和强相关性的系统经验数据。熵与信息密切相关,基于信息的统计力学泛化对经济尤其有用。
在金融领域,Q-Gaussian分布可充分描述金融工具报价增量分布的宽尾(q约1.5)。但研究表明,较大周期(月、年)增量分布会回归正态分布(q=1)。值得注意的是,强相关随机变量之和的极限分布在分析上不同于q-Gaussian,尽管数值上非常接近。这带来了函数识别的难题:如何判断经验数据究竟来自哪个真实模型。
本征坐标法基本原理
本征坐标展开形式为Y(t)=C1*X1(t)+...+CN*XN(t),其中C为常量,Xk(t)为基于函数Y(t)算子建立的本征坐标。该方法的核心思想是:描述经验数据的函数可视为某个微分方程的解,其形式确定本征坐标展开结构。若数据真由该函数生成,则在其本征坐标基中呈严格线性;其他函数投影过来则不再线性。
传统对数刻度只能将简单指数转为直线,面对双指数之和等复杂函数无能为力,必须非线性优化。本征坐标法通过对函数微分、积分构造Xk,把非线性识别转化为线性投影检验,从根本上回避了拟合不确定性,并给出统计假设接受的新判据。
- 函数Y生成的数据在其自身本征基中结构线性
- 任何其他函数F在同基中不再呈直线
- 线性偏离即证明模型不恰当
- 可用于拒绝错误统计假设,而非仅无法拒绝
展开系数与最小二乘实现
本征坐标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;
非广延分布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 。