vnpy-CTA策略模块策略回测
2020-04-13 08:22阅读:
VNPY -
CTA策略模块策略回测
转载I天辉I 最后发布于2018-08-10 16:50:05
阅读数 6220
收藏
展开
作者:魔元
目录
量化策略主要是从历史数据统计或者发现规律然后应用于实盘交易。当然历史不是简单的重复,这就要求策略需要根据市场调整和优化参数。通过回测历史数据可以验证策略的有效性,了解策略的历史收益、最大回撤和回撤时长,对策略参数进行优化等等。CTA策略模块的主要回测目标是验证交易信号是否正确,仓位大小的问题在实盘中则由交易员来确定。
使用回测引擎
vnpy的回测引擎位于vnpy/trader/app/ctaStrategy/ctaBacktesting.py,此文件中主要包含以下几个类:
- BacktestingEngine
-
回测引擎类,主要功能是设置回测参数,初始化策略对象,运行回测并输出结果。类接口和实盘引擎类(CtaEngine)保持一致,从而实现同一套策略代码从回测到实盘。用户主要是调用本类的接口来回测策略。
- TradingResult
-
撮合好的交易结果类,由回测引擎计算回测结果时使用。类成员包含开仓价格,平仓价格,交易数量,成交金额,滑点成本,手续费成本及净盈亏等。
这里面有一点注意是交易数量的正负代表开仓方向。以股指IF为例,3000点时开1手多单,3010点平仓,这时就会生成一个TradingResult实例,交易数量为1。若3000点时开1手空单,3010点平仓,这时生成的TradingResult实例的交易数量为-1。
代码如下: