期货量化交易怎样做?

2019-06-06   股巢原创:股巢资讯   浏览量:0
分享到:
当前位置: 首页 > 期货量化交易怎样做?

 期货量化交易怎样做?数据显示,北美超过70%的交易份额由程序化交易产生,也就是期货量化交易而目前我国程序化交易的份额远远低于北美及欧美的平均水平。程序化交易使资产管理人更容易通过多品种、多市场、多周期、多组合的量化交易策略来降低投资风险、平滑资金曲线,凭借其快速与纪律性等优势,越来越受到交易者的青睐。但同时,期货量化交易程序化交易是涉及算法、众多参数、交易下单的复杂系统,出意外的可能性较大,如美国的Kningt Capital骑士资本(美国最大的做市交易商之一)由于计算机程序错误导致的乌龙事件,瞬间亏损4.44亿美元,几乎让骑士资本到破产的边缘。美国长期资本公司的债券套利完美模型设计,最终毁于俄罗斯金融危机下的国债违约黑天鹅意外。2013年光大证券(12.630, -0.03, -0.24%)的乌龙指事件更是为我们上了一堂量化产品风险缺失教育课,惊悚之余,给市场提出了新的风险监管课题。

期货量化交易

  期货量化交易系统风控的构建逻辑

  一是强调风险控制的重要性。任何风险控制工作的改进,都必须以提高风险控制质量为第一考虑。

  二是强调风险的提前预防、提前发现。可通过模拟实盘情况,寻找可能出现的量化交易风险;并且在实盘交易中,通过增加参数监控,来弥补单纯订单只能在错单出现后才能发现风险的问题。

  三是强调风险估计的准确性。一方面,不断发展适合量化交易的风险估计模型,目前采用基于GARCH模型和GED分布的VaR风险估计模型。另一方面,通过对多品种联合建模,努力对套利交易提供更高的兼容性,以减少不必要的风险估计,帮助量化交易客户找到真正的风险源。

  四是强调量化交易风险的独特性。对于量化交易风险,我们面对的风险不是目前仓位继续持有一段时间可能带来的风险,而是量化交易继续运行一段时间可能带来的风险。所以我们发展了蒙特卡洛模拟的方法来计算下一个交易日的风险情况。

  基于以上逻辑以及量化投资实务的经验,我们认为,一套完整的覆盖交易前、交易中、交易后的风控体系应该至少包括以下内容:

  交易前的风险控制

  量化投资不同于传统投资方式,风险控制工作在交易前就已产生。主要预防的风险包括:量化程序的编写错误、量化程序和风控程序的不正常交互等。我们将需要测试的模型搭载在我们的交易系统和风控系统上,通过以下几个方式检验整个系统的稳健性:

  一是模仿交易所实时推送行情,在量化策略编写者的协助下,查看交易信号和输出的参数等是否正常。

  二是用专门的数据模拟包括异常行情等突发情况,验证在突发情况下系统的表现。包括风控程序是否能及时发现异常,示警并征得量化交易者同意后而采取措施的其他风控手段。

  三是在量化交易者同意风控程序进行平仓、限制开仓等风控手段时,用特殊数据刻意引起风控系统生效,以检验在风控程序生效后,量化交易程序是否能正确接受信号,并继续稳健运行。

  交易中的风险控制

  交易中的风险控制是量化投资风险控制工作的重中之重,在这个环节包含的风险种类比较多。

  1.传统风险

  传统风险是在传统的交易方式下也存在的风险种类,但是在量化交易中,这些风险又具有了新的特点:

  市场风险。市场风险是指由投资标的物价格波动带来的风险。相对于传统交易方法,量化交易的速度更快,仓位变动更加频繁,对风险衡量的即时性要求更高。同时,由于大量跨品种之间套利策略的存在,使得组合风险不是简单的线性叠加关系,需要更加精细的衡量风险的办法。我们风控团队采用主流风险测度方法——VaR,并在算法上进行创新,即时给出组合风险、组合中的单一品种风险,当风险度过高时,这种整体与局部风险均展示的方式,可以在有风险发生时迅速定位风险源。

  净值风险。量化产品在生命周期内由于产品盈利能力不佳,净值接近一定水平可能面临的清盘风险归为净值风险。但在量化策略编写中,往往并不考虑这一情况。针对这方面的问题,我们的风控系统对产品清盘的可能性进行实时定量的分析,帮助量化交易者实时了解产品的运行情况,甚至根据我们提供的分析数据,程序化地调整策略的持仓规模,以规避净值风险。

  操作风险。虽然程序化交易能自动运行交易策略,但仍不能摆脱人工操作。在人工参与环节出现的误操作或投机操作带来的风险归为操作风险。应对措施是:

  一是尽量减少非必要的人工操作。

  二是对任何的人工操作,记录并留档,定期复核。

  三是对所有曾经出现过的人工操作,制定标准化的操作步骤。

  2.量化交易风险

  量化交易风险是量化交易特有的风险,或者是该风险在传统交易中就存在,但在量化交易中被大幅放大的风险。这些风险包括:

  策略运行风险,指在量化策略运行过程中,因为各种原因导致策略发生错误的风险。这种风险比较隐蔽,传统的风险控制方式一般只能在策略出现不正常报价单之后才能发现问题,这时已经造成了损失。我们团队通过Sybase高效的流处理机制,在不影响量化策略运行速度的情况下,并行地对策略计算中的各项参数进行监控,做到了对于策略运行风险的定制化监控,并能有效地在不正常报价单出现前发现风险,并采取相应措施,避免损失的出现。

  故障风险。一个好的程序化交易系统应能及时稳定地接收行情、分析行情、处理数据、快速下单。但程序在运行过程中可能会因为停电、网络或通讯设备出现故障等不可抗力而出现故障。针对这方面的问题,可设数个备份机,在交易系统异常时,能够一键切换到备份机运行。并且在切换后有专人即时检查切换情况。

  交易后的风险控制

  量化投资在交易后也需要进行风险控制,主要关注的问题有两个:

  一是回顾当日交易,查找在交易时可能疏忽掉的风险隐患。我们会用交易程序再次推送当日行情,比对交易信号、参数以及相关其他数据,确保当日程序运行正常和下一个交易日的相关数据正常。

  二是用蒙特卡洛模拟的方法对下一个交易日的风险进行衡量。量化交易的风险衡量和传统投资方式不同的一点在于,由于很多量化程序设有止损,即使行情出现极端表现,因为止损的存在,实际的风险并不像想象的那么大。所以我们在每日收盘后,通过蒙特卡洛方法模拟第二日的交易,从而得到更加精确的下一交易日的风险计算。

  对量化投资而言,有完善的风控体系护航,风险是可控的,这也印证了我们开发风控系统的初衷,风控系统在监测风险的同时也是在创造价值。以下仅就交易前风控提供一个案例供大家参考:

  期货量化交易前风控实施案例

  2015年3月5日,xx号模型准备进入实盘前的测试。在实盘前,策略开发人员已经对该模型进行了测试,方法是一次性导入历史数据,检验输出的信号。策略开发人员的测试结果是该模型没有任何问题。

  我们通过模拟交易所数据推送,检测出该模型的以下问题:该模型对历史数据和实时数据的处理有所不同。策略开发人员的测试只测试了交易系统对历史数据的处理,我们发现该模型在历史数据和实时数据的连接上存在问题,导致实时数据的前5根K线被忽略。

  同时,我们通过模拟异常情况,刻意引起风控系统产生作用,发现该模型的以下问题:该模型不会自动检测目前的持仓情况,对于因为偶发情况(如风控系统强行平仓,模型开仓未能成交等)造成的实际持仓情况和模型内持仓情况不一致的情况,无法做出应对。这将必然导致在偶发情况之后,出现错误的报单。

  我们的交易前风控发现了这两个问题,杜绝了可能出现的风险。同时也证明了交易前风控的必要性。

 

量化交易

忽然很想写一堆流水帐——不是为了给人看,是想要总结这几年的期货生涯,一直有人羡慕我,我却只能伪作轻松欲说还休——这里的的苦,非过来人不能领会。

  和衰人埋头交易系统已三年,也许我们并无天赋,空有梦想,到目前为止,我们能够放心自动交易——认为无需过度优化的系统只有一个半,溺水三千,能握在手中的竟不足一瓢,满满的都是泪啊。

  过去,我把一个人的期货生涯分成两步,一,开发一个好的交易系统;第二,坚持交易。

  想来是太年青了,如果有这么容易,会有多少人挤在这条路上?世界上还会有去工作赚钱的人么? 

  现在我把期货生涯修改成三步,一,开发一个好的交易系统;第二,用足够长的时间熟悉和信任这个系统直到你敢于让它代替你思考和交易;第三,坚持交易。每一步都难上加难。

 

什么是一个好的交易系统?从我们最原始的螺纹橡胶的MACD系统,以及股指期货的,以穿越15分钟60周期线的开单依据,适用过一阵觉得不错的系统最后可能“就只适应那一阵”,一旦情形有变,一个不会思考死命下单的系统很快就会崩溃,所以,拼命测试就成了主要工作。

  一个系统越是过度优化,做出来的资金曲线越完美,赚得多,回撤小,因为那是事后优化出来的,这种系统都是拿去骗“别人的钱”。

  针对某一段行情反复优化参数,系统就变成一只“最适合吃桉树叶子但也只能吃桉树叶子的考拉熊”。行情是会变的,粗糙的参数在时间,周期和品种的适应性上会更好。

 

粗糙的参数,并不刻意去强行适应某段行情的参数,当然它相对于任何一段特定行情都不是最优的,得出来的资金曲线也会让人发疯。

  收益是第一考量,收益好的系统一年几倍是正常 当像你费尽心思做了一个系统,测算起来它一年赚几倍――还不是一两年的数据,我从来都会把数据测到五年以上。于是这个交易系统让人高兴得发疯。但后来因为种种缺陷不得不将它们抛弃的时候,感觉自己生了一个先天有病的孩子,一路的关爱和付出都成了东流水,我不是一次,而是经常把这样的孩子扔到了电脑的回收站。

 

被打击是常事,记得我有一个螺纹纲的交易系统,取得了连续五年年收益4倍的好成绩,当我开始使用的时候,短短几个月内就赔了很多钱。 

  在一个持续五年的资金曲线里,曲线是曲折上升的,每一笔小弯折看起来都不多,其实,最大回撤达到本金的两倍以上,而且这样的亏损可能持续半年甚至更久,超越了正常人类的承受力,赔别人的钱另当别论。

  如果一个交易系统的最大回撤是本金的200%,那就意味着我要预留更大量的保证金,多预留的保证金事实上就冲淡了年收益,交易过程还非常痛苦,当然放弃这个系统也非常痛苦,它来之不易。

  这个交易系统的回撤大,原因就在于它是非多即空,中间没有间隙,它几乎穷尽了每一笔赚钱的机会,也不放过任何一个赔钱的地方,如果行情不幸在它不能应对的框架内震荡,它就会反复地在最高处开多,最低处开空,耳光打几下,保证金就没有了。

  也正是因为这个,后来我们编的所有系统,都不再采取“非多即空”策略,而是分段多空,或一主一辅模式,收益永远要考虑回撤,这是血的教训。

 

我们还曾经为了一个PTA的系统发疯,依然是一个非多即空系统,高频,理论收益达到了离谱的一年六七倍之多,不过开始使用这个系统一段时间后,资金的大起大落让我疑惑,我开始追踪成交的每一单和系统给出信号的每一单,比对之后,眼泪流下来――竟然没有计算滑点。

  系统给出信号2996,信号发出后行情依然在继续,也许顺势往上拉一个点不多,系统追单,我成交价2997,就是这一个点,在高频交易里,从每一笔交易里偷偷吞食我的利润,当我把滑点计入,这个系统的年利润立刻下落到2倍左右,考虑到较高的手续费和回撤,它无法胜出。

 

编制一个交易系统,以为是万里长征走了8000里,其实不然,顶多2000里,即使有一个好的交易系统作为辅助,你要做到信赖依赖一个系统需要漫长时间的相处。

  某些留下来使用的系统,也许只是在暂用,或者下一秒就会移居回收站,作为它的主人,要观察,行情不好的时候,恨不得打自己的头,问道我还能寻找到更优的下一个么?还是有收益就必定有回撤这个也许已经是最好的了。

  能够最后成为一个依赖系统交易的人,内心一定是没有成见的,他不会喜欢判断、预测,总觉得自己是能了悟把握一切,这样的人是主观交易者,即使他手上有一个超凡的系统,他也不可能把控制大权交出来,一个刚悖自用的人,就算面前站着霍金,他也觉得自己比较厉害,这算做一种最为厉害的障,不能克服,这个人就基本和量化交易绝缘。

  所以所有主观性强的,特别是男人,他无法把自己和交易系统合二为一,因为他不柔顺,他从内心不敬畏一个看似粗糙的交易系统比他强,交易系统永远在工作,有了电脑的协助,就能日复一日捕捉所有细微的交易机会,它不必休息,在体能上首先战胜所有交易的人。

 

所有人,或多或少,在用交易系统时,都会不知觉与它产生对立,交易系统是机器,它在适应自己的环境里大步赚钱,在不利的行情里大步亏损,即使人把行情做了一些分类并使用不同策略,它分类的能力还是不能和人相比。这时人就老希望自己能在系统辨识不力的情形下,自己操刀上阵,也不是不可以,不过拖后腿的时候居多。

  15年我刚开始用一个股指期货的系统,我们发现股指好的时候,系统还未成形,所以一个系统刚编好就边用边观察,第一个系统因为太过波动而被淘汰,我们再换用了一个KDJ的系统,回测的效果还可以,就先用着。

  KDJ或者MACD系统,都是金死叉系统,优点是稳健,缺点是反应慢,股指期货的变动很快,有时眼睁睁看着单手利润几万块,到平仓时已去掉一大半甚至打为亏损也是有可能的――是的,即使在这样的妖怪频出时系统的年收益依然非常理想,如果只看收益,中间这样的小妖怪不看它也就是,但人受不了,人无法放手一些事情,总是想,如果我能相应判断盘中高点,就高抛了去,不必等到系统慢郎中,最后,我就可以在系统的高收益上锦上添花……。这样也试了几次,果然我比系统多赚了些,刚一得瑟,发现行情如脱缰野马一般直接涨了上去,再多涨了一手几万块,你说系统是妖怪,殊不知股指才是真妖怪,“盘中高点”是次次能看准的么?

 

有一阵我和股指的系统较上劲了,我太管不往自己提前止赢的手了,每每丢失大行情,其实丢点行情在我们不是家常便饭么?可恨的是系统的一根华丽丽的收益线提醒我的失败,我像个祥林嫂似的哭诉,唉,要是我不手贱,不硬要辛苦自己一天,那钱还不是我的???

  大部分时候和系统对着干是看似愚蠢,却有心理学上的合理性,人不会轻易交出控制权,只有被反复教训,“你从长远看不如一台机器”再说你的聪明才智你去和一台破电脑较劲啥,它不就是你的奴隶?谈何容易谈何容易,毕竟再好的系统,只是赢利比亏损多,亏损起来那个干脆劲,让你再次手痒想要自己操刀上阵。

  这样一次次的拉锯,过程中也带着系统的慢慢优化,我们的股指系统历经了几个版本,都无法改变收益大但回撤生猛的缺点,如果把参数和周期定得太大,回撤就太大,但如果参数太小,回撤次数就太多,也容易丢行情。它需要一个辩证,在适合的行情里坚定持有,但有不利的行情里小心谨慎,为了这个,盯盘的我不知吐了多少口老血。

  最终的版本出现在15年4月,缘于我在系统中加入了一个风控因素,使系统在行情不够理想时就换用谨慎和减少交易的策略,这个版本是我的心血结晶,它出来之后再也没有任何股指期货的系统超越过它。

 

钱包伴随我们走过了最后的暴涨,随后的暴跌,没人性的各种盘整,后面的事情大家都知道了,股指期货被国家严厉控制了,意味着钱包才刚出生,就面临无用武之地的情形。但我没有放弃对他的跟踪,正因为我依赖他,在不能交易的时候,我也一直在坚持测算,即使在最不利的情况下,它从最高点到最低点的回撤也不会超过十万,与此同时,它测出从09年到16年每年赢利,在普通的行情中,平均每年35万左右的利润,09年到14年,是熊市,最不好赚钱的时代。在15年的爆发牛市,它一年赚100万不成问题――在完全不用管理的情况下。

  没有完美的系统,只有完美系统和完美行情的结合才能带来利润,所有的金死叉系统都依赖一件事,成交量,足够的成交量带来足够的波动,钱包可以胜任牛市,熊市,强震荡市,但当成交量降低到某个临界值,它会开始不赢利,2013年底到2014年中的低成交量使它低处停滞大半年之久,但它没有造成可怕的亏损。

  2016年的低成交量没有低到超过界,钱包的收益缩水到一年20万左右,预计如此因为今年还有3个月]。由于超低成交量可以观测到,所以即使在最不利时,关闭系统也不成问题。

  在最不利的情况下钱包维持了他的赢利能力,但这对我又有何益,股指期货已被国家整理到残废,我只能怀着良好的期待让钱包休息,编出了自己最喜欢的系统,却眼睁睁看着它压箱底,算是人生不幸之一。

 

不幸中的万幸之一,对钱包的持续关注让我明白人与系统的相处,信赖之产生是多么重要,你不信赖一个系统,它永远不会为你赚钱。

  不幸中的万幸之二,当中国最大的投机品种股指期货被修理,无处可去的成交量重回死水一潭的商品期货市场,有成交量的市场就有赢利,这意味着我们又要转战停止了一阵,不太熟悉的商品期货市场了。

 

所有会在痛苦时拨剑自卫的交易者,都不是真正的客观或者说顺势交易者。

  在痛苦时一动不动,放任系统走过这一段,真正经历过的人都知道,难,难,难。

  世界上有很多量化交易基金,不过大部分的交易者只是把系统当成一个辅助工具,而不是像我,竟然把系统当成了自己的儿子,并且愿意信赖它,认为它比我强,量化交易,本质是,有柔顺得像流水一样的人,即使即使痛苦也不反抗命运的人,才能选择的道路

只要是系统思考,就一定会去苛求某种平衡,苛求的结果必然会去寻找系统框架与实际交易的不和谐,因为不踏实,好的系统,不会强迫自己做什么,而是本该这么做的

执着的人总会做出格的事,本人致力于波动的视觉自然化,必然要去明白波动的规律,这个规律是怎样的一种力,幸好,我找出了关键点,从而建立一套基于立足当下的应对交易系统

 

推荐阅读:

 

期货入门第1课:期货基础概念

 

期货入门第2课:期货分类和交易品种介绍

 

期货入门第3课:期货的交易规则

  • 相关阅读
  • 最新文章
精彩专栏