⏱️
时间序列主要特性的分析:TSAnalysis 通用体检工具
时间序列特性分析平稳性自相关MQL5
为什么需要通用分析工具
以价格序列表示的过程分析极具挑战,常需大量时间精力。即便找到现成脚本,也往往要调输入参数。本文目标是做一个安装极简、零输入、输出充分的通用工具,做序列特性的初步“体检”。
TSAnalysis 的安装与使用
TSAnalysis.zip 内含 \TSAnalysis 目录,整体复制到 \MQL5\Scripts 即可。内含测试脚本 TSAexample.mq5,编译运行后会准备数据并调用默认浏览器展示结果。
// TSAnalysis 调用示意
void TSAnalysis::Analyze(double &series[])
{
Print("mean =", Mean(series));
Print("var =", Variance(series));
Print("acf[1] =", ACF(series,1));
Print("stationary=", IsStationary(series));
}
核心特性清单
初步评估特性有助于确定深入研究方式,或在早期驳回假设避免浪费时间。通用工具的代价是特性少于专用软件,但胜在即开即用。
- 均值/方差:中心趋势与离散度。
- 自相关 ACF:判断序列是否有记忆、周期多长。
- 平稳性检验:非平稳序列直接上 ARMA 会伪回归。
- 分布形态:偏度峰度看是否厚尾。
用体检结果指导建模
若 ACF 衰减慢→考虑差分做平稳化;若厚尾明显→放弃正态假设模型;若周期显著→加入季节项。先体检再建模,事半功倍。
✦ 零输入也有代价
通用工具特性有限,只做初步筛选。真要建模仍需按具体假设写专用估计(见“统计估计”一文)。
小结
TSAnalysis 把时间序列分析的第一步——特性体检——自动化、零配置化。它帮你在写第一行模型代码前,就先知道这段数据“配不配”你的假设。
常见问题
不需要,零输入即可运行,目标是即开即用地做序列特性初步体检。
均值、方差、自相关 ACF、平稳性、分布形态(偏度峰度)等,帮早期驳回错误假设。
不冲突。TSAnalysis 只做初步筛选,真建模仍需按具体假设写专用估计(见“统计估计”一文)。