正交分量交易系统(TS版).docx
正交分量交易系统(TS版)
本策略的核心在于利用Hilbert变换来识别价格序列中的周期波动,并据此构建买卖信号。
具体来说,策略首先通过HilbertPeriod函数计算价格的周期值,然后根据这个周期值来确定买入和卖出的通道边界。
当市场价格突破这些通道边界时,策略会生成相应的交易信号。
1.周期计算:
使用HilbertPeriod函数对价格序列进行处理,以识别其潜在的周期波动。
这个函数通过一系列复杂的数学运算(包括平滑、去趋势、同相和正交分量的计算等)来提取价格的周期性特征,并最终得到一个周期值。
2.通道构建:
基于计算得到的周期值,策略动态地构建买入和卖出的通道。
这些通道的宽度取决于周期值以及用户定义的参数(如EntryVal、EntryK、ExitVal和ExitK)。通道的构建旨在捕捉价格波动的关键区域,从而为交易决策提供依据。
3.买卖信号生成:
当市场价格突破买入通道的上边界时,策略认为市场处于超买状态,此时应考虑卖出;
相反,当市场价格跌破卖出通道的下边界时,策略认为市场处于超卖状态,此时应考虑买入。
这种基于价格波动边界的交易逻辑有助于捕捉市场的短期趋势和反转点。
特点概述
1.动态适应性:
本策略能够根据市场价格的波动情况动态调整通道的宽度和位置,从而适应不同市场环境下的交易需求。这种动态适应性使得策略在面对市场变化时具有较高的灵活性和鲁棒性。
2.趋势捕捉与反转点识别:
通过结合Hilbert变换的周期识别能力和通道突破的交易逻辑,本策略不仅能够捕捉市场的短期趋势,还能在一定程度上识别价格的反转点。
这有助于投资者在复杂多变的市场环境中把握更多的交易机会。
3.参数化设置:
策略提供了多个可配置的参数(如EntryVal、EntryK、ExitVal和ExitK等),允许用户根据自身的交易经验和风险偏好进行个性化设置。
这种参数化设计使得策略具有更广泛的适用性和可定制性。
4.直观易懂的交易信号:
策略通过简单的通道突破逻辑生成买卖信号,使得交易决策过程直观易懂。
这有助于投资者更好地理解和执行交易策略,降低因复杂计算或模糊逻辑而导致的误判风险。
5.注释与可视化支持:
提供了详细的注释和可视化支持(如图表上的通道和标记)。
这不仅有助于开发者理解和维护代码,还能帮助投资者更好地理解策略的运行逻辑和交易信号的产生过程。
综上所述,本策略以其动态适应性、趋势捕捉与反转点识别能力、参数化设置、直观易懂的交易信号以及注释与可视化支持等特点,为投资者提供了一个灵活且高效的交易工具。
以下是对函数HilbertPeriod代码的注解:
一、输入参数和局部变量定义
-?Inputs:Price(numeric)?:定义输入为价格数值序列。
-?Vars:Smoother(0),Detrender(0),I1(0),Q1(0),jI(0),jQ(0),I2(0),Q2(0),X1(0),X2(0),Y1(0),Y2(0),Re(0),Im(0),Period(0)?:定义多个局部变量,用于存储中间计算结果和最终的周期值。
二、条件判断和核心计算
1.??IfCurrentBar5thenbegin?:当当前柱状线大于5时执行以下代码块。
-?Smoother=(4*Price+3*Price[1]+2*Price[2]+Price[3])/10?:计算平滑后的价格值,通过对当前价格和之前几个周期的价格进行加权平均。
-?Detrender=(.25*Smoother+.75*Smoother[2]-.75*Smoother[4]-.25*Smoother[6])*(.046*Period[1]+.332)?:计算去趋势值,基于平滑后的价格进行一系列运算,并考虑上一个周期的周期值。
-接下来计算同相(InPhase)和正交(Quadrature)分量:
-?Q1=(.25*Detrender+.75*Detrender[2]-.75*Detrender[4]-.25*Detrender[6])*(.046*Period[1]+.332)?:计算正交分量的中间值。
-?I1=Detrender[3]?:将去趋势值延迟三个周期作为同相分量的初始值。
-?jI=.25*I1+.75*I1[2]-.75*I1[4]-.25*I1[6]?和?jQ=.25*Q1+.75*Q1[2]-.75*Q1[4]-.25*Q1[6]?:对同相和正交分量进行相位调整。
-?I2=I1-jQ?和?Q2=Q1+jI?:通过相位调整后的分量进行计算,得到新的同相和正交分量。
-?I2