如何从零开始设计一套⌈中性策略回测系统⌋?

最近接到新任务,需要开发一套⌈中性策略回测系统⌋。

首先老实交待,策略方面,更多是投研部的工作,我不太懂。中性策略,平时工作中多多少少有些接触,全名为市场中性策略,我理解,凡是有对冲的策略便是市场中性策略,构建多头和空头头寸,其中空头即为对冲端。之所以被称为中性策略,也是因为与市场相关性低,无论牛市和熊市,只要有基差,即多空两头波动不均衡,便能获利,一度被认为是能穿越牛熊的黄金策略。我司的中性策略,主要是股票多因子Alpha策略,基于量、价及基本面范围的多因子量化策略(基本面因子不算量化范畴?),而对冲端,主要有股指、融券和场外期权三类。

相应地,回测也分两块,即多头回测和空头回测。本次回测系统开发,优先开发对冲端的回测,当前公司有一个在用的多头回测系统,勉强能先用着,对冲端开发完成后,再小改一下,将两边融合起来,最终作为一套完整的中性策略回测系统交付投研部使用。

回测系统,顾名思义,即回溯行情,测试交易。交易基于策略,策略有简单复杂之分,最简单的策略可以简单到一句话,比如每天按MA5(5日移动均线)下单,低买高卖,再比如每天早上10点市价挂单,虽然简单,但都算交易策略。而复杂策略,可以多到成千上万行代码,可以是一个独立且庞大的系统,形形色色,各有千秋。殊途同归的是,反映的都是投研/基金经理等交易者的清奇思路,策略是一种信仰,最终可以赚大钱的信仰。

回测,无非是计算历史区间内策略每日的收益。收益可分为两部分,一是持仓收益,二是交易收益。对于股票:
持仓收益:当日未交易的票,因为行情波动而产生的收益。收益率=收盘价/昨收-1。
交易收益:当时买入的票持有到收盘,或卖出的票从开盘到卖出时点,这个时段内的收益。其中,买入的收益率计算公式为:收盘价/买入价-1,卖出的收益率为:卖出价/昨收价-1。

期货与股票略有差异,股票实行的是逐笔结算制度,浮动盈亏是一买一卖之间累计的,与持仓天数无关。期货实行的是逐日盯市结算制度,即每天的盈亏会在当天结算时结清,盈利的钱会在结算后体现在账户总资金(权益)中,作为第二天的本金,而对于亏损的,需要在收盘后及时补充保证金,否则期货公司会执行强制平仓以降低暴仓可能引发的资不抵债风险。

另外期货交易比股票更为复杂,最明显的是期货允许做空(股票当然也可以,但是融资融券是另外一回事暂且忽略),交易方向又分为开仓、平仓,交易类型分为买和卖,因此有买开、卖平、卖开、买平这四种交易,之所以用这顺序,是因为买开的合约是通过卖平来平仓,卖开的合约则通过买平来平仓,这样结对便于记忆否则容易混淆。

显然,回测系统的核心,是计算每日交易盈亏(后文简称为PNL,即Profit and Loss)。

对于回测系统,若按策略类型划分,有以下两类:
1、择时策略回测:这类涉及到策略定义,按策略的成交规则进行择时交易。
2、择股策略回测:这类回测是无关下单时间的,适用于选股策略,导入股票组合和权重,指定成交价格,比如开盘价、时段twap/vwap等,再指定交易区间(起始/截止日),即可启动回测。

大部分回测系统属于第一类,而中性策略属于选股策略,显然适用第2类回测。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东东不邪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值