下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

指标

PCA 合成 - 回收遗产 - MetaTrader 5脚本

| Chinese English Русский Español Deutsch 日本語 Português

显示:
502
等级:
投票: 12
已发布:
2017.02.07 11:27
\MQL5\Indicators\AIV\\MQL5\Include\AIV\
Resources.mqh (14.94 KB)预览
Matrices.mqh (15.47 KB)预览
Charts.mqh (3.79 KB)预览

在伪稳定组合中为每个金融工具自动选择系数的指标, 其趋向于零值平衡。

指标需要终端 Include\Math 文件夹中存在的 AlgLib 库。


一点理论

每个金融工具按自身的方向移动, 每个方向是多维数组中的单独维度。但转动矩阵, 也就是说, 通过将其每个元素乘以一定数字, 我们试图找到一个轴, 轴和所有金融工具的距离最小, 即最小总方差。与矩阵的每个元素相乘的数字之后变为角度值, 通过该角度值, 移动的金融工具应该被转动, 令它与其余金融工具移动方向相同。角度值是投资组合中每种货币的系数。

如果系数值大于 0, 则买入货币, 如果小于 0 — 卖出。因此, 可以通过不时地重新计算系数来维持所创建的合成组合的平稳性。此外, PCA 不是简单地找到具有投资组合的最小方差轴, 而是若干个。投资组合中的工具数量是部件 (向量) 的数量。它们当中的每一个被称为主要组件, 并确定它对投资组合走势总变化的影响有多少。


可能的问题

  1. 如果图表尚未绘制, 请查看 "交易系统" 选项卡中打印的内容。也许, 有一些错误或与其它图表的同步正在进行。如果没有消息, 请单击其它时间帧。

  2. 通过在 R 包中的一次计算来验证所获得的向量值, 因此值本身是正确的。但是特定系数的符号可能是错误的, 因为 РСА 不关注符号。符号 "-" 或 "+" 只能凭经验确定, 即通过试错法。

问题 #2 已在这张图片里描述: http://stats.stackexchange.com/questions/34396/im-getting-jumpy-loadings-in-rollapply-pca-in-r-can-i-fix-it


参数

InpVector = 0; // 如果在投资组合里有 N 种货币, 移动轴号码 0 = 最大方差, N - 1 = 最小
InpFrame = 300; // 计算系数的浮动窗口, 每 of InpDepth 根柱线进行 InpFrame 计算
InpDepth = 1000; // 历史数据中柱线总数, 绘制图表
InpForward = 500; // 停止重新计算系数柱线, 并使用前面一根, 这是OOS
InpPeriod = 1; // 均线平滑, 令图表看起来更少颤抖
InpTimePeriod = PERIOD_CURRENT; // 计算时间帧
InpNormalize = true; // 在显示前对价格进行标准化, 以平滑 USDJPY 和 EURGBP 的波动差距
InpSynthetics = true; // 绘制每个单独的货币对, 或乘以已发现系数的合成摘要
InpPrices = Logs; // 货币对的归一化算法
InpSymbols = "AUDUSD,USDCHF,USDCAD"; // 投资组合的货币对
InpMagic = "ID" // 指标的自定义名称, 以便于在一个图表上放置多个实例, 而不会发生冲突

采用的思路来自此处: https://www.mql5.com/zh/code/9908


本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/16997

关系 - 图表构筑器遗产 关系 - 图表构筑器遗产

基于用户定义公式构建自定义图表的指标。

大师观念 大师观念

智能交易系统使用 iStochastic (随机) 振荡器, iWPR (Larry Williams 的百分比范围) 指标。

Fractal_Moving_Average Fractal_Moving_Average

利用价格标签示意最后数值的分形移动平均值, 有能力改变均化算法。

Fractal_WPR_HTF Fractal_WPR_HTF

指标 Fractal_WPR 在输入参数中有时间帧选项: