量化交易系统信号挖掘核心算法2
前面的计算结果信号发掘是针对于一般情况行情的正常波动,当行情极端波动的时候,两种资产的价格表现可能就不同了。你比如说山寨币在行情好的时候价格暴涨,比方说ETH,相对于比特币价格暴涨,平时的时候价格还相对比较均衡的。嗯,他们价差是稳定的,但到某个时间点的时候,价格突然暴涨,连续暴涨好几天,但是比特币价格没没涨,它可能连续会暴涨一周,比特比特币价格没动,那这个时候就会出现一个问题。前面选择的统计周期,比方说是20天,那么20天算出来的价差的平均值是比价小的。
标准差呢,可能也会被,稍微拉大那么一点。
但是由于行情变化得比较快啊,当前最新的行情和过去 20 天的平均价差比起来,那可能偏离的幅度就比较大了,也就是说最新的价格可能远远超过了。它过去 20 天平均该有的价差水平,超过的程度非常高,而且这种超过的程度短期之内不会回归,持续好几天都是这种状态。
那这个时候你再用当前最新价格去和过去 2 最近 20 天。价差的平均值去比较,然后再除以它的标准差,得到的这个标准差偏离幅度,它可能就会变得极大,而且这种极大它不回归这种极大值,它会呈现出一种趋势特征,一直保持在这样一个极大值,有可能持续递增。有可能保持不变啊,但是它始终维持在一个极大值的水平,维持一天,两天的时间。
那这时候信号就失真了,本质上是你在追求价差稳定的背景下,你选择了一个较长的较长的统计周期的这个窗口期,那它稳定,但会有劣势,这个劣势就是滞后性,当价格快速变动的时候,当行情暴涨暴跌的时候,这个时候这种稳定性反而成为了一种劣势,那就是这个过去的时间序列得出来的这个值,平均值和标准差可能是不合理的啊,滞后的,你最新的价格去和它相对滞后的这个平均值去比较,那可能就显得不合理不合适啊这种状态,这种他们之间的。之间的这个相关性的这个关系,没有,没没有,没有跟进啊,没有把它拉到最近的距离。
如果是做超短线交易的啊,持仓时间控制在一个小时左右,快进快出,那这个时候所有的开仓信号都没有意义,因为短期之内都平不了仓,因因因为这种偏离会持续很长时间啊,可能会持续好几天的时间,又意味着好几天都平不了仓,好几天可能持续发出的都是开仓信号,还没有平仓信号。
当然最终这种偏离依然会回归到均值水平啊,这个偏离依然会回来。但是那可能是两天或者三天之后了,你所有的开仓的仓位都要蒙在里面,等待两三天,等待两三天之后回归,那和那和既定的系统设计的背景原则超短线交易就相违背了,那这个系统就崩溃了,就失灵了,就没有意义了。虽然说最终还是会回归,那不就相当于扛单了吗?那这是原则性的问题,就就就没有办法调和了,那肯定是不行了
甚至这个时候,你所有的开仓都会触发止损线,被止损掉,那就是蒙受比较大的亏损,比较大的回撤
而解决方案呢,也是有的,就是缩短采样的周期,将这个窗口尽可能的贴近当前。比方说从最近2天的采样周期缩短到最近10天或者是5天,那它就能更能真切而真实的反映出当前的价差水平。而基于当前最新的价差水平,它是一个合理的值,再去计算当前最新价格偏离标准差的程度有多大,那这时候得出来的值,那可能才是真实的值,才是能够真正反映当前系统它变化的值
而另外一种情况也是相同的原理,就是长期的偏离标准差,处在一个非常小的区间,极小。为什么极小呢?就是过去的价差很大,但是最新的当前的价差呢,又很小。也就是说价差它呈现出一种趋势性回落的走势。
价差已经趋势性回落了,但是呢,它的平均值其实还是停留在高位的,那这个时候最新的价格减去它的平均值,这个时候就偏小了,也就是分子偏小,但是它这个标准差呢,其实可能反而可能会变大啊。那这个时候呢,分子在变小,分母在变大,那就会导致计算出来的值很小。如果这个价差趋势一直保持持续,呈现出趋势性的下跌,那计算出来的标准差偏离平方会持续的保持在一个一个很小的区间。 但是实际上呢,其实标准差对于计算的影响,对计算结果的影响并不大,最重要的影响还是分子,分子的影响巨大。
所以当价差序列出现趋势性上涨或者趋势性下跌的时候,其实对于标准差偏离评分的影响。都比较大嗯,也就是说,分子的影响会很大,这个时候计算出来的标准差偏离平方就失真了