你有了策略思想之后,你要用代码进行实现。其实要把一个策略进行代码实现就是一个很有意思的过程,为什么呢,因为我常常听到有人跟我说,小杨,我有一个想法你帮我把它写成策略吧,我就问他你想法什么,他就说在均线上方就做多,在均线下方就做空。我说没办法写成策略,他说为什么,我说你语言的表达太模糊了。
一个策略思想要写成代码必须要有精确的数学语言来表达,比如你说在均线上方你是指收盘在均线上方呢还是最高点在均线上方,这个均线是指15日均线呢,还是30日均线呢,还是指在5分钟或10分钟做的均线呢等等等。而且你只说做多做空,止损的条件是什么呢,止盈的条件是什么呢,进场条件离场条件是什么呢,其实把你的策略思想转化成代码的过程就是把你的策略思想进行提炼的过程,其实就是把你的思想进行一个去污存精的过程,就是把你策略思想模模糊糊的地方精确化,只有等你的策略思想能够用精确的数学语言表达出来的时候,那个时候你才能够说把你这个策略能够写成代码,所以在做的各位有兴趣把你的策略思想写成代码,你会发现你之前的思想比较模糊,根本就没有讲清楚进场条件出场条件到底是什么,出发条件到底是怎么样的。
代码实现一般是有几个要求:第一个要求就是规范化,什么叫规范化呢,最简单的条件就是无未来数据,很多初学程序化的人会犯这个错误,我举一个简单的例子,如果我写了这样一个策略,今天收盘如果是涨的,我再开盘买入收盘平仓;如果今天收盘如果是跌的,我再开盘做空收盘平仓。你说这个策略效果会怎么样,它的胜算率会是百分之百,曲线非常好看,但是这是完全没有意义的,因为等你知道今天是涨还是跌的时候,你还能开盘进的去吗,所以对策略的要求就是没有未来数据。没有未来数据这是很重要的,如果你发现你的策略思想实现之后测试结果非常好,基本上你用了未来数据可能性比较大。第二个就是有固定格式以方便阅读和修改。如果你的策略比较多的时候你就会想到要结构化,你可以把你的策略拆分为开多条件,平多条件,开空条件,平空条件,再加上一个止盈止损的条件等等,你把将策略分拆为不同的结构,就可以提高效率,方便策略组合。那当然写策略的最终目的是为了实盘,所以可执行性是非常重要的。因为策略的最终目的是要实盘使用,因此要结合实际情况,具有可执行性。
下面讲一下测试结果的分析。就是当你的策略用代码要实现之后,你肯定要想到这个策略表现到底怎么样,那我们首先要看看它在历史中的表现到底怎么样,那这里就牵涉到测试结果的分析,测试结果的分析分几个方面来讲,这是相对来说稍微专业一点的内容,大家要有耐心,会比较枯燥。第一个就是重要指标分析,比如说它的利润,净利润,第二个是对交易成本的分析,第三个是对参数敏感性的测试。具体什么意思我们可以一项一项来看。
第一个是策略的指标分析,比如说策略的净利润是怎么样的,净利润我们是非常清楚,就是这个策略的盈利能力。这也是大家最关注的一块。净利润很重要,其他指标也很重要,因为你要考虑到这个利润是怎么产生的,比如说这个利润是2008年金融危机产生的,那么这个策略你要小心了,因为2008年的金融危机是不可复制的。净利润是反映了这个策略的盈利能力。第二个是它的总盈利和总亏损的比。因为一个策略不可能一直是赚钱的,它做单做进去的时候可能是赚钱也可能是亏钱,这个比就是把它所有赚钱的交易所赚的钱加在一起,把它所有亏损交易所亏的钱加在一起,做的一个比值叫做总盈利和总亏损的比。对我们程序化来说所谓的亏损我们更加喜欢叫它成本,所谓的亏损其实就是它的试错成本,因为比如说一个趋势策略,它做进去的时候,它开仓的时候,它错了,马上认错,就止损了,所以这就是它的试错成本。那我们当然希望试错成本越低越好,所以也期望这个总盈利和总亏损的比越高越好。那么盈亏比一般在2以上是一个比较好的策略。什么叫做比较好的策略,就是这个策略你做起来不会很纠结,很难受,有的策略测试结果很好,但是你做起来很难受。那还有就是交易次数,交易次数有什么用,因为程序交易是从统计的角度来进行分析,所以如果交易次数太少的话,那么它就失去了统计意义。比如你的策略今年只发了一个信号,它是赚钱的,它胜算率是百分之百,它盈亏率是无穷大,因为它只赚钱没亏钱。那么但是这个策略是没有意义的,因为一次它就没有统计意义。一般来说交易次数相对要多一点这样的话它有比较好的统计意义在。下面一个就是它的盈利比率,什么叫盈利比率呢,也就是它的胜算率,趋势策略胜算率能够到40%左右,是很不错了。因为趋势策略是让利润奔跑,让亏损止住,就是要赚大钱亏小钱,所以一般它的胜算率没有像你想象的那么高。但另外一方面,一个不成熟的交易者,心理对胜算率的承受力也不是那么高的。一般一个50%的胜算率这样一个策略也很难以为能够坚持做下来,就是因为有持续亏损在。因为一个50%的策略胜算率,它并不是说做一单亏一单,做一单亏一单……这样来做的,它可能是连亏10笔,又连赚了15笔,可能是这样的情况。那么在这样的情况下,心里承受能力,亏一笔你可以承受的了,你觉得是试错成本,亏三笔你觉得这是试错成本,等到亏五笔亏七笔的时候,你就不觉得这是试错成本了。你觉得这个策略有问题,你觉得这个策略神经病,不能再把钱交给这个策略了,这样太危险,你就坚持不下去了。这在我们团队里面,不成熟的程序化交易者很容易碰到的情况。还有几个比较重要的指标是平均利润,平均利润是净利润除以成交次数,就是平均一笔交易它能够赚多少钱。平均利润当然是要越大越好。因为如果你的策略平均利润太小,那么你这个策略对冲击成本的抵抗能力比较小。比如说你有一个股指策略,平均利润才60块钱,那么它只能抗一个跳的黄点,如果超过这个跳的黄点,那它有可能不赚钱,是亏钱。平均利润还涉及到你策略容量问题,策略平均利润高容量就大,所以一般来说长线的策略,周期越长,平均利润越大。周期越长的策略,平均一笔赚的钱越多。所以有的人交易做得好会越做越长远,因为它的资金容量会越来越大,他不得不把交易的周期拉长。而短线的策略平均利润会比较小,资金容量也会收到一定限制。
还有一个就是最大亏损,最大亏损这个指标是衡量极端情况发生的时候,这个策略是怎么表现的,因为最大亏损是指比如说你这个策略隔夜一个跳空,直接是停板跳空的,那么它的最大亏损就会变得很大,一般来说日内策略的最大亏损会小一点,隔夜策略的最大亏损都是比较大的,在这一点,如果你任何一个隔夜策略在多品种都测试一遍,都会发现这一点,常在河边走哪有不湿鞋。所以测试的好处是当你看到最大亏损的时候,对你交易来说是最好的提醒,那是一个觉得重要的提醒。在历史上走一遍,无论什么隔夜策略,总会有踩到雷的时候,它总会有踩到坑的时候,那这个时候你会对策略持一个谨慎的态度因为你会自然想到你要多策略多品种多周期地来进行一个分散,以免你踩到雷了,你只有这一个策略,被炸得人仰马翻。所以最大亏损是一个压力测试,是衡量一个极端情况的测试表现。
还有一个很重要的指标是最大回撤,一般来说是一个高点到局部低点的回撤,是指高点到下一个高点创新高之间有局部回撤,最大的回撤是多少,最大回撤的用处是让你评估你的风险所在,因为你这个策略上实盘的时候,你不一定是在这个资金曲线的低点,很不凑巧,你刚上实盘的时候你是在这个曲线的高点,然后下面就迎来一个慢慢长夜的回撤,所以最大回撤就是衡量你这个策略要配多少头寸,一个很重要的指标。因为假设要发一个产品,那我们给它能承受的风险是10%,策略组合的结果肯定要小于10%,应该配5%-6%,这样你才能放心地让这个策略来自动化地运行,这是非常重要的。那还有很多策略也是非常重要的,比如说一个策略最长的独创新高的时间,因为有的策略你一看觉得它很赚钱,但是你仔细一看,它有一年的盘整期。它前面赚钱,后面盘整了一年,后来又赚钱,那这样的策略用起来也是很痛苦的,因为你一上线,它就在盘整,历史上最长的盘整期有一年,你能不能受得了,你要做好准备,你这个策略上去你要一年不赚钱,那我还用这个策略干什么,我还不如不做交易呢,所以一个策略最长不创新高时间也是非常重要的。这些只是单个指标,对单个指标进行综合计算,可以算出标准差,下弧比等等。交易开拓者一个综合指标叫TD系数,是来衡量你的策略好与坏。你用交易开拓者、金字塔等等一些市场上已有的交易平台,都会提供综合的指标供参考。还有一个指标不是用数字来表示,是看资金曲线的表现。一般来说,我们看到前面展示的资金曲线,因为不同的资金曲线是很容易看到策略的好坏。这个螺纹钢比较平纹,橡胶虽然很高,这一块占了一大部分,这一块很有可能是金融危机赚到的钱,实际上你要评估这个策略的时候,你要把这一部分去掉,因为这是没复制性的。你要把这三分之一去掉,这样你会发现净利润这个指标也不一定靠谱,前面盘整的时间也非常长。PTA相对稳一点,因为它盘整了的时间是在早期,当然我们参考一个策略的时候,资金曲线越早,权重越低,越接近现在权重越高,白糖这段时间在盘整,这段时间在回撤,我们要重新评估一下这个策略对现在行情适不适用。所以对资金曲线的第一感觉也是很重要的指标,你衡量一个资金曲线的时候,你不能看由历史以来的资金曲线,你一年一年地看,一个月,一个月地看感觉也是不一样的。其实你把这一段一年的时间,放大来看其实是一头栽下来的策略,是非常不舒服的。我么还要评估一个指标就是它的月度盈亏(每月的盈亏)。我们一般经过策略组合的效果都是赚钱的,这是考虑到人性的部分,因为如果一个资金曲线盘整个一年,盘整个三个月,很多人都受不了了,对这个策略失去信心了。
再讲一下滑点和手续费的交易成本影响,这是两条资金曲线,一条是在交易成本为万分之一时的资金曲线表现,另外一条是交易成本为万分之五时的资金曲线表现。在交易成本为万分之一的时候,它的一手大概赚23万,然后很平稳地上去,而交易成本为万分之五的时候,真正赚钱的就这一段,这里大概是赚了6万多块钱,这里就是盘整的样子,那为什么会有这么大的变化呢,这里万分之五的情况,我们做程序化交易,做测试实际要收的手续费,这个手续费分为两部分,一部分是交易所收的手续费大概万分之0.5左右,可能还要更低一些,另外一部分是加了两个跳的滑点之后,它的表现接近万分之五。
交易成本为万分之五
交易成本为万分之一
我们在做测试的时候,交易成本为万分之一,大家觉得跟交易所的手续费比起来多的挺多了,为什么还不够,因为要考虑冲击成本的策略,有几个因素,假设这个策略是突破3000点,买入,从信号出现到你买进去的过程有一个时间差,3000点是关键点位,你想买进去,其他人也会买进去,所以你是在排队,你3000点可能买不到,你可能会买在3000点2,3000点4,3000点6,如果行情很急的话你买在3000点2,3000点2 都有可能,所以你必须要考虑滑点的因素,这样就会给你一个冲击成本,我们综合衡量下来平均实盘做下来的冲击成本大概是一个跳多一点,我们给它两个跳,这是考虑到资金容量要足够大,另外会考虑实盘的时候会有极端情况发生,要把综合风险都考虑进去。我们的目标是交易成本为万分之五的情况下仍能取得这样的效果,这样我们才能把这个策略进行,这就是滑点和手续费的交易成本影响。
还有一点就是参数敏感性测试,敏感就是指你的皮肤过敏,敏感起反应。参数敏感性就以这个例子来说。参数为0的时候赚了17万,参数为1的时候赚了25万,参数为2的时候赚了20万,参数为6的时候最好赚了40万,参数为7的时候赚了7万左右,参数为8的时候基本上不赚钱。参数是什么意思,刚才我们举了一个例子,突破300根K线的高点进场,300就是一个参数,它不是400也不是100,300是哪里来的,这就是参数优化的过程。比如说我们正常的做法是把参数从1-1000测试一遍,哪个参数最优,这就是参数优化的过程。参数为6的时候最优,选择这个参数,参数为6的时候资金曲线很好看,那是不是说明这是一个好策略呢,不是,因为当参数变为7的时候,资金曲线马上就趴下,这说明这对参数太敏感,好的策略它的参数在100-1000变化的时候,它的资金曲线变化是非常平稳的,不是有突然变化,有突然变化说明策略是非常不稳定的,这就是所谓的参数敏感性测试。一个好的策略必须要经过参数敏感性测试,一个比较大的区间都是比较稳定的。假设在200-400都能取得比较的好的表现,我们在200-400选一个参数就不用担心偶然性因素,像这个选择6参数偶然性因素还是比较大的。参数敏感性这一块在程序化交易已经算是比较专业的内容了。
下面跟大家讲讲程序化交易实盘的过程。因为我们最终的目标是把这个程序化交易上实盘,不然你做了再好的策略又有什么用呢,有个故事讲有个人第一年花了很多时间听讲座拜师傅,终于找到一个好的策略,但他想想又觉得不够好,又去找,想找到更好的策略,第二年他又找,第三年他又找,不断地找,他老了之后手中有很多策略,但是一个策略都没有上实盘,他一分钱都没有赚到,这是一个很简单的故事,但是对我是一个提醒,你手中有策略,要让它上实盘,要让它跑一跑,是马是骡拉出来遛一遛。
程序化交易的目标是什么,陈奕迅有一首歌,我很喜欢,歌名叫《稳稳的幸福》,我相信在座的各位,不是为了追求暴利而来的,而是追求稳定的盈利,稳稳的幸福,这也是我们的目标。如何来获得稳稳的幸福,如何来取得稳稳的收益,我们也是经过很长时间的摸索,最后我们投资的模式是多策略,多品种 ,多周期 ,这样进行分散,这样分散的好处是容量大可复制,我要强调一点,我们的投资理念是可复制的,我们的目标不是只发现在这一个产品,这个产品发出去只是第一步,如果我们管理的资金是五千万我们能达到这个效果,当我们管理的资金到达一个亿的时候也能达到这个效果,一个亿到五个亿的时候我们仍然要达到这种效果。可复制才能够带来的力量。
如何取得这个可复制的效果,那就是要足够分散,首先是多策略的分散。多策略分散有什么好处,它能够规避偶然性因素的影响。举个例子,今天股指是大涨,然后这个策略是涨到1%的时候买入,如果回跳下来十个点的话就止损,如果你不止损,你会一直拿到收盘平仓,这是一个简单策略,这是一个赚钱的,正收益的策略,你们回去可以试一下。这样一个简单策略,它在实际上做的时候,涨到1%,买入了,你运气非常不好,正好把它十个点止损打到了,它就止损了,后面上涨就跟它没关系了,眼睁睁地看着它上涨,错过这一天的行情,这就是一个偶然性因素,这一天如果是大涨的话,他就没办法。如何规避偶然性因素的影响呢,就是把策略进行分散。比如说策略一是上涨1%进场,回调1个点离场,策略二是破昨天的高点进场,回调20个点离场,策略三是破30天的高点进场等等。当你策略进行分散的时候,一方面可以规避偶然性因素的影响,等正真有大行情出现的时候你肯定有头寸在手上,你不会因为策略太单一而错过机会行情的出现。策略多的话除了可以规避偶然性因素的影响,还有一个很重要的原因是让这个品种在不同的行情里面,取到平均收益的结果。刚才有个朋友跟我讨论一个问题,你这个策略在趋势行情里面赚钱,是不是在震荡行情里面就亏钱了。鱼和熊掌不能兼得,如果你一个策略在一个行情里面赚钱,在另一个行情里面肯定要付出试错的成本,不可能有一个策略在所有的行情里面都赚钱。经过多个策略的分散之后可以取到平均收益的效果。你车开出去的时候,你有桑塔纳,越野车,又有房车,不同的环境下都有好的表现。多品种分散,分散的理念从做投资以来一直不断被人强调的理念。另外不要把鸡蛋放在同一个篮子里面,所谓的多品种分散,就是要在股指,橡胶,螺纹钢,白糖,PTA,铁矿石,各个品种上都有配置,它的好处也是非常明显的,今年下半年橡胶处于盘整的阶段,但是股指很好,你有多品种的分散之后,就能东方不亮西方亮,总有机会让你赚钱,但是当系统性行情出现之后,所有品种都出行情的时候,有多品种配置,你也不会错过机会。所以多品种分散比多策略分散意义更加明显。在多品种分散的时候,要对品种进行一个分类,化工类,有色金属,黑色类等等。相同类别的品种容易出现相同系统性的行情,等原油大涨的时候,原油类相关类别的品种塑料、PTA、甲醇都会有上涨行情的出现。你在分散的时候,把同一个类别的品种归为一个品种,这样的好处是在同一个类别的品种不会放太多的头寸,所以分散必须要在不同类别上进行分散,这样才能够取得让资金得到充分分散的结果。还有一点是多周期分散,要有短线策略,要有长线策略,要有日内策略,要有隔夜策略,要有抓一年下跌的策略,也要有抓一天上涨的策略。这肯定是要一个团队才能做的事情,因为一个人的精力毕竟有限,一个人的偏好也是有限的,有的人偏好做日内,有的人偏好做隔夜。团队可以把不同的品种,不同的策略,不同的周期进行分散。足够分散之后,尽管你资金规模很大,分散到个个品种,各个策略也不会很大。假设你有一个亿的资金分散给十个策略,每个策略大概是一千万,然后十个策略再分给十个品种,每个品种变成一百万,而将十个品种分给每个周期,每个周期每个策略每个品种大概是三十万,一个亿就分散到三十万了,相当于你一个亿的资金分散给三百个操盘手做了。这样你心里才会安心,你才会觉得是稳的,一条腿走路是不稳的,很多条腿走路像蜈蚣一样才稳。这就是我们分散的目标,通过分散来达到稳稳的幸福。
这是一个多品种组合测试的报告。
这是一个策略,周期在5分钟上的隔夜策略,这一个策略在橡胶,焦炭,铜,螺纹钢,PTA上历年的表现情况。它在橡胶的表现比较好的,在PTA的表现比较一般,这是按十万块来算的,赚了49万,回撤18万,它的盈亏比并不高,最后一列是组合的结果,组合之后是所有的利润相加,组合之后的年化收益也是相加,然后胜算率是平均值,平均利润也是平均值,它的交易手数是这些加起来。最大回撤远远小于相加的结果,如果你做一个组合测试,你会感到惊叹,这个盈亏比达到10倍,这里9倍,这里才3倍,4倍,之后它可以达到一个非常好的效果,这才是一个策略在五个品种上进行分散,这是真实的,不是我们随便搞一个优化过的来,蒙蒙大家这没什么意思,再说我们手头上不缺文章。这里面还没有加进股指,大家知道股指这段时间做程序化交易非常好。然后再把多个策略再分散再组合,那么结果可以达到20倍,30倍的效果。而且我在测试的时候每个策略都是万分之五加两跳,所以程序化交易的分散在现代中国市场上还是有不少的机会,它可以创造一个稳健的收益。这个产生的原因刚才也跟大家说过你可以把一个策略看成是无悲无喜,不知疲倦没有情绪影响,一个一根筋的很笨的操盘手,他只认这个品种这个策略这种做法。如果十个一百个一千个组合的力量是非常强大的,所以这就是计算机带给我们的好处。
分散要怎么分散,刚才也跟大家提过一个是品种的分散,就是不跟品种谈恋爱,人是有感情的,一个人做期货也会做出感情,你一直在关注这个品种你会发现你爱上这个品种,你离不开这个品种,你每天打开文华财经的时候第一个关注的就是这个品种表现到底怎么样,做程序化也一样,你一直做股指,就会跟股指谈恋爱,不想去做其他的品种。不要跟品种谈恋爱,品种没有感情,你对品种倾注感情,品种对你不倾注感情,你照样亏钱。第二个就是策略分散,十八般武器全都配齐 ,刀枪棍棒,长中短,长枪短炮都要有,这样你心里才会舒服。程序化交易做多的人会有一个毛病,总是追求更多的分散,更多的品种,更多的策略,更平滑的曲线,把这个曲线当作自己的作品,就像一个艺术家在画画,画的就是他的基金曲线,他希望画出来一个很稳很漂亮的基金曲线,给人看看,这就是他的艺术品,这就是他的作品。所谓的周期分散就是长中短结合,前面几张PPT我提到的最多的就是分散,分散,再分散,这是我们认为规避风险最好的办法。
这张图也是讲分散,现在中国市场大部分策略都是趋势策略,一个策略进行不同周期进行分散,然后周期分散之后进行品种分散,总的目标是取得一个足够分散的效果,我们对策略的态度和对一个操盘手的态度是一样的,一个策略不轻易上线,像我刚刚展示的一个简单的策略在所有品种上先过一遍,这个使我们策略上线的基本步骤,一个策略要在大部分活跃品种都过一遍,看看表现怎么样。我们认为好的策略,基本的素质和要求,因为既然是一个好的策略,所以在大部分活跃品种上都有好的表现,这是很正常的事。上线之后,不会轻易把它下线,后面我们会在实盘规则里面会提一下。
下面跟大家展示一下策略实盘的过程。首先我们要有策略的思想,对策略思想进行提炼,用代码实现,再进行测试结果分析,包括多品种测试结果分析和多周期测试结果分析,以及各项指标的分析,手续费,参数敏感性等等的分析,这都过一遍,才算完成了分析的流程,就像一个产品一样走完了流程,这是策略部做的事情。然后策略经过这么多分析之后,觉得可以上线,就投委会讨论之后,首先进行模拟交易测试,如果发现问题,重新回过头来,对该策略的思想、代码和测试结果分析重新再走一遍流程。如果没有问题就进入下一步小头寸实盘测试,一般来说模拟测试通过了,实盘测试不太会出问题,万一有问题,再把这个策略打回策略部看看有什么问题,如果实盘交易没问题,就进行上线交易,给它配一个固定的头寸,上线交易的时候,要看这个策略和现有的一些策略组合的表现是怎么样。最好的是和现有的策略是互补的,赚的是不同行情的钱,给它配的头寸多一点,还有就是和现有的策略差不多,那我们会从现有的头寸分散一部分给新的策略。这个是由交易部来执行,是盘交易一段时间后,策略部的人有想法要改进这个策略,重新再改进,我们希望策略的研发和执行分散开来,说到底人是有感情的,如果让策略部的人来执行,他们会有倾向,他们只喜欢自己的策略,这是一个,第二个,一个懂策略的人反而不容易执行,他懂他的策略什么时候能赚钱什么时候能亏钱,所以他觉得这个时候是震荡的时候,我这个策略是抓小趋势的,现在没有小趋势,他可能就会想要干预它。反而不懂策略的人反而能更好地执行它,因为他不懂策略,策略部的人告诉他们能赚钱,他们就执行。所以将策略的研发和执行分散开来是很有必要的。其实在做的各位可以找其他人执行,如果担心代码泄漏,可以对代码进行加密。也只有这样才能真正严格地执行。
有人说程序化交易能够规避人性的弱点,比如说赚了一点钱就走,不敢让利润奔跑等等。我们在做程序化交易实际做下来的过程中同样会碰到人性的问题,人性的问题在期货市场大家都是耳熟能详的,五个字,恐惧和贪婪,我们在做程序化的时候也会碰到恐惧和贪婪的事情,比如说你一个资金曲线组合三个月不赚钱,你就开始担心了,是不是行情变了,或者你连亏了三个月,这个时候就开始担心了,我做测试的时候每个月都应该盈利,可是实盘跑下来,亏了三个月,是不是这个策略出问题了,是不是我们应该停一停,是不是应该下线,是不是现在的行情跟历史行情完全不一样,出现了翻天覆地的变化等等各种各样的疑问会从脑袋里面跑出来。你会想这个市场不可能永远存在一个一直赚钱的策略,这肯定是有问题的,等你冒出这个想法的时候,这个想法会像种子一样一直在你的心里生根发芽长大,如果你被这个恐惧思想占据的时候,你每天看这个思想就会像看仇人一样,有一天你管不住你自己,就会把它停掉,先停一段时间看看。这是我们在实盘中遇到的恐惧的问题。那么贪婪的问题会不会碰到呢?会。尤其是当你做出一个新策略的时候,你会非常兴奋,这个策略比你以往所有策略都要好,这个资金曲线比你以往所有策略的资金曲线都要好,那怎么办,我们就重仓这个策略让它狠狠地赚一把吧,这也是我们会碰到的,这个策略一年能赚十倍,我们有一个策略股指一手,四年赚了两百万,这么好的策略你还做其他策略干什么,你还有什么好分散的,不用分散了,全部压进去,那它一天可以做十笔交易,把你十万块钱亏掉。这是都会发生的情况,所以人性是无处不在的,只要是人来做的事情都会碰到人性的问题 ,你会碰到恐惧的问题,你会碰到贪婪的问题,这都是无法避免的。我们要多品种分散也是一样,你会发现前几天下来橡胶盈利能力都是非常强,然后我们每年都会遇到一个问题干嘛把头寸分散到其他品种上,为什么不都放在橡胶上,有什么好分散的,能赚钱就好了,这个时候就需要规则的约束,需要团队的力量。团队可以让你规避人性的弱点,规则能够让你的计划进行严格的执行,比如说规则股指不管它的盈利点再强不能超过总头寸的20%,单类别是品种不能超过总头寸的20%,进行一个单个策略,不管它策略多好不能超过总头寸的10%等等,会有一些最大的约束在里面。实际上我们做了一段时间后,我们会发现还是分散好,未来是一个不确定因素,你历史的结果再好,不代表你未来就好,你只是根据测试,始终是有不确定性。比如说上次股指跌停了,这是历史上没发生过,历史数据是没有的,这种事情以后还会不断出现,所以对于未来我们始终保持谨慎的态度,对于市场我们始终保持敬畏的态度,不是说我们战胜了这个市场,我们是顺应了这个市场,我们要顺势而为。策略无法像圣杯一样将市场的钱赚光。我们经过了五六年程序化交易得出的结论是简单的策略生命力强寿命强。简单的策略能在长时间行情中表现出好的效果,容易坚持不容易失效。用来表演的武术和上战场的武术是不一样的,上战场的东西必须简单的适用的拳拳到肉的,表演的可以是花团绣腿,各种各样的花样都有,。一开始,我们做程序化的时候,策略很简单,后来越做越复杂,比如把震荡行情分为窄幅震荡和宽幅震荡,把趋势分为趋势的起步阶段,趋势的加速阶段,趋势的收尾阶段等等。你会产生各种各样的想法,把想法写成代码,所以策略越来越复杂,再经过市场的检验,留下来的往往还是简单策略。比如之前给大家举得那个例子足够简单,为什么说它一定能赚钱,因为它足够简单,所以说它生命力足够强,如果它很复杂,它后面不一定能赚钱。有句话说得好,把事情变复杂很简单,把事情变简单很复杂。复杂的事情简单做,简单的事情重复做,重复的事情坚持做,简单的事情重复做,你就是专家。重复的事情用心做,你就是赢家。在座的如果想做程序化肯定会经历一个从简单到复杂从复杂到简单的过程。
接下来再来讲讲程序化交易突破的问题。现在市场上做程序化交易的人越来越多,我们秉承的是大道至简,重剑无锋,大巧不工的理念,当然也会有其他理念,中国期货市场正在像欧美市场看齐,会有越来越多的量化投资团队在里面。随着竞争越来越激烈,市场会越来越难做,钱会越来越难赚,怎么来突破这是我们从13年以来一直在思考和尝试的。比如说你可以尝试更快的速度,你可以把交易的机器托管到交易所的机房,但是速度再快,交易所行情发布的规则是每五百毫秒发布一个tick,就是你一秒钟就只有两个数据,所以速度再快也会有限制。还有一个方案,更复杂的模型,这跟我们的理念不一致,这条路我们已经走过了,我们不会用更复杂的模型去取胜市场,可以考虑更复杂的模式,比如说套利,阿尔法对冲等等。每个团队都应该发挥各自所长,以后跟其他团队合作的时候考虑更多的盈利模式。
最后我们觉得突破的方向是从狭义的程序化到广义的量化的过程。狭义的程序化就是把你的策略写成代码,让计算机自动执行,广义的量化,我们接触过很多做主观交易的人,有些做主观交易的人他不是程序化交易者,但是他真真实实是量化投资者,他的基本面分析是有很清楚的量化模型的,是可量化的,对价格的分析,止盈止损都是量化的,只是他没有用计算机模型来下单,他是用下单员来下单。从广义的来说这样的主观交易团队也是程序化交易团队,也是量化投资团队。所以在未来没有一个机构不是量化的,量化的就是可复制的,有规则有体制有制度有流程,制度和流程包含了程序化交易最本质的东西。我们要从单纯的程序化往量化方向走,杭州的路很堵,尤其是高峰期,开车很不舒服,不管开宝马,桑塔纳,奔驰,保时捷都没有区别,关键是路,与其把精力花在改装桑塔纳上,不如花在如何选择正确的路上。所以这是我们的一个方向,跟主观结合如虎添翼的目标。我前面将主观交易跟程序化交易做对比,不是排斥主观,而是告诉那些不成熟的主观交易者,用计算机可以克服那些弱点。 责任编辑:刘健伟 |
【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
本网站凡是注明“来源:七禾网”的文章均为七禾网 www.7hcn.com版权所有,相关网站或媒体若要转载须经七禾网同意0571-88212938,并注明出处。若本网站相关内容涉及到其他媒体或公司的版权,请联系0571-88212938,我们将及时调整或删除。
七禾研究中心负责人:刘健伟/翁建平
电话:0571-88212938
Email:57124514@qq.com
七禾科技中心负责人:李贺/相升澳
电话:15068166275
Email:1573338006@qq.com
七禾产业中心负责人:果圆/王婷
电话:18258198313
七禾研究员:唐正璐/李烨
电话:0571-88212938
Email:7hcn@163.com
七禾财富管理中心
电话:13732204374(微信同号)
电话:18657157586(微信同号)
七禾网 | 沈良宏观 | 七禾调研 | 价值投资君 | 七禾网APP安卓&鸿蒙 | 七禾网APP苹果 | 七禾网投顾平台 | 傅海棠自媒体 | 沈良自媒体 |
© 七禾网 浙ICP备09012462号-1 浙公网安备 33010802010119号 增值电信业务经营许可证[浙B2-20110481] 广播电视节目制作经营许可证[浙字第05637号]