看完这篇文章,别再说你不懂得策略回测了

量化交流搬运工
量化交流搬运工 90后,坚持量化学习

2 人点赞了该文章 · 206 浏览

什么是策略回测?

  从策略的生命周期来说,一个策略往往会经历产生想法、实现策略、检验策略、运行策略、

策略失效几个阶段。策略回测就是在前期一系列的策略研究、策略实现之后,通过历史数据

的回归测试和模拟交易,帮助投资者筛选优质策略、淘汰劣质策略的一个关键环节。今天这

篇文章就来告诉那些对量化交易感兴趣的投资者们PTrade 的回测是怎么玩的。

回测步骤

策略检查——— 在策略编写完成后,投资者可以通过[编译运行]对策略进行检查。若提示

回测运行失败,可以根据错误信息进行修正。


详细回测——— 策略检查无误后,进入详细回测。投资者选定回测日期区间,设置初始资

金,调仓间隔(每天/每分钟),点击[回测]。系统根据投资者在策略中设置的股票池和日期,

取得股票数据,然后每天/每分钟调用一次handle_data 函数,通过交易详情/每日持仓

展示持仓、交易记录等在T-1 /上一分钟的数据。

订单处理——— 在handle_data 函数中,投资者可以调用函数获取任何多天的历史数据,

做出调仓决定。投资者下单后,系统会根据接下来时间的实际交易情况,处理订单。PTrade

回测的订单处理细则如下:

订单分类:回测支持市价单与限价单两种

订单周期:分为按天回测,按分钟回测(实盘支持按tick 级交易)

市价单

按天回测

每天按收盘价撮合一次,成交价格:收盘价+ 滑点+ 均摊佣金

最大成交量:每次下单成交量不会超过该股票当天的总成交量。可通过set_volume_ratio

函数设置每天最大的成交比例,例如:0.25 表示下单成交量不会超过当天成交量的25%

(该函数对下述回测同样有效)

分钟回测

成交价格:当前分钟结束价格(close+ 滑点+ 均摊佣金,每分钟按当前分钟结束

价格撮合一次(分钟数据中包含当前分钟的开始价格(open),结束价格(close),最高价

(high)、最低价(low)

最大成交量:同按天回测规则,每次下单成交量不会超过该分钟的总成交量,总的下单

也不会超过当天的总成交量。

限价单

按天回测

每天按收盘价撮合一次,如果当日收盘价+ 滑点+ 均摊佣金不大于限价则成交反之则

不成交。

每日会对未撮合成交订单进行统一清理,撮合时成交量= 成交比例* 当日成交数量

分钟回测

每分钟按当前分钟结束价格撮合一次,如果当前分钟结束价格(close+ 滑点+ 均摊

佣金不大于限价则成交反之则不成交。

每日会对未撮合成交订单进行统一清理,撮合时成交量同按天回测。如果当前委托数量

超过撮合成交量,则剩余未成交数量累计至下一符合条件周期进行撮合。

上述回测成交后的资金(context.portfolio.cash)和持仓(context.portfolio.positions)变动均

可在回测下一周期体现

每个交易日结束后,投资者可以调用get_open_orders 取得所有未完成的订单,调用

cancel_order 取消订单。

图表曲线———系统会在图表上按天画出策略收益曲线和基准收益曲线(默认选取沪深300

指数),投资者也可以通过set_benchmark 函数对基准收益进行指定。

风险指标——— 回测结束后系统会列出一系列风险数据,包括年化收益

/alpha/beta/sharpe/max_drawdown 等指标。


全面的数据支持是回测的重要基础,那么PTrade 提供哪些数据?

1、股票行情数据

包括沪深板块A 股上市公司2005 年以来分钟线、日K 线数据及2015 年以来5 分钟、15

分钟、30 分钟、60 分钟的K 线数据及tick 级行情数据。其中包含退市股票退市前的相关行

情数据。

2、基金数据

目前提供了在交易所上市的基金行情数据。

3、财务数据

包括资产负债表、利润表、现金流量表这三大财务报表的历史数据及成长能力、盈利能力、

每股指标、营运能力、收现能力、偿债能力这六大指标的历史数据。除此之外还可查询上市

公司市值数据及股本变化等数据。其中包含退市股票退市前的相关财务数据。

4、金融期货数据

包括中金所推出的所有金融期货产品的行情数据及相关历史数据。

5、支持按行业板块及指数板块选股

6、所有行情数据支持不复权、前复权、后复权及动态复权处理。

7、所有数据在第二天开盘前更新完成。

 

发布于 2024-03-14 16:16

免责声明:

本文由 量化交流搬运工 原创发布于 百果量化交流平台 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论