- 显示:
- 1598
- 等级:
- 已发布:
- 2017.02.07 11:27
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
在伪稳定组合中为每个金融工具自动选择系数的指标, 其趋向于零值平衡。
指标需要终端 Include\Math 文件夹中存在的 AlgLib 库。
一点理论
每个金融工具按自身的方向移动, 每个方向是多维数组中的单独维度。但转动矩阵, 也就是说, 通过将其每个元素乘以一定数字, 我们试图找到一个轴, 轴和所有金融工具的距离最小, 即最小总方差。与矩阵的每个元素相乘的数字之后变为角度值, 通过该角度值, 移动的金融工具应该被转动, 令它与其余金融工具移动方向相同。角度值是投资组合中每种货币的系数。
如果系数值大于 0, 则买入货币, 如果小于 0 — 卖出。因此, 可以通过不时地重新计算系数来维持所创建的合成组合的平稳性。此外, PCA 不是简单地找到具有投资组合的最小方差轴, 而是若干个。投资组合中的工具数量是部件 (向量) 的数量。它们当中的每一个被称为主要组件, 并确定它对投资组合走势总变化的影响有多少。
可能的问题
如果图表尚未绘制, 请查看 "交易系统" 选项卡中打印的内容。也许, 有一些错误或与其它图表的同步正在进行。如果没有消息, 请单击其它时间帧。
通过在 R 包中的一次计算来验证所获得的向量值, 因此值本身是正确的。但是特定系数的符号可能是错误的, 因为 РСА 不关注符号。符号 "-" 或 "+" 只能凭经验确定, 即通过试错法。
问题 #2 已在这张图片里描述: http://stats.stackexchange.com/questions/34396/im-getting-jumpy-loadings-in-rollapply-pca-in-r-can-i-fix-it
参数
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 Ltd译自俄语
原代码: https://www.mql5.com/ru/code/16997

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

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

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

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