berry1380 发表于 2017-9-11 15:23

浅谈期货程序化交易

浅谈期货程序化交易笔者:berry 背景:2012年9月17日第一笔股指期货空单,至今五年职业期货交易经历,为了完成真正意义的多元化,从股指期货转战商品期货,经历过50%的资本回撤,获得过360%的年化收益,五年合计收益约200%,(基本为最后二年的收益;前三年总体基本无收益,赚赚亏亏,学习磨砺期)。目前拥有两套正向收益趋势系统,不同思路,不同时间段,对冲规避和减少相当部分最大回撤。正在开发第三套系统,目的为了减小最大回撤。99%按照系统交易,1%人为思考(人为思考包括:合约换仓展期,加减持仓量微调,大跳空开盘造成单笔风险过大减仓计划,规避系统性风险清仓)。 方式:趋势交易。完全能理解趋势交易的获利要义——截断亏损,让盈利奔跑。一些交易风格(方式)的个人理解(只讨论技术面程序化):可能我目前只会趋势交易,虽然是多时间,多空间,多策略,但还是趋势交易方式,所以还不能对其他交易方式理解其要义和精髓。(条条大路通罗马,以下只是我的拙见,不是说别的交易方式不能收益,只是我目前没理解到精髓,望高手路过,不吝赐教)。反趋势交易(震荡交易)方式,始终不能理解一点:震荡期,即无趋势期,即无规律期,怎么能做到良好收益,(因为震荡交易,无法做到让利润奔跑,只能见好就收,那么按照随机游走理论来说,在止损不大于可能收益的前提下,理论上正确率和盈亏比都不会大于1比1,我理解的是一个随机的数学逻辑。就算正确率1比1,盈亏比也是1比1,那么获利的空间又在哪里呢?我相信顶级人为思考能远优于这个结果,得到理想收益,可是不能理解数学、统计学做的模型如何在无规律期取得好的收益。曲线拟合,未来函数等不在讨论范畴,虽好看实没意义)。日内交易,我编写过一些日内交易系统,并模拟检测,去掉高昂的交易费后(相比趋势交易来说),还有不错收益,但实操再去掉滑点等冲击成本后,基本就没有收益了,或很低收益了。那么辛苦的交易方式,还有多交易就有多出错的可能(全自动交易同样会出错),但得不到理想的收益,那么目的是什么呢?断断续续做过许多次程序化日内交易,始终因为没什么收益,或辛苦交易收益远低于趋势交易而最终退出。套利交易,略学习过,因为没有付费WH8,所以没深刻研究。理解能收益,只是觉得并非低风险,套利交易的风险并不比趋势交易低。首先套利交易的收益比趋势交易低,那么为了提高收益就必须增加交易仓位(如果不增加仓位,低收益,低风险;同样有风险的交易,但收益不比国债等高出一倍以上或更高,个人觉得就没有冒这个风险和花这点时间的必要,作为杠杆交易如果初始目标不到年化20%,还冒着相当风险,则实是没有意义),在提高收益的同时,风险也就同时增加了,根据随机游走理论来说,市场没有不可能的,不合理的基差会变得更不合理,而不设止损位绝不是合格交易员可以做的。参照长期资本公司的陨落就能说明这一点。综上所述,我还是偏好趋势交易,只要在多策略,多周期,多品种上合理匹配,并对选择品种严格挑选(长期历史模拟流畅性评价),和适时的退出方式(如某品种平均日成交量低于8万手考虑警示,重点观察,若平均日成交量低于3万手,则坚决退出)。做好进退之道,是长期生存和盈利在市场的基础。 要义:从入门起,学习的就是《道氏理论》,也能接受市场随机游走一说。两个理解思路:《道氏理论》的理解:市场大趋势一旦成立后,趋势会一直继续,直到反转。但市场也会有假突破,和大趋势方向不明的阶段(无趋势)。市场随机游走的理解:每一条K线完成收盘后,下一条K线都是未知的,几乎无法准确预测,市场的任何下一秒钟都具有变数的可能,随时都会发生变数,基本无规律可循。结合《道氏理论》和市场随机游走,我可以理解:市场有趋势期,即是市场有规律期,只需在趋势可能成立时,顺向开仓,设好初始止损位,然后持仓等待;判断错误,即止损出场,等待下一次;判断正确,则一直持有,直到趋势可能改变,获利出场。始终说“可能”,因为在盘中,在K线图的右侧,始终都是未知,始终什么都可能发生;只有一轮行情完成,走到了K线图的左侧,固化了,不会变动了,成为历史了,众所皆知当初该怎么做了,可惜都回不到以前了。市场无趋势期,即是市场无规律期,既然无规律,则无能力收益。(360行,行行出状元;当然有很多高手同样能在此期间获得巨额收益,我只是阐述我的观点,因为目前的我在无趋势期还没有获利的能力)。作为一个好的趋势系统,就是要在有趋势期获得尽可能多的收益,在无趋势期劲量减少交易、减少资本回撤。或说我对趋势系统的理解是劲量少交易,运气好的时候一份合约可能只交易1~2次,只要没有明确的反转或突破可能,就继续持有或不介入。这样可以最大可能的减少试错成本,冲击成本;确实会回撤一些账面利润,但对于省下来的试错和冲击成本来说,还是远远值得的。作为多策略交易组合,就是用不相关的交易系统,去理解市场;大趋势期,都默认大收益;但对无趋势期的判断不同,不同时认为无趋势,或理解部分盘整无趋势特征为有趋势延伸阶段,通过不同时间段(15分钟,30分钟,60分钟,日线,周线等),不同认识界定趋势的方法,来做到分散和规避最大回撤,以减小组合的最大回撤值。或另一说法,市场分为有趋势(大趋势),宽幅盘整(小趋势),窄幅盘整(一字盘整)三个方式。交易系统组合中,有的系统理解窄幅盘整为有趋势中的一部分,维持原先方向计划不作为,但宽幅盘整可能亏损;有的系统理解宽幅盘整为小趋势,其中基本不亏,并有获利可能,但窄幅盘整可能亏损。这样都有回撤可能,但并非发生在同一时间,就有效的减低了最大回撤值。我目前拥有并实操获利的两个交易系统简述:1,         日线趋势交易系统,用复合移动平均线,并加通道线,初始1%固定止损,获利后逐级顺势提高止损位,直至触及出场。单次的止损都是1%,单次的收益不固定。准确率不高1比3,平均可能错3次对一次,但盈亏比很高1比10,错的时候负1%,对的时候收益平均大于10%。通过很大的盈亏比来获得收益。2,         30分钟趋势交易系统,虽然是30分钟线交易,我做的还是大波段,也常有一份合约只交易1~2次的时间。该系统思路:长期移动平均线的方向作为多空方向的选择,再通过复合移动平均线来设置初始开仓点位和止损位,止损比例1%~6%之间随系统自动生成,是相对偏大的止损。准确率1比1至1比2左右,平均可能错1~2次,对一次,盈亏比2.5比10,错的时候负2.5%,对的时候收益平均大于10%。与前一个日线系统相比,准确率提高了,盈亏比略有下降,同样可以收益颇丰。两个系统所使用时间段不同,界定趋势/ 非趋势方式不同,经历史模拟和账户实操交易,组合确实能有效的降低最大回撤。作为一个合格的交易员,在正向收益的同时,最重要的就是降低最大回撤了,否则稳定收益就无从谈起。个人认为最有效的降低最大回撤的方法就是:多策略,多周期,多品种。当然以上的“三多”都是有严格意义的,即多元化,也不至多元恶化。使用的策略都是良好正向收益的系统,并非为了多元化而刻意对冲的系统,周期的合理和可行性的运用,交易品种也选择历史流畅性偏好的,不同大类优势选择的品种。 资金管理简述:对于还未能正向收益的同学来说,资金管理实没什么大意义,实话实说,不会交易怎么都是亏损,没有一套正向收益的交易方式以前,唯一可行就是小仓位操作了。当可以正向收益以后,资金管理就是交易过程中的重中之重了。资金管理有两大相反的流派,马丁格尔论(亏损后加仓),反马丁格尔论(盈利后加仓,亏损后减仓)。我个人理解,马丁格尔论是要不得的,每次亏损后翻倍加仓操作,实际上是会破产和不可能做到的。初始交易2W,若亏损以后第二次翻翻,按照随机游走理论来说,连续亏损10次以上是很正常的,实际交易中确实是很正常的,那第10次的交易成本就是1024W,并且已经亏损了1022W。没有2000W资金的就会破产,而有2000W资金的心里几乎不能承受这样的压力,就算能承受,再错一次,也就破产了。就算最后一次赢了,冒着2000W破产的风险,最终收益是2W,实在是没有任何意义的。反马丁格尔论,赚钱后加仓,亏钱后减仓;理论上是对的,可个人认为不是最佳方案,未必能赚到大钱。如果发生常态分布,收益后一段时间亏损,亏损一段时间后大收益一次;那么收益后加仓,造成以后的几次亏损的仓位大于上一次收益的仓位,放大了亏损;然后因为几次亏损减小了仓位,然后又是收益的时间了,小仓位收益,降低了收益,周而复始,不是说不能赚钱,而是可能大大降低了收益率。我理解最优的资金管理方案是“平论”,就是计算出最大回撤,按最大回撤乘以系数来计算仓位。回撤时,在范围内的不减仓,意外超出承受范围的,按反马丁格尔论逐级减仓,不死扛。盈利时,每半年或一年按新资本重新计算一下可开仓位,获得复利收益。心态管理简述:所谓交易三要素:交易方式(技术面,基本面,或等等等交易模型),资金管理,心态管理——自律,坚持……个人认为心态管理从几个方面出发,可以做到有效的坚持。首先有一套正向交易系统,一套可行的,心里压力能承受的资金管理方案,然后多看书,多模拟历史(充分认知自己系统的盈利空间,增加信心;充分认知自己系统的回撤程度,做好可能回撤金额的思想准备),经过几年的磨练,大体就可以有一个强大的心脏,来坚持自己的系统了。在期间,偶有违反,偶有贪婪,偶有恐惧,都是正常的,人性的弱点是无可避免的,不用过多指责自己,只要一个错误不要多次的重复,都是可以接受的,几年的磨练,系统也成熟了,资金管理也成熟了,心态也自然而然的成熟了。作为程序化交易,最主要的就是坚持了,个人理解的是可以盘后修改交易程序,不可盘中不执行交易方案(极意外市场夸张系统性风险平仓除外)。若有一关卡,多次不能坚持,就得反思交易系统或资金管理方式是否合理了,是否因为本来不合理的设置造就了不能实操的坚持。 开发交易系统的一些思路和思考:写本文的目的是为了理一下思路,开发第三套系统;第三套系统思维基本有了定义,从一下几个方面着手。时间段:5分钟,太短,基本不考虑;15分钟,作为备选,因为一个人日盘加夜盘,担心实操过于辛苦,不利于实际工作;30分钟,已有30分钟系统,最主要考虑的是检测对冲最大回撤的可能性;60分钟,理论上很好,但由于我们目前市场上很多品种是夜盘23:30收市的,第三条K线晚上半小时,白天早上半小时,极为不合理,所以不是很建议使用;日夜分割K线:夜盘一条K线,白天两条,可以重点考虑;自适性60分钟线:螺纹、沥青等夜盘交易二小时的,仍用60分钟线,铁矿、豆粕等夜盘交易二个半小时的,使用75分钟线,目的也类同日夜分割K线,夜盘、日盘有效分为两条K线,清晰分辨早盘开盘跳空。日线,已有日线系统,最主要考虑的是检测对冲最大回撤的可能性;周线,学习中,这么大的趋势级别,还待一些思路上的突破。工具:移动平均线方向、移动平均线交叉、新高新低、若干日突破、通道线、波动率等,与相对应的时间段匹配建设。在获利的同时,减小K线毛刺对系统的影响,降低交易笔数为思路主导。在单独运用颇丰正向收益后,再匹配原二个交易系统检测对冲最大回撤可能。须全部完全满足。初始止损:暂计划1%~6%作为系统编写,无非就是通过知识和经验匹配各个时间段,使用工具(开仓和跟踪止损),设定初始止损等;然后就是模拟几年多个品种的历史,多年模拟计算:收益率高的胜过收益率低的,回撤小的胜过回撤大的,交易笔数少的胜过交易笔数多的;最后就是小仓位实操,完全合格后才能正式运行。 码了四千多字,整理一下思路,望高手路过,不吝赐教。berry

山峦间的清风 发表于 2017-9-11 16:52

楼主说的实在。,静等另一高手发言。

wvwv2013 发表于 2017-9-14 11:28

111111111111111111111

WANG1390 发表于 2017-9-14 15:42

2222222222222222222

oba553 发表于 2017-9-14 15:50

谢谢 希望向老师多学习

czj47 发表于 2017-9-14 16:58

学习学习

潘均线 发表于 2017-9-14 23:24

nasdofi 发表于 2017-10-6 13:38

楼主没有仔细思考,遗漏了一些重要分析和结论,所以得出的结果只是一重思维,没有经过二次加工,所以,离正确的道路还差一丢丢。而我应该属于二重思维,后面有没有三重还不知道 ,但我想应该会有,所以,我也只是 稍微进阶了一点。希望对楼主有帮助

nasdofi 发表于 2017-10-6 13:40

再说细点吧,楼主认为不可用的那个方法,其实是可用的,只不过以楼主的思维来看确实不可用,那是因为楼主还没有读过一个兄弟三人打猎的小故事,如果听过,就应该有列深 的认识
页: [1]
查看完整版本: 浅谈期货程序化交易