您当前的位置:首页 >> 基金经理

张忠辉 程序交易策略 解析

时间:2019-05-07 22:52    来源: 交易智慧  

摘要: 期货量化很需要实际经验的,自己体会是搭积木。复杂模型在测试时效果好,但是实盘就不一定靠谱,一般较简单的模型效果更好。

张忠辉 程序交易策略 解析


一、交易经历和业绩

程序员、长沙人士,专业是机器学习和自然语言处理,主要做智能对话系统开发。

2016年开始交易期货,兼职做期货量化模型。目前运作天健一号和天健二号。

天健一号,2015年12月至2018年底,净值2.55,最大回撤13.8%

天健二号,2016年07月至2018年底,净值2.27,最大回撤14.4%

 

张忠辉 先生


二、程序交易与策略研发

1、量化交易

期货量化很需要实际经验的,自己体会是搭积木。复杂模型在测试时效果好,但是实盘就不一定靠谱,一般较简单的模型效果更好。

但是简单模型往往风报比不够理想,为了获得更好的资金曲线,可以独立研发较多的简单模型,然后将多个简单模型组合起来,获得较为理想的效果。


2、智能对话系统与期货量化

智能对话也是需要统计建模的,跟期货量化有一些共同的学术背景。数据建模的一个目标就是要基于历史数据对未来做预测。期货量化也是这样的。最简单的就是基于交易行情数据来做预测。

期货量化并不简单。不是把工业模型拿过来用就可以。首先要对交易模型进行分解,分解出很多小模型,让每个小模型足够简单。

做法是从4个方面来划分模型:周期、开仓、平仓、下单。

周期就是分钟级别、小时级别、日线级别。对不同级别的周期,要训练不同的模型。对下单要专门训练下单模型。


3、下单模型

下单模型,其目标专门是为了降低滑点。下单模型是独立训练的,不考虑开仓和平仓,一般也不考虑周期。下单模型就是算法交易,就是根据排队价下限价单。如果价格变化,立刻撤单,重新按新的排队价下限价单。下单延迟是很重要的,离交易所越近越好。


4、搭积木

积木意味着不同子模型之间是独立的。可以先限定周期、平仓条件,然后专门训练模型来寻找最优的开仓条件。这时就是训练一个开仓模型。如果限定周期、开仓条件,然后专门训练模型来寻找最优的平仓条件,这时就是训练一个平仓模型。一般要训练比较多的子模型。


5、训练

训练相当于自动优化。每个模型都有很多因子,训练就是选择因子,以及确定因子的权重。因子要多借鉴前人的经验,比如海龟因子。比如多头排列、突破、斜率、品种,都是很重要的因子。一般不搞很复杂的模型,每个子模型都要足够简单,线性模型就好。


6、优化目标

每个子模型可以直接以收益风险比作为优化目标。单个子模型以收益风险比可能不是很理想,但是多个模型组合后曲线就好看了。

比如限定一个周期,假定是2个小时,就是这个单持仓不超过2个小时。然后寻找最优的平仓条件,多头排列多单,空头排列空单。这个是典型的海龟因子、趋势模型。当然周期要配套,这里的空头和多头排列也是小时级别的。然后,子模型就是专门寻找最优的止盈和止损点,就是要界定止盈和止损目标。这个目标是由模型在历史数据上训练得出,通过止损止盈找到了平仓模型。


7、子模型组合

可以不停地往里面加子模型。现在已经融合了上百个子模型,18年又加了几十个。子模型越多,实际订单也就越分散了,天健二号有10万次的开仓平仓。订单越分散,其实有利于降低滑点,降低对市场的短期冲击。


8、模型检查

模型检查首先要避免低级错误,比如涨跌停买不进的情况要去掉。然后要做参数稳定性检查,参数就是因子的权重。如果稍微调整权重,效果变化大,参数就不稳定。


9、因子的重要性排序

重要性排序是模型训练所得权重决定的,这就是机器学习了,机器学习的主要任务就是学习权重。

斜率因子挺重要的。持仓量和成交量因子的参数权重不是很高,看起来没有那么重要。还有时间因子这些其实也重要。


三、趋势与振荡

1、趋势模型与振荡模型

振荡模型的普适性反而更好,对于品种没有偏好。

趋势模型则有品种依赖,一般农产品不适用短线的趋势模型,黑色系最适合短线趋势模型。

振荡行情如果有波动就可以,如果没有波动,还是挣不到钱的。重要的不是趋势或震荡,重要的是波动。不同时点触发主要是来自开仓条件。

振荡模型、其实就是开仓方向与趋势模型开仓方向相反的模型。如果趋势模型认为开多,而振荡模型则开空。自己的振荡模型含义可能与各位理解不一致。振荡模型虽然可以盈利,但是总比例不如趋势模型。估计在总利润中占三分之一。

反趋势模型对品种不如趋势模型敏感,几乎所有品种都适合。反趋势模型其实是择时的。

无论趋势还是反趋势,都在波动率大时容易盈利。市场没有波动,一潭死水,什么模型都没用。


2、周期

周期同时有2个方面,一是开仓之前用于计算开仓条件的周期。二是用于平仓的,就是最长持仓周期。一般两者是同一个量级的。不同的子模型往往是在不同的周期级别的。


四、开仓条件与加仓条件

所有开仓都是单次开仓,没有加仓。如果总仓位很高了,会把所有子模型的开仓比例下调。2016年11月11日黑色星期五,不过自己的模型那天赚钱了,主要是开盘就大多数子模型止盈了。要是用现在的模型,那天会赚得更多。2016年的子模型还很少。


五、资金与仓位管理

1、资金管理

资金管理有2个方面:一是在品种上的分配,二是时间上的分配。品种是活跃度高的品种配得多些。时间是不同时间点触发的子模型数量是不一样的,所以仓位自然也变化了。一般子模型是等比例的。但是不同时间点触发的子模型数量不同的。主要利润还是趋势。每个子模型有自己的开仓条件,所以在时间上会错开。


2、各品种最大持仓

日成交额30亿以上都配了,单品种不超过30%的仓位。资金利用率估计是30%多,较大回撤风险还是有的。虽然子模型多,但是很多子模型之间还是有相关性,不能完全打散风险。


3、盈利与手续费

从大数定律来看,交易次数较多,统计上更靠谱。从2016年以来,累计利润127万,手续费78万。2018年60%的利润,40%来自趋势,20%来自反趋势。

效费比较差,需要跟各位高手学习。都是亲戚朋友的资金,不求多赚,求安心,所以求稳。优化是要持续做的。过去的子模型可能要用新数据重新训练。比如2017年训练的模型,到2018年又有新行情数据了,可以重新训练因子的权重。

自己写c++,调用ctp接口。因为自己写c++可以用上以前积累的经验。用软件平台的话总有很多想法不太好实现。自己写还是比较费劲,也出过不少bug,交过些学费。


六、交易心得

自己专业方向是机器学习和自然语言处理。程序交易的体会就是搭积木。从数据建模的角度看,金融市场的数据信噪比比较低。在数据不够充分的情况下,复杂的模型往往在测试的时候效果好,但是实盘就不一定靠谱,一般用比较简单的模型效果更好。但是简单的模型往往风报比不够理想,所以就独立研发很多的简单模型,然后再将多个简单的模型组合起来,获得较为理想的效果。

 

更多阅读:点击>>https://www.fof-mom.com/article/691-1.html

分享到:


©2011-2019 期投网 版权所有 广州无量科技有限公司

粤ICP备16103419号-1   技术支持:一族网络

公安备案号:44060702000019

服务QQ:821456985    电话:13802435099

提示: 市场有风险,投资需谨慎,理性投资,风险自担。


期投网公众微信号:期研社

扫描二维码添加期投网公微(cnqhtz),我们将每日为您提供专业及时、有价值的信息及服务。