Successful Algorithm Trading 笔记(二)交易系统-成功的回测

1 算法交易与回测

算法交易是一种程序化的交易方式,在算法交易中要通过分析历史数据对未来做出预测,也就是回测。

 

2 回测的关键

测算法策略的关键流程如下:

过滤——过滤掉不符合要求的策略(交易策略是一系列规则和条件的集合,可分为指标、信号、规则三个部分。指标用于生成交易信号,规则则对信号做出反应)

建模——对市场现象建立新模型

优化——通过调整相关参数等对测率进行优化

验证——通过绩效指标检验策略绩效

 

3 各种偏差

3.1.回测偏差(Backtesting Biases)

优化偏差(Optimisation Bias)——即“过拟合”(Curve Fitting)

前向偏差(Look-Ahead Bias)——模拟时采用了本来是未知或不可用的数据(未来数据)而产生的误差。

幸存者偏差(Survivorship Bias)——只对目前“幸存者”进行分析而忽略了不存在的。

认知偏差(Cognitive Bias)——心理因素、主观认知仍然对策略本身产生影响。

 

3.2 交易问题(Exchange Issues)

订单类型——市场订单(市场委托,“打单子”,market order)和限价订单(限价委托,“摆单子,limit order)。市场订单按当时市场价格立即执行,限价订单按限定价格执行。回测建模时要充分注意两种订单的影响,尤其对于高频策略。

价格数据整理(Price Consolidation)——当广泛使用OHLC价格(Open-High-Low-Close)时,廉价或免费的综合价格数据(通常来自不同交易所)容易产生幸存者偏差。此时可以利用更高频率的数据,或直接从单个交易所获取数据。

外汇交易和电子交易平台(Electronic Communication Networks,ECN)——外汇交易在多个交易场所中买卖价格可能大不相同,因此应小心利用在特定(而不是多个交易场所的合并数据)交易所的价格信息。在回测中使用买卖报价更为合适,因为交易的价格规模是经纪商的专有信息。此外还要注意交易成本的变化。

卖空限制(Shorting Constraints)——将导致股价被严重高估。

 

3.3 交易成本

以下是三种主要的交易成本:

佣金(Commission)——佣金、费用和税收通常是固定的,因此在回测引擎中实施相对简单

滑点(Slippage)——决定交易时间和实际交易时间两者的价格差异,是标的资产波动(波动性高的资产滑点更大)、交易系统与交易所间的延迟(更高频率策略对延迟更敏感)以及执行策略类型(动量策略受影响更大,均值回归策略则相反)的函数。

市场影响(Market Impact)——交易者的交易和资产影响到市场而产生的成本。低流动性市场会可能受大订单大幅影响,且价差(Spread,限价订单簿Limit Order Book的买卖差价)更大。

 

4.回测与现实

总之,一个良好的回测需要考虑很多很多的因素。

 


 

明明在知乎上看见人推荐这本书说是零基础,从零开始讲,好吧,那么我的基础简直就是-100了。连计量还没学到的我看这文章,只是到网上查一个个生词罢了T T。所以这笔记看起来或许实际上啥也没有,而且几乎都是名词解释——没错,这就是事实。

posted @ 2020-09-16 13:31  Amorius  阅读(665)  评论(0编辑  收藏  举报