一是形态描述的程序模块设计,主要依据K线的形态来进行模型描述,例如,某一阶段内最高价最低价的突破、十字星、三阴线或三阳线的K线合并、两根母子线的趋势终结确认形态、锤子线或底部穿刺等的转市信号、三角形旗形突破、箱体区间游走的盘整形态等。
二是关于趋势和震荡的,最常见的就是长短周期的均线穿透,未来是趋势或是振荡市无法预知的,纯粹的价格均线突破不能完全反映市场(比如3日线突破,5浪上升3浪下跌,31%价格回撤等),价格如果是衣服的话,交易和持仓量的能量才是人本身,因此在趋势和震荡的模型设计中要融入交易量和持仓量的参数,价量的能量转换比单独的价格形态更具前瞻性,但是在窄幅震荡行情里,其不确定性也增多,交易成本会增加。
三是运用统计的分析方法抓住大概率事件,例如农产品的季节性波动特征,以历史数据为样本,分析某一品种的价格在某一个较长周期内的运行规律,或以单个交易日为基础,以开盘价,收盘价,最高价,最低价四个价格为参数,运用时间序列的分析方法,建立某一品种的自相关模型,从而做出阶段性的预测,辅助交易策略的制定。
四是事件触发的模型设计,例如国内大钢厂钢材出厂的调价幅度对螺纹钢期货合约价格影响的幅度,美国当月公布的重要经济数据对美元的影响幅度,或短期内沪铜的波动幅度对沪锌的影响幅度等。
当然传统的技术分析方法,较全面地阐述了价格,交易量和持仓量在模型设计中的运用,那么如何将这些方法运用到程序化交易中呢?
首先拟定变量,将交易模型抽象成数学模型,比如表达价格在某一周期内速率的变动率,A=Y/X2,Y为周期内价格变动,X为单位周期数,并且X>1,A为速率的变动率,借用极限的思想,如果X无限的趋近于1,存在相邻两个A的差量无限趋近于零,那么就意味着此轮趋势正开始逐渐衰竭,也就是通常意义上的价格波幅收窄的速率减小。
论证模型在理论上的有效性后,选择一个交易编辑平台,用计算机程序语言将模型描述出来(涉及源码版权问题,在文章中不予公布),描述过程不是简单的模型套用,量与量之间正确的逻辑关系是表达模型真实涵义的基础。
模型设计完成后,放入待检验品种中进行检验,做后续的调整和约束条件的补充,并进行绩效评测,一套交易模型基本完成。
以上为初级的程序化交易模型设计方法,其本源是交易者自身的交易思路,而更高级别的程序设计应该被纳入到整个交易策略中,也就是还要涵盖资金的有效管理,止盈止损策略,不同阶段的交易模型最优选择策略等。程序化交易模型可以量身定制,针对不同的投机者,不同的套利者,交易者不同的性格特点,不同的资金规模等,可以设计出很多不同的程序化交易模型,但是,就好比一个成功的投资者拥有一套适合自己并在实践中证实是有效的投资方法一样,程序化交易模型没有最好的,只有最适合自己的。
暂无评论内容