TB课堂陈四建:程序化交易系统设计与实战心得.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《TB课堂陈四建:程序化交易系统设计与实战心得.pdf》由会员分享,可在线阅读,更多相关《TB课堂陈四建:程序化交易系统设计与实战心得.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、TB 课堂陈四建:程序化交易系统设计与实战心得只做专业交易软件|交易开拓者旗舰版|TB-Plus|TB-Smart|陈四建:程序化交易系统设计与实战心得摘要【TB 十周年巡回公益分享会】首场-程序化 VS 主观交易思路分享会上,交易开拓者公司的陈四建做了题为【程序化交易系统设计与实战心得】的主题演讲。2006 年起记录的个人实盘单账户盈亏曲线图演讲全文陈四建:大家好,我是开拓者公司的陈四建,今天跟大家交流的内容是程序化交易系统设计与实战心得。我主要介绍的内容有四部分:第一部分是模型的研究;第二部分是仓位的管理,当你自己亲手写程序化交易模型,比如写成百上千个以后,你就会意识到,模型没有你想象中的
2、那么重要,仓位管理更重要;第三部分是组合投资,当你仓位管理研究到一定程度,你就会发现你不得不做组合投资,也就是组合交易;第四部分是实盘交易中的一些注意事项。在这里先给大家看一幅图,这是理发馆前面的那条带子。你只看上面那幅图,你感觉它是向下滑动的,如果你通过一个小孔看,你感觉它是向右下角滑动的,说明什么呢管中难窥全豹。我所讲的内容也仅仅是我个人对市场和交易的一些理解,也不一定正确,也许你的想法比我的更高超、更高妙。我们先讲第一部分,模型的研究。首先大家要知道什么叫程序化交易,程序化交易说白了就是首先脑子里有一些交易的想法,你认为按照这种想法能赚钱,那你把这种想法写成代码,让计算机自动地买与卖,同
3、时可以多个账户交易,这就是程序化交易。程序化交易其实只是一个工具,并不是很神奇的印钞机。有了程序化交易,有了几个模型就可以天天数钱了,这完全是一种错觉,绝对是错误的。如果有人跟你这样讲,那么这个人肯定是一个骗子,他想骗你去参加他的培训班,他想骗你买他的软件,诸如此类。总之,天下没有这种好事,赚钱永远都是一个比较难的事情,即便我现在亲手写了这么多模型,还有很多模型在我们的 10个亿资金上实盘在交易,但是我还经常去上沈总的七禾网,因为它里面有一些高手访谈录,里面访问过陈剑灵陈总,也访问过我,也有其他人的一些心得,你看一百篇里面能找到几条有用的,就很有价值了,并不是说每一个都对你有价值,那也不可能,
4、因为每个人的操盘手法不一样,有一个对你有启发,那就足够了。所以我经常上七禾网瞅一瞅,主要看里面的排行,看看那些高手做的业绩怎么样,以及看看那个高手访谈录,我觉得那个栏目真的是很好,我已经看了好几年了。做程序化交易要了解一下国内外的情况,国外金融市场发展得比较早也比较成熟,那么它现在的样子有可能就是我们将来的样子。2006 年国外不论股票还是期货,绝大部分的交易量已经是全自动程序化做出来的了,已经不是人工在做的了,国内始终没有一个大家公认的数据,但是去年刚好赶上股灾,然后中金所成了一个背黑锅的,它在官方微博上发了一个微博说程序化交易已经占到整个市场交易量的 50%以上,这应该是一个比较权威的信息
5、。不论你现在是做主观交易还是程序化交易,至少要知道,你的竞争对手所做的量有 50%以上。那我平时是怎么样研究一个模型的?其实真的很简单,比如说 MACD 这个交易系统。总之一句话:零轴之上的时候,金叉我就做多,死叉我就平多;零轴之下的时候死叉我就做空,金叉我就平空。但是大家注意一点,我测试的时候有两个条件,第一点我喜欢用默认的参数12、26、9,另外一点我选了 8 个品种,这 8 个品种不是我现在选的,不是因为这几个品种行情好,我今天把它们选出来的,这是当时我在做这个 PPT 的时候,在 2013 年年中的时候就选出来了,待会我会告诉大家怎么样选择、为什么选择这几个品种。选了 8 个品种,选了
6、半小时、一小时、日线三个时间周期同时应用这套方法,另外测试的时候我用的是固定资金测试,也就是说每一次开仓点都是等同对待的,任意一个品种、任意一个时间点都是等同对待的,我不是用固定手数来测试,也不是用固定资金比例来测试,我用的是固定资金来测试,这一点大家要注意。另外一点,手续费设的是万分之 5 双边。我们看一下它大概的测试结果。这个截图是截止到 11 月 21 号的,整体来看还是向上的,在双十一晚上的时候有一个回撤。使用一套默认参数,通过 2013 年选出来的品种,做出来的结果大概是这样的,我相信比绝大部分的投资者的实盘业绩是要好的。心理学上讲人人都是自大狂,我们觉得自己很聪明,自己的办法很好,
7、但是如果你严格使用一套并不复杂的方法,也有可能比你做的事情更好。我们再看一个更简单的系统双均线交易系统。这个系统就不用多讲了,我使用的默认参数是 20、60,一个短期均线、一个长期均线,还是同样的测试方法,结果也不错,大家看这个结果。还有很多这种类似的系统、这种指标,我再讲一个RSI,大家对 RSI 比较熟悉,应该有很多人用 RSI 试图在股票上抄底和摸顶,RSI 到了 70、80 了已经超买了,就考虑卖掉,跌到 20、30 了,就考虑冲进去抄底,很多人都是这样做的。但是我不是这样做的,我是顺势做的,大家对这个指标熟悉,还是因为埃尔德写了很多指标,同时写了很多经典的技术分析的书籍,比如说走进我
8、的交易室,很多人看过这些书,所以对这些指标会比较熟悉。我用的是顺势的做法。大概来说就是 RSI 的数值超过一定值我就做多,低于一定值我就做空,回到 50 我就把原有的仓位平掉。国内 RSI经常会弄上两三条线,看它的交叉去做交易,而不看它的数值。但是我是按照顺势来做的,国外软件默认数值一般用 14,我也用 14,我们看一下测试结果。测试结果也还可以,今年还是创了新高,也是正期望的,我们再看一下最典型的逆势做法。比如说到了 70 我就去做空,到了 30 我就去抄底做多,会怎么样呢?中间也没有加任何止损,只是用了最朴素的方法,我们看一下。是一路向下的,我只想说明一个事实:你觉得你有一个想法,这个想法
9、很好很棒,甚至你拿它交易了几个月,赚到了钱,但它仍然不一定是一个好的方法。就是说如果你有了思路,你就把它写成一段代码,你不用我们的交易开拓者软件也无所谓,用别的软件都可以,写成一段代码,做一下测试,测试的时候你按照我上面说的这些方法,你不能只看到某一个品种很好,你就认为这个方法是好的,如果在大多数品种上都有一个普适性,在大多数周期上也都是正期望的,那么它就有可能是一个很好的系统的毛坯,你把它进一步完善,就可以去实盘。这样可以大大节省你的进步的时间,也节省了你的金钱的消耗。做一个简单的总结。最开始我们做交易的时候,往往很随意地画一条线,比如大盘上 3000 点我就看多,下了 2500 我就看空,
10、那你凭什么指定 3000、2500,为什么不是 3500、2000呢?你是很主观地指定的,你后来会发现自己这种主观的成分太大,真正的交易效果也不好,你要考虑怎么样把你的主观思维更客观化。大家常用的就是单均线,取了最近一段时间的收盘价加起来做一个算术平均,这样就相对客观化了,但是单均线做一下模型测试以后你会发现 K 线经常可能会在均线上上蹿下跳,这个时候的成本损耗其实是非常大的,那我就考虑能不能加一个空间过滤。比如说单均线突破了以后再涨 3%我再考虑做多,或者说向下突破再跌 3%我才考虑做空,它效果确实是比较好,比原来好了很多。还有人说我要把统计学的想法也加进来,比如说布林线,以及双均线、四周规
11、则,不仅仅要考虑收盘价,还要考虑最高、最低价,我认为最高、最低价比收盘价更合理,它代表当时市场交易的极端情绪,典型的就是四周规则,四周规则来源于海龟交易系统,这都是很优秀的交易系统。总之一句话,它们都是趋势型指标,用来建立趋势跟踪型系统,我们自己现在做了10 个亿的资金,客观告诉大家,除了那几个套利对冲的做法以外,所有的其他系统都是趋势跟踪型系统,都是顺势的。另外有一些比较典型的震荡型指标,比如 RSI、KDJ、威廉指标等,这种指标你用来建立一些震荡系统的话,你如果强行在历史上进行优化,进行拟合,是可以把资金曲线做成稳定增长的,但是实际去交易,一般都是赚不到什么钱的。但是反过来,你顺势去用,在
12、大的时间周期上一般情况下还是可以盈利的。还有指数过滤,就是我在指数上加载策略,信号发出之后我再去做指数的成分里面的比如说龙头股,这就是指数过滤,我们软件里面也支持这种指数型的过滤。这是我们自己交易常用的做法,可以有效地过滤掉单个合约的长上影或者长下影的毛刺导致的扰动。当你亲手写模型,写了若干个之后,你就会意识到仓位管理的重要性。这里举一个例子,比如说我有一百块本金,胜率是 50%,对于一个趋势跟踪系统来说,胜率 50%已经非常高了。我经常会在一些群里、一些论坛里看到有人讲他是做趋势跟踪的,但是他的胜率有 80%,我觉得这个人真的是好厉害,我非常佩服,至少我没有亲眼见过一个这样的人,只是在网上看
13、到有人经常这样讲。我们自己的趋势跟踪型系统胜率组合下来以后大概也就 40%多,如果是 50%的话胜率已经是很高了。它需要的是什么呢?需要的是高的盈亏比,赚钱的时候赚得多,亏钱的时候亏得少,100 次交易虽然平均下来亏钱的次数还是比较多,但赚钱的时候投入 1 块钱就赚 2 块钱,亏钱的时候投入 1 块钱就只亏 1 块钱。我这个举的是特例,为什么说是特例呢,因为它是盈亏交替出现的,这个胜率是 50%,赚钱赚得多,亏钱亏得少。我用 10%的资金试试,每次都是10%的资金,那就是这条黑颜色的线,它在增长,但是增长得比较缓慢。当你胆子很大,使用 50%的资金的时候,它就变成蓝颜色的线,它长期来看都不赚钱
14、,所以说经常会有一个常见的说法,有些老的交易员带徒弟的时候也会讲:同样的行情,我教你同样的做法,但是有可能我就赚到钱了你就赚不到。为什么?往往一旦赚了钱这些徒弟他手中的仓位会迅速增加,总之一句话:对应的一套系统,都有一个较佳的仓位,并不是说仓位越轻越好,也不是越大越好。这里我再举一个例子,因为刚才是一个特例,是理想化的例子,这个例子是和讯有个网友,他 11 万本金一路亏亏赚赚变成了 6万块,他说他花了这么大的力气选择做哪个交易标的、选择交易的时间截点、交易方向,最后亏得这么惨。其实仔细分析一下,只需要做一件事情,就能够让他变成盈利,就是让他每次下单的时候,把仓位减半,然后一路下来,还是做原来的
15、品种,还是在原来的点位进,方向跟原来也是一样的,唯一不同的是每次把仓位减半,到最后变成盈利的了,盈利不多只有 5600,但他从一个严重亏损的人变成盈利的人,就做了一件改变而已,所以说仓位管理非常重要。同样的行情同样的做法,仓位不一样,最终结果可能完全不一样,有的人是爆仓,有的人是小赚,有的人可能就是大赚。那我是怎样明白了这个道理呢?我不需要像那些老交易员一样,通过多年的几次爆仓经历以后最后才发现原来资金管理如此的重要,然后根据经验得出来一个较佳的仓位。我不是这样做的,我是计算机专业毕业的,我写一段代码,当时写了一个简单的双均线交易模型,我在 PTA日线上做测试,我就考虑PTA日线上双均线可以赚
16、钱,但是我每次做 1 手好还是做 2手好?我是 30%的仓位好还是 80%的仓位好?我是不知道的,那怎么办?我把它做成一个参数,从1%到 100%跑一遍就是了,参数优化不是件神秘的事情,无非给它一个初始值、一个最大值,中间给它一个步长,让它都跑一遍,把整个表列出来,根据自己的过滤条件选出想要的东西来就好了。跑一遍你会发现每次使用资金比例小的话最后赚得少,但是随着资金增加,净利润也在增加,但是增加到一定程度,反而可能会变成亏损。我当时就是写一个模型,我就明白这个道理了。那我们实盘中是怎么做的呢?其实我们实盘中做得更简单,我们实盘中仓位控制是由历史最大回撤以及可以接受的风险逆推的仓位,举个最简单的
17、例子,我有 100 万的本金,我只有一个系统,这是最简单的情况,比如我这个系统只做橡胶,这个系统每次我假定历史测试的时候只用 1 手,历史最大回撤是 10 万块,软件上很轻松就能显示出这个值,比如说我现在能够接受的亏损是 30%,那就做 3 手就可以了,就是这样逆推出来的。同时我们还有一个原则,隔夜仓位不超过两到三倍杠杆,为什么我们用杠杆不用风险度?因为用风险度没有意义,同样一个品种交易所随时会调保证金,期货公司收你的保证金是 10%,收他的保证金是20%,那你们俩都使用 20%的资金做,同样的品种,风险当然不一样,而且差得很远。所以我们用杠杆来衡量,杠杆就是持有的品种价值除以本金,我们不超过
18、两到三倍杠杆,如果我用了两倍杠杆去做橡胶,橡胶因为某种原因反向跳空 2%,那我立马知道我亏了 4%,我很清楚我的风险。如果只说风险度没有意义,比如我做橡胶,我50%的仓位杀进去做多,同样的价位我 50%的仓位做空,我风险度是 100%,所有资金都占满了,那我有风险吗?价格随便波动对我没有影响了,所以用风险度是不合理的,用杠杆的话这时候我的净杠杆为零,所以是没有风险的,用杠杆衡量会更合理。大家看这条线,这条价格线它既不是期货的走势,也不是股票的走势,它是我随机产生的一些数据,大家看上面,我在上一个数的基础上随机决定涨还是跌,涨多少跌多少。随机产生的一些数据就很像一个股票或者期货的走势,我只是说明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TB课堂 陈四建:程序化交易系统设计与实战心得 TB 课堂 陈四建 程序化 交易系统 设计 实战 心得
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内