python量化投资

《Python量化投资》笔记六——策略回测

2021-09-27  本文已影响0人  深思海数_willschang
Python量化投资

京东图书


第十三章 策略回测

最基本的回测系统是指,当我们有一组交易规则,需要根据历史数据来获取这组交易规则的业绩表现时,除了给出历史表现之外,有时候还需要优化参数。比如,交易规则设定了一些参数,我们需要知道哪组参数表现最好,这种情况就还需要一个优化系统。

策略回测是一个非常广泛的需求,市面上有很多商业的或者开源的系统。


回测就是针对历史价格设定的一系列的交易规则,从而得到交易规则的历史业绩表现。

具体地说就是,针对一系列的资产,我们设定一个机制,用来选择,什么时间持有资产,什么时间清空资产。再加上资产本身的历史价格,我们就能计算出这个“交易策略”在历史业绩中的表现,比如,年化收益率、波动率、最大回撤等。

回测好的策略不一定赚钱,但回测不好的策略基本上是不可能赚钱的。

回测系统一般包含三种类型,“for循环”系统、“向量化”系统、“事件驱动”系统。

向量化系统

“向量化”系统最大的优势就是速度快,特别适合于需要大量优化参数的策略。
“向量化”系统的主要缺陷就是,对于一些复杂的逻辑是无法实现的。

For循环回测系统

For循环系统是指针对每一个数据点进行遍历。比如,对于日线数据,就是循环遍历每一个OHLC(Open、High、Low、Close)数据。在遍历的时候同时进行计算,比如计算移动均线,然后在此过程中决定是买入还是卖出某资产。一般是以当天的收盘价或者第二天的开盘价作为买入或者卖出价。

事件驱动系统

事件驱动系统会尽可能地模拟真实的交易机制,是一种结构更为复杂的系统。在事件驱动系统中,交易相关的所有行为都是由事件触发的。比如,当前K线结束了,我们需要做什么?发出委托之后,我们需要做什么?委托成交之后,我们需要做什么?事件驱动系统详尽地定义了交易中可能发生的每一个相关事件,并用函数的形式来指定发生对应事件后所应采取的行动。

回测的陷阱

回测中的其他考量

使用Python搭建回测系统

策略的核心就是趋势跟踪,也就是说,当短期均线高于长期均线的时候,则认为是多头趋势,这个时候持多仓。当短期均线低于长期均线的时候,则认为是空头趋势,这个时候持空仓。

image.png

PyAlgoTrade简介

开源的事件驱动系统PyAlgoTrade
PyAlgoTrade是事件驱动的回测系统。

上一篇下一篇

猜你喜欢

热点阅读