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

天健二号张忠辉:量化交易就像搭积木

期投网 时间:2019-01-12 16:18    来源: 期投网  

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

 [期研社-煮酒论英雄] 网络交流会

2019-01-12 14:00-15:30 

人物介绍:  张忠辉,程序员一枚,现居长沙,专业方向是机器学习和自然语言处理,早年在百度自然语言处理部门做搜索日志数据挖掘。2016年进入期货行业,兼职做期货量化模型是想将本专业的知识和经验应用到新的应用场景。目前运作的天健一号和天健二号是与朋友一起做的模型。
战绩:
天健一号,2015年12月至今,累计净值2.55,最大回撤13.80%
天健二号,2016年07月至今,累计净值2.27,最大回撤14.44%

交流流程:
《英雄》 : 自我介绍;交易分享。
《灵感》 : 讨论,沟通中产生真知灼见。
《冒险》 : 接受群体交易员对交易认知的拷问,挖掘内心的认知。


期研社-:
本期研社群的人70人里98%人都是职业交易者,90%的人我都见过并交流过。希望通过类似今天的交流,有更多的了解和提升。今天感谢不胜寒兄的引荐,又认识了一位高手:@张忠辉 ,主要做程序化交易。

天健二号:
很高兴和大家交流。期货量化是很需要实际经验的,请各位朋友前辈多多指教。
我的一点初浅的体会是搭积木。从数据建模的角度看,金融市场的数据信噪比比较低。在数据不够充分的情况下,复杂的模型往往在测试的时候效果好,但是实盘就不一定靠谱,一般用比较简单的模型效果更好。
但是简单的模型往往风报比不够理想,所以,为了获得更好的资金曲线,我们可以独立研发较多的简单的模型,然后再将多个简单的模型组合起来,获得较为理想的效果。
 

期研社-:
天健兄可自我介绍一下,什么时候开始进入期货市场的,原先是百度公司,到期货市场,应该不只是机缘巧合把?

天健二号:
是在从北京回长沙后,有一位朋友带我入门的。
我本名张忠辉,现居长沙,做程序员,主要做智能对话系统开发。

朗智基金:
何为智能对话系统

期研社-:
2016年进入期货市场,但是对 交易的理解并不深入,是如何入门,而且已进入市场,2015年12月实盘到现在没有一个亏损年度,是如何做到的?

天健二号:
2015年开始接触期货,那会儿正是股市大牛市,大家谈论炒股的很多。不过有朋友以前做量化的,就邀我一起做。天健一号和二号就是我们一起研发的。
我自己没有做过交易,应该说没有感觉。还是把量化交易视为一个数据建模问题。而这个恰好是我的专业领域。

期研社-:
你们现在是用现有的软件来做策略,还是自己用ctp接口,你主要负责系统开发还是策略开发?
如何把现在的期货交易体系移到数据建模这条路上的?

天健二号:
智能对话背后也是需要统计建模的。所以跟期货量化有一些共同的学术背景。

天健二号:
数据建模的一个目标就是要基于历史数据对未来做预测。期货的量化也是这样的。
最简单的就是基于交易行情数据来做预测了。

期研社-:
可以举个例子吗?你们对某个品种如何完成建模(通过它的行情数据完成预测)?

天健二号:
不过,期货量化并不简单。并不是把现有学术界和工业界的模型拿过来用就可以。

天健二号:
上面我讲到了,首先要对交易模型进行分解,分解出很多小模型,让每个小模型足够简单。

天健二号:
我的做法,可以从下面四个方面来划分模型:周期,开仓,平仓,下单。
周期就是分钟级别,小时级别,日线级别这种。
对于不同级别的周期,我们要训练不同的模型。
对于下单,要专门训练下单模型。所谓下单模型,其目标专门是为了降低滑点。
下单模型是独立训练的,不考虑开仓和平仓,一般也不考虑周期。

不胜寒:
下单模型就是算法交易?

天健二号:
对,其实就是。
做短线的话,这个必不可少。

期研社-:
你说的搭积木,就是把这些模型拆分独立,若需要为了实现某些模块,直接调用?

天健二号:
我分享一个简单的下单策略:就是根据排队价下限价单。如果价格变化,立刻撤单,重新按新的排队价下限价单。

天健二号:
对于这样的下单策略,下单延迟也是很重要的。怎么说呢,离交易所越紧越好吧

老白干:
相当于追价

天健二号:
是的

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

朗智基金:
训练是意思是?

老白干:
就是相当于自动优化吧

MiKe.邢:
只知道是扔数据给程序

MiKe.邢:
程序自动优化?

天健二号:
每个模型都有很多因子,训练的意思就是选择因子,以及确定因子的权重。

MiKe.邢:
机器学习了

天健二号:
因子的话,要多借鉴前人的经验了,比如海龟因子。
比如多头排列,突破,斜率,品种,都是很重要的因子。

MiKe.邢:
飞机大炮来了,我们这种小米步枪,只能呵呵

天健二号:
一般不会搞很复杂的模型,每个子模型都要足够简单。线性模型就好了。

不胜寒:
厉害了,考虑的因子好多

MiKe.邢:
多因子模型

MiKe.邢:
感觉和股票中性策略做法差不多

天健二号:
每个子模型可以直接以收益/风险比率作为优化目标。

天健二号:
单个子模型可以风险收益比可能不是很理想,但是多个模型组合后曲线就好看了。

期研社-:
话再回到刚才:限定一个分钟级别周期,和开仓条件,再来选择一些优选的因子来选择最优的开仓条件。 
-----
如何选择最优的条件?通过哪些因素?

天健二号:
比如说,我限定一个周期,假定是两个小时,意思就是这个单子在手里不超过两个小时。
然后,我限定开仓条件,多头排列多单,空头排列空单。
这个是典型的海龟因子,趋势模型。
当然,一般周期要配套,这里的空头和多头排列也是小时级别的。
然后,我的子模型就是专门寻找最优的止盈和止损点。
上面写错了,应该是寻找最优的平仓条件
止盈和止损是平仓

期研社-:
恩, 是的。 刚才也是在想你是如何寻找到做好的最优模型的。

不胜寒:
@张忠辉 达到止盈目标主动止盈?

期研社-:
那就是说通过周期+开仓条件,匹配到 了相应的止损止盈。

天健二号:
实际上,这里的子模型就是要界定止盈和止损目标。
这个目标是由模型在历史数据上训练得出。

期研社-:
是通过止损止盈找到了平仓模型吗?

天健二号:
是的

期研社-:
你们的策略是日内,短线,趋势都有吗?
甚至是可以做震荡?

天健二号:
可以。震荡模型也有。

不胜寒:
震荡模型单独的实盘业绩怎么样

期研社-:
会根据品种来设定不同的开平仓条件吗?
资金管理又如何做?

天健二号:
有些训练出来的子模型正好适合震荡。

天健二号:
资金管理有两个方面:一个是在品种上的分配,一个是时间上的分配。

天健二号:
品种的话,我一般是活跃度高的品种配得多一些
时间的话,一般是不同的时间点触发的子模型的数量是不一样的,所以仓位自然也变化了。

朗智基金:
@张忠辉 张先生会用到哪些软件去研究与训练策略,交易用什么软件

天健二号:
个人经验来看,震荡类的模型普适性反而更好,对于品种没有偏好。

天健二号:
趋势类的模型则有品种依赖,一般农产品不适用短线的趋势模型。
橡胶除外。

MiKe.邢:
大部分时间震荡?

期研社-:
仓位比例是在子模型里自带了?还是额外判断?

不胜寒:
厉害了,做震荡做得好的还真是没见过

天健二号:
黑色系最适合短线趋势模型。
震荡行情如果有波动就可以,如果没有波动,还是挣不到钱的。重要的不是趋势或震荡,重要的是波动。

期研社-:
天健二号的收益主要来源是有做过归因吗?

天健二号:
一般子模型是等比例的。但是不同时间点触发的子模型数量不同的。
主要利润还是趋势。

期研社-:
不同时点触发,主要是来自开仓条件把?

天健二号:
是的。
每个子模型有自己的开仓条件,所以在时间上会错开。

期研社-:
这个也与你所说的周期是有关的。但是感觉你说的周期又是持仓周期的概念?

天健二号:
周期同时有 两个方面,一个是开仓之前,用于计算开仓条件的周期。一个是用于平仓的,就是最长持仓周期。一般两者是同一个量级的。
不同的子模型往往是在不同的周期级别的。
我可以不停地往里面加子模型。现在已经融合了上百个子模型了,18年又加了几十个。
子模型越多,实际订单也就越分散了,你可以看到天健二号有10万次的开仓平仓。
订单越分散,其实有利于降低滑点,降低对市场的短期冲击。
 

期研社-:
是否有做同类型开仓模型/平仓模型划分? 这么子模型的话。
 

MiKe.邢:
你今年盈利是手续费的几倍?

天健二号:
从大数定律来看,交易次数较多,统计上更靠谱。
从16年以来,累计利润127万,手续费78万。
效费比较差,需要跟各位高手学习
 

期研社-:
是否有考虑过进一步优化,而不是不断在增加模型?

天健二号:
凑了亲戚朋友的钱,不少棺材本,不求多赚,求安心,所以求稳。
优化是要持续做的。

天健二号:
过去的子模型可能要用新数据重新训练。

期研社-:
所谓的新数据是什么

朗智基金:
@张忠辉 张先生会用到哪些软件去研究与训练策略,交易用什么软件

MiKe.邢:
他这个增加模型也是起优化效果的

老白干:
资金利用率多少一般

天健二号:
比如17年训练的模型,到18年又有新的行情数据了,可以重新训练因子的权重。

天健二号:
我是自己写c++
调用ctp接口。
因为自己写c++可以用上自己以前积累的一些东西。

不胜寒:
技术大牛,自愧不如

天健二号:
用软件平台的话总有很多想法不太好实现。

老白干:
这个是最好不过了

天健二号:
就是自己写还是比较费劲一些,而且也出过不少bug,交过一些学费

期研社-:
这个是必然。
全品种都跑吗,每个品种是否有设定最大持仓? 总持仓限定多少?

法师:
专业做CTA的肯定自己写下的,没必要白白给TB这种交手续费。何况TB这种也没有机器学习、AI这种功能。

天健二号:
日成交额30亿以上都配了。
单品种不超过30%的仓位

法师:
如果遇到极端震荡的行情,大部分品种没行情,类似17年下半年,持续一年以上,是否会造成比较大的回撤?

天健二号:
资金利用率不知怎么说,估计是30%多吧
较大回撤风险还是有的
虽然子模型多,但是很多子模型之间还是有相关性,不能完全打算风险。

天健二号:
打散

期研社-:
对。相关性这个问题如何解决?

天健二号:
怎么说呢,期货风险还是很大,需要保持敬畏之心
目前我没有去统计不同子模型之间的相关性,应该说还没有有意识做这个事情,后面可以考虑做好这个事情。

期研社-:
若是单品种30%的持仓,算是很高了,当达到最高持仓的话,风控要求,是否有变?
开仓条件,是初次开仓条件吗,是否有加仓的开仓?

天健二号:
所有开仓都是单次开仓,没有加仓
如果总仓位很高了,就会把所有子模型的开仓比例下调
 

天健二号:
16年11月11日号称黑色星期五,不过我的模型那天赚钱了
主要是开盘就大多数子模型止盈了。
其实,要是我现在的模型,那天会赚的更多

MiKe.邢:
赚的差不多就收手

天健二号:
16年的时候,子模型还很少。

MiKe.邢:
你这个模型有没有试过其他品种,比如外汇,外盘期货

天健二号:
还没有,准备找点数据测试一下

期研社-:
是不是跑国债的策略优于股指和商品?

天健二号:
股指16年之后就不好跑了嘛,国债期货波动性也不怎么样呀
除了国债期货,还有哪里可以买卖国债吗?

MiKe.邢:
股票账户可以

天健二号:
股票还没做过。那种只能做日间了,感觉数据量级小了,对于建模就难多了。
请各位多多指教。

MiKe.邢:
你可以建完底仓,股指对冲
这样就可以做日内了

天健二号:
股票交易手续很高,我目前的模型效费比达不到覆盖成本。

天健二号:
要重新建模了。

MiKe.邢:
嗯嗯

MiKe.邢:
股票手续费是高不少
波动也大啊
股票涨跌百3毛毛雨

天健二号:
嗯,可以尝试,我现在研究期货。股票是我朋友分工做。

期研社-:
@张忠辉 模型做出来,组合前会做模拟吗?
 

天健二号:
是的,要做模拟的

期研社-:
股票你们2018年跑的如何?也是同样的原则来建立模型?
如何确定模型可用,就是从模拟盘上到实盘这个过程是怎么判断的

天健二号:
股票还在模拟中,没有实盘

期研社-:
你朋友早期是做股票主观交易的?

天健二号:
模型检查首先要避免低级错误,比如涨跌停买不进的情况要去掉
然后要做参数稳定性检查,参数就是因子的权重。如果稍微调整权重,效果变化大,参数就不稳定。
朋友股票和期货都做过,量化也做。

智成:
个人经验来看,震荡类的模型普适性反而更好,对于品种没有偏好=====你震荡模型,实盘多久了?

天健二号:
震荡模型这个描述可能不准确。

智成:
很多人都在尝试震荡模型 ,但我所知道的没有一个成功 

天健二号:
其实,前面讲到的震荡模型,其实就是开仓方向与趋势模型开仓方向相反的模型
我不知道真正的震荡模型是什么
如果趋势模型认为开多,而这个模型则开空。这是我前面所讲的震荡模型,可能含义与各位理解不一定一致。

智成:
开仓方向与趋势模型开仓方向相反的模型====这个是一种思路 
大多数震荡模型是定义某个区间 所谓的高抛低吸  

天健二号:
应该是从17年11月开始引入这类模型

智成:
实战年化有多少 

天健二号:
其实这类模型虽然可以盈利,但是总比例不如趋势模型。估计在总利润中占三分之一。

MiKe.邢:
那也很厉害了

智成:
或者说历史回撤的 模型基本数据  年化收益  盈亏比 胜率 

天健二号:
比如,18年60%的利润,40%来自趋势,20%来自反趋势。
 

MiKe.邢:
张兄好像是选品种的
这个可能更适合做在农产品上

天健二号:
反趋势模型对品种不如趋势模型敏感,几乎所有品种都适合

法师:
这个震荡模型不是为了盈利,而是减少风险

天健二号:
趋势类模型做农产品不好做。
反趋势模型其实是择时的
 

不胜寒:
@张忠辉 这个就是关键了,如何择时

法师:
等小趋势衰竭?

天健二号:
前面讲了,波动大的时候。无论趋势还是反趋势,都要在波动率大的时候。我的经验总结。市场没有波动,一潭死水,什么模型都没用。


MiKe.邢:
是涨跌幅空间更重要是
 

天健二号:
哈哈,细节讲得比较多了,希望私募的投资人不要骂我
请各位嘴下留情。
 

智成:
你现在等于是自己单干?

不胜寒:
再问一个问题,你刚说的这些因子,按重要性排序的话,排在前面的是哪几个因子


天健二号:
重要性排序是模型训练所得权重决定的
 

天健二号:
这个就是所谓的机器学习了,机器学习的主要任务就是学习权重

智成:
你自己对交易的理解  想怎么说是你自己的事情 

天健二号:
我兼职搞,对外合作一般和我朋友一起。

智成:
你有自己的职业?

期研社-:
天健兄现在在什么公司做?还是程序员么

天健二号:
程序员,现在做医疗智能导诊系统开发,公司总部在北京

法师:
这个也是机器学习AI啊
 
期研社-:
那以后你有什么打算和想法?
工作和交易这块的重心?

智成:
现在规模有多大 ?

天健二号:
量化还是要努力做好的,其实做智能导诊和量化,对于我来讲,发现可以相互借鉴的。

乐丁:
这些比因子排名更重要吧

不胜寒:
@黄永剑 是的,张兄讲了很多干货

期研社-:
很多干货。

天健二号:
交易和工作,对我来讲都是写代码吧。反正放一起来做了

 
不胜寒:
@张忠辉 斜率这个因子对绩效的帮助大吗


天健二号:
斜率挺重要的
可以,量价多因子

不胜寒:
有持仓量和成交量因子没


天健二号:
有的,不过好像学习所得的参数权重不是很高。看起来没有那么重要


天健二号:
还有时间因子,比如开盘,收盘,周几,月末,月中,月份

MiKe.邢:
19年结束了张兄再来讲,看看19你的因子权重和18年相比变化了多少

天健二号:
这些其实也重要

不胜寒:
非常好,张兄的这个因子库是无价之宝
张兄对风险平价模型做过研究没

天健二号:
风险平价不知道哦,要学习下
股指其实15年之前很好,16-18年勉勉强强也能赚点
 
天健二号:
感谢各位捧场

海深:
感谢张总的分享,受益良多

期研社-:
感谢天健兄的分享,感谢不胜寒兄的引荐。

分享到:


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

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

公安备案号:44060702000019

服务QQ:821456985    电话:13802435099

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


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

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