等待风险
在进行被动型算法交易过程中,等待交易的时间风险是另一个重要影响因素。决定时间风险的因子包括:价格的波动率即价格的不确定性、流动性风险即成交量的不确定性、市场冲击成本估计的误差等,此外,它还与尚未完成交易的股票数正相关。
价格的不确定性即价格的波动率。关于股票价格波动率的预测,市场上已经有很成熟的方法,通常使用GARCH类模型进行估计。
当投资者决定推迟部分交易的时候,是因为希望后期的流动性能够吸收掉所提交的交易指令。但是未来的成交量只能预测,而预测的结果可能与估计的成交量不符,成交量的波动率同样可以使用GARCH类模型进行预洲,时间风险可以用公式表示为:
其中,ri为第i期剩余的股数,Vari是第i期股票价格的不确定性(方差)。Vari中包括股票价格变动的不确定性,以及冲击成本受成交量误差等不确定性影响的不确定性。
算法交易的目标就是在冲击成本与时间风险之间进行平衡,通过把两者作为目标进行最优化得到的结果就是最优策略。
1、业绩基准
当投资者投资目标不同时,选择的业绩基准也就不一样,得到的策略也就不同。例如,某些投资者希望尽可能接近以开始交易时的价格成交,而某些投资者却可能希望以尽量接近收盘价的价格成交。
如果以交易开始时的价格为策略的业绩基准,那么对应的交易成本表示为:
如果以全部指令完成后(如收盘时)的价格为业绩基准,这时不用考虑长期冲击成本而只考虑暂时性冲击成本,那么交易成本变为:
根据交易的不同需要及交易者的不同偏好,可以选择必要的业绩基准来计算成本函数。
2、交易策略的最优化目标
对交易策略进行最优化时,最直观的方法是有约束条件的最优化,在限定风险上限的情况下最小化冲击成本,优化目标为:
或者在限定冲击成本上限的情况下最小化风险,优化目标为:
理论上最合理的方法是把效用函数作为最大化的目标。这种方法难度在于选择什么样的效用函数,并且在使用效用函数的情况下将使最优化的过程变得较为复杂。一个具有可操作性的策略是给风险和冲击成本分别赋予一定的权重后相加,使其结果最小化。
价格改善目标是另一个比较常用的算法交易月标。该方法假设一个成本边界C*,希望冲击成本小于月标成本的概率最大,该目标的目标函数可化简为:
通过对设定的目标函数进行最优化,就能得到对应的最优交易策略。不过交易方式的最优化过程一般比较复杂,使用的常规规划方法需要对模型进行大量的简化。一般目标函数可以用来检验根据经验设计的交易方法,此外,也可以用一些非常规的方法寻找最优交易策略,如遗传算法。
3、遗传算法
遗传算法是一种随机化的最优化方法,使用这种方法寻找最优策略的大致思路是:
(1)随机生成或人工设定一组策略,作为寻找最优策略的起点。
(2)把选择部分策略,将其两两进行组合(如两种不同策略的线性组合),作为遗传得到的新策略。
(3)选择一部分老的策略及新生成的策略,随机改变这些策略的一些成分,作为变异得到的新策略.
(4)把所有策略的结果排序,选择最好的策略构成新的策略组合。
(5)在新策略组合的墓础上开始重复第(2)步,直到满足某些条件。
这一方法不一定能得到最优解,但是能够在时间与效果之间取得很好的平衡。