[交易策略] 无限量地生产稳健的量化交易策略:Trading System Lab (TSL)
[color=#000][font=Tahoma][size=3][font=微软雅黑][color=#797979][size=12px]本文大部分内容摘自TSL英文官网 [url=http://bbs.pinggu.org/linkto.php?url=http%3A%2F%2Fwww.tradingsystemlab.com]http://www.tradingsystemlab.com[/url][/size][/color][/font][/size][/font][/color][color=#000][font=Tahoma][size=12px][color=#797979][font=微软雅黑]如有兴趣查看本文修订或更新版,请在您浏览器查看链接 [/font][font=微软雅黑]http://goo.gl/HMcMlK[/font][/color][/size][/font][/color]
[color=#000][font=Tahoma][size=3]
[font=微软雅黑]于 1985 年创立的美国《期货真相》 Futures Truth 杂志,旨在服务全球股票及商品期货交易者,而其根本任务是为读者验证系统交易策略的实盘效果。分布在全球各地的交易系统开发商,将开发出的策略提交至 《期货真相》编辑部,以验证实盘交易成绩。编辑部根据交易成绩进行排名,并定期公布排名榜单。在过去的多年里,以 TSL-[XXX] 命名的交易系统独占鳌头。更加令人惊讶的是,TSL 系列交易策略是同一家公司应用同一款量化交易策略设计系统软件设计而成。[/font][/size][/font][/color][color=#000][size=3][font=微软雅黑]
[/font][font=微软雅黑]TSL 的大部分客户,都是通过《期货真相》的排名榜单而认识、了解 TSL,继而购置价值不菲的 TSL 产品作为交易生涯中不可或缺的寻优稳健交易策略工具![/font][/size][/color]
[color=#000][size=3][font=微软雅黑]
[/font][font=微软雅黑][font=Tahoma][b]什么是TSL?[/b][/font][/font][/size][/color]
[color=#000][size=3][font=微软雅黑]Trading System Lab (TSL)是一家位于美国矽谷的高新科技公司,同时也是该公司设计和生产的一款与公司同名的金融量化交易策略设计系统软件。TSL 的 与众不同之处在于它被用作优寻的底层算法引擎——AIM-GP(遗传基因程序二元机器代码自动归纳合成算法 Automatic Induction of Machine Code with Genetic Programming)。[/font][/size][/color]
[color=#000][font=Tahoma][size=3][font=微软雅黑]遗传基因程序(Genetic Programming, GP)是演化算法(Evolution Algorithm)的其中一种。研究者们,例如瑞典科学家彼特·诺丁(Peter Nordin)博士和美国科学家约翰·R·科赞(John R. Koza)博士等人工智能学者,在90年代初便开始积极地开发这种算法的理论和应用。在短短几年之间,多达数百篇计算机学术论文应运而生(1992-98年,200多位学者发表超过800篇相关GP的论文),都是围绕着遗传基因程序这个题目来做的研究,可见科学家们对它寄予厚望。沃尔夫冈·班茨哈夫(Wolfgang Banzhaf)博士在2013年发表的论文《遗传基因程序与自然发生现象》(Genetic Programming and Emergence)中更指出,天地万物之中的的自然发生现象(Emergence)在遗传基因程序这种算法本质中客观存在。对很多略懂老子或达尔文的读者来说,这个论证可能使人振奋,因为计算机不再是一般人心目中生硬的软件指令和冷冰冰的硬件在运行一些索然无味的重复性操作!中华文化遗产中老子的道法自然可谓自然发生论(Emergentism)的鼻祖。遗传基因程序更是引用了达尔文理论中的归纳法,通过一群电脑程序不断的进化演变做机器学习(Machine Learning, ML),帮助预定义的问题寻优解。更浅白地说,遗传基因程序有能力好像天地万物一样,自然地(自动化地)生成懂得解决问题的计算机程序。[/font]
[font=微软雅黑]
[/font][font=微软雅黑]二元机器代码自动归纳合成(Automatic Induction of Machine Code, AIM)指的是遗传基因程序算法在计算机最底层,将指令符用二元机器码存储,直接在中央处理器中进行操作,免除了一般程序都需要的程序编译器或复杂的存储记忆体操作,极大地增进了运算速度。事实上,在过去的几十年里,尽管科技日新月异,计算机硬件速度提升迅猛,但是人们要利用计算机来挖掘数据,寻觅稳健交易策略,仍依然需要耗费几月,有时甚至是几年才有机会修成正果。(#)[/font]
[/size][/font][/color]
[color=#000][font=Tahoma][size=3][font=微软雅黑]有鉴于此,TSL公司创始人迈克[/font][font=微软雅黑]·[/font][font=微软雅黑]班纳(Mike Barna)决定组建团队,帮助用户缩短策略开发时间,通过尖端的 AIM-GP 寻优算法技术,大大缩短优寻策略运算周期,最快短至数分钟内完成策略开发![/font][/size][/font][/color]
[color=#000][font=Tahoma][size=3]
[font=微软雅黑][b]公司创始人兼CEO简介[/b][/font][/size][/font][/color]
[color=#000][size=3][font=微软雅黑]迈克·班纳(Mike Barna),美国亚利桑那州立大学数学系本科毕业,斯坦福大学航空航天工程硕士,曾任国防火箭冲压发动机和导弹制导系统工程师及星球大战的研究与发展管理工程师,也是著名交易系统—Big Blue * 和 R-Mesa ** 的设计者。 Mike 作为商品期货交易顾问在 90 年代加入的美国全国期货协会,于 1997 年开始开发自己的交易系统,并创办 Aaron Asset Management, LLC 来运行该系统。也曾任 Trading and Systems with Regency Stocks and Commodities Fund, L.P. 副总裁。在 1993 年创立了如今的 Trading System Lab,1998 年开始管理资金,拥有将近 40 年的建模经验。[/font][/size][/color]
[color=#000][size=3][font=微软雅黑]
[/font][font=微软雅黑][b]TSL用户怎样生成一个交易策略呢?[/b][/font][/size][/color]
[color=#000][font=微软雅黑][size=3]TSL 用户只需要操作几个简单的步骤就可以建立出一套有利可图的稳健交易系统。[/size][/font][/color]
[font=Tahoma][size=15px][size=3][color=#000000]
[/color][/size][/size][/font][list=1][*][color=#147191][b][font=微软雅黑]导入原始数据[/font][/b][/color][font=微软雅黑]:无需用户设置,[/font][font=微软雅黑]TSL可以导入多种不同排版模式的原始数据,例如 CSI (Commodity Systems Inc), MetaStock, AIQ, TradeStation, Multicharts (MC), Free Internet data, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, 二进制数和互联网实时数据。[/font][*][color=#147191][b][font=微软雅黑]自定义输入[/font][/b][/color][font=微软雅黑]:[/font][font=微软雅黑]用户可以选择以自定义的指标、价格形态、产品相关性描述和基本面数据,作为 TSL 策略生成器的输入信号。[/font][*][color=#147191][b][font=微软雅黑]预处理数据[/font][/b][/color][font=微软雅黑]:用[/font][font=微软雅黑]预处理器 (Preprocessor) 预先对原始数据和自定义输入进行格式处理。(此举可以极大地加快系统的回测运行速度,然而大多数入门级别交易策略设计系统都忽略了这简单却至关重要的一步)。[/font][*][color=#147191][font=微软雅黑][b]选择训练框架[/b][/font][/color][font=微软雅黑]:40个目标函数模型([/font][font=微软雅黑]资金增长曲线形态[/font][font=微软雅黑])、 25个下单模型([/font][font=微软雅黑]建仓、平仓和止损[/font][font=微软雅黑])。一般商品、期权交易模型。定义样本内(In-Sample)和样本外(Out of Sample, OOS)数据比例。[/font][*][color=#147191][b][font=微软雅黑]人工智能训练开始[/font][/b][/color][font=微软雅黑]:TSL[/font][font=微软雅黑]每秒[/font][font=微软雅黑]生成[/font][font=微软雅黑]几百个甚至几千个的新的交易策略。视乎电脑硬件配置和数据量,不消片刻(几分钟)就能生成数十万个策略。[/font][*][b][color=#147191][font=微软雅黑]实时检测策略表现[/font][/color][/b][font=微软雅黑]:[/font][font=微软雅黑]每次进化过程中存活下来的优解策略,都会在样本外 (Out of Sample, OOS)[/font] [font=微软雅黑]数据做模拟交易,得出[/font][font=微软雅黑]样本外 OoS 盈利 (OoS Profit) 和回撤 (OoS Draw Down) 的成绩。TSL将成绩标示在"[/font][font=微软雅黑]运行路径记录图表"(Run-Path Log, RPL)[/font][font=微软雅黑]。RPL让用户一目了然地看到进化过程中每一个的优解策略的盈利和回撤。[/font][font=微软雅黑]用户在斟酌RPL的表现后,如果对交易策略尚不满意,可以选择重回第4步,挑选其他不同框架重新训练。[/font][*][b][color=#147191][font=微软雅黑]转化策略成第三方交易平台[/font][/color][/b][b][color=#147191][font=微软雅黑]代码[/font][/color][/b][font=微软雅黑]:用户在当中找到了合意的交易策略, 则可利用 TSL,将策略自动转换为基于如 Multicharts (MC)、Java、C、 C# 等等为基础的平台原始代码,在用户习惯使用的平台上进行回测、模拟交易或实盘交易。[/font][/list][color=#000][font=Tahoma][size=3][font=微软雅黑][b]TSL如何防止过度曲线拟合?[/b][/font]
[font=微软雅黑]TSL通过以下特征防止过度拟合 ([/font][font=微软雅黑]overfitting)[/font][font=微软雅黑],进而提升交易策略的鲁棒性(稳健、健壮性) robustness。[/font][/size][/font][/color]
[list=1][*][color=#147191][b][font=微软雅黑]大道至简,简化模型参数[/font][/b][/color][font=微软雅黑]:一个交易系统的策略越简单,它持久生存能力就越强;换言之,它在未来有越高几率维持其过往表现。(经典电脑程序语言简化优选方法 Parsimony Pressure,可以理解为奥卡姆剃刀 Occam's Razor,即占据空间越短的交易逻辑程序,其权重越高,也就是 Minimum description length (MDL) principle)。[/font][*][color=#147191][b][font=微软雅黑]进化过程中随机化[/font][/b][/color][font=微软雅黑]:在进化过程中引入随机性,避免陷入局部最优的尴尬局面。在这个过程中随机加入的,不仅仅是遗传算法染色体配对,还有更高阶的遗传进化程序。[/font][*][b][color=#147191][font=微软雅黑]进化目标随机化[/font][/color][/b][font=微软雅黑]:在遗传基因程序的进化中产生新的策略, 并不完全以目标函数的指引方向作为进化目标。进而,在算法理论上避免陷入局部最优的尴尬局面。[/font][*][b][color=#147191][font=微软雅黑]初始策略随机化[/font][/color][/b][font=微软雅黑]:TSL 开始进化之前,以随机策略作为初始策略。防止了 n-D 空间中局部的最大化,从而提升寻找到全局最优值的几率。[/font][*][color=#147191][b][font=微软雅黑]策略检验多元化[/font][/b][/color][font=微软雅黑]:TSL 除了用于验证是否过度拟合 overfitting 外,还进行样本外(Out of Sample, OOS) 测试,在优解运行路径记录图表 Run Path Log (RPL) 中对每个在优胜劣汰中产生的策略实时展示,进而说明框架运行的鲁棒性。[/font][*][color=#147191][b][font=微软雅黑]进化设置市场无偏化[/font][/b][/color][font=微软雅黑]:进化的设置没有市场偏见,不对任何的输入数据信息做方向性释义,利用不 同方向、组合考验它们的实质利用价值。[/font][*][color=#147191][b][font=微软雅黑]权重结构合理化[/font][/b][/color][font=微软雅黑]:在 TSL 中,Trade-to-Parameter Ratio (TTPR) 越高越好,交易次数越多且交易策略越简单,那么其权重越高(自由度具体化)。例如,一个通道突破系统,可以在一篮子的金融产品中产生超过一万次可观的交易。[/font][*][color=#147191][b][font=微软雅黑]策略回测最简化[/font][/b][/color][font=微软雅黑]:用户在交易品种中生成的交易策略, 可以方便地调用其在其市场或品种上进行回测, 并以此验证该策略的鲁棒性。该过程中,无需先转化为第三方平台 的代码,可直接在 TSL 中调用进行测试。[/font][/list][color=#000][font=Tahoma][size=3]
[font=微软雅黑][b]高级日交易系统计策:TSL如何对付辣手的区制转移(Regime Switching)问题?
[/b][/font][font=微软雅黑]遗传基因程序(Genetic Programming, GP)能够多端输出,允许多个子交易系统共存在一个更大的交易系统中。每个子系统都会对大系统的资本回报曲线作用。这种自动化策略生成系统威力很大,因为众所周知,综合多个稳健策略的系统比单个有更优秀的表现。例如,一个形态交易策略可能对建立看涨仓位有良好表现,一个指标型策略产生的信号对建立看空仓位有良好表现。这种情况,在未来有可能随时交替变化。区制转移(Regime Switching)机制一直都是系统交易者需要长期面对的极其棘手的问题。然而,因为日交易培训数据精度高,数据量相对大,区制转移(Regime Switching)参考样本比较丰富,[/font][font=微软雅黑]TSL的[/font][font=微软雅黑]遗传基因程序能生成多个输出,围绕着历史数据中的各种情况,自动优寻和组合多个子系统来形成一个大系统。[/font]
[/size][/font][/color]
[color=#000][font=Tahoma][size=3][font=微软雅黑]子系统的优寻过程中,TSL循着用户定义的目标函数,例如[/font][font=微软雅黑]夏普比率(Sharpe Ratio),自动化地将回报率[/font][font=微软雅黑]相关度(correlation)低的子系统组合起来目标函数值[/font][font=微软雅黑]。以此,最终得出交易策略的回报和交易稳健度都能因而得到提高。用户使用TSL做交易策略设计,不单因为二元机器代码自动归纳合成(Automatic Induction of Machine Code, AIM)技术的贡献而得以节省运算时间,更因为遗传基因程序本质对子系统多端输出的特质,一站式地解决了辣手的区制转移问题。用户开发[/font][font=微软雅黑]策略的[/font][font=微软雅黑]速度和策略回报效益都因而得以提升。[/font][/size][/font][/color]
[color=#000][font=Tahoma][size=3][font=微软雅黑][b]TSL 的[/b][/font][b][font=微软雅黑]遗传基因程序[/font][/b] [font=微软雅黑][b]Genetic Programming 算法引擎[/b][/font]
[font=微软雅黑]TSL 针对任何市场交易品种,都能在短短几分钟内自动生成稳健的交易系统。它之所以有如此超凡的运算能力,得益于其底层算法引擎——Discipulus。RML Tech 公司研制的 Discipulus 引擎是基于一种高级计算机编程算法理论 AIM-GP (遗传基因程序二元机器代码自动归纳合成算法 Automatic Induction of Machine Code with Genetic Programming) 研制而成的商用算法引擎。 TSL 凭借 Discipulus 实现了 AIM-GP 这个尖端的搜索寻优算法理论。[/font][/size][/font][/color]
[color=#000][font=Tahoma][size=3][font=微软雅黑]这里 AIM-GP 的 GP 是采用了[/font][font=微软雅黑]遗传基因程序中其中一种程序排列方法——"[/font][font=微软雅黑]线性排列式[/font][font=微软雅黑]遗传基因程序" Linear Genetic Programming (LGP)。[/font][font=微软雅黑]线性排列式[/font][font=微软雅黑]遗传基因程序 [/font][font=微软雅黑]LGP 有别于"树状排列式[/font][font=微软雅黑]遗传基因程序"[/font][font=微软雅黑] Tree-based Genetic Programming (TGP)。我们可以理解[/font][font=微软雅黑]线性排列式[/font][font=微软雅黑]遗传基因程序[/font][font=微软雅黑] LGP 是启发自命令式编程 (Imperative Programming);[/font][font=微软雅黑]树状排列式[/font][font=微软雅黑]遗传基因程序 [/font][font=微软雅黑]TGP 启发自函数式编程 (Functional Programming)。[/font][font=微软雅黑]命令式编程包含一些会影响状态(state)的指令,例如委派变量的数值。大多数商业用编程程序都是命令式编程,例如 C++,Pascal 和 Fortran。很多研究者甚至索性将树状结构下的分支看待成命令式,而不是函数式,因为很多应用程序,用线性排列式处理显得更为自然。[/font][/size][/font][/color]
[color=#000][font=Tahoma][size=3]
[font=微软雅黑]据众多学术研究显示,AIM-GP 的性能超越神经网络、向量机 SVM、分类回归树 CART、树状网络和随进森林。AIM-GP 被誉为当今最成功的二元机器代码自动归纳合成算法 。它能够在遗传进化过程中,将交易中涉及到的各种元素,如指标、形态和不同的市场数据,在最底层的二元机器代码进行基因[/font][font=微软雅黑]和合成,从而速度能够快如闪电! 进化和合成策略,往往不是一般设计师凭直觉创想出来的,而是由完全崭新的数学逻辑组成的技术分析指标。一般应用遗传算法 Genetic Algorithm (GA) 寻优的交易软件,只能基于自带或用户提供的逻辑做拼凑,那么,寻优的创新能力自然受到限制。[/font]
[font=微软雅黑]事实上,很多交易平台都提供了以 GA 来做交易策略优化的软件系统。例如,期货交易券商提供的 Multicharts (MC)也自带有 GA 策略优化功能。但是, 一般的以 GA 算法为基础的寻优系统,其速度仅仅呈线性增加。而引用 AIM-GP 技术的 TSL 寻优引擎运行的速度,却是以几何级数增长,具有越算越快的性能。最终整体运算时长大量地缩短。[/font]
[color=#797979][font=微软雅黑](笔者试用量化交易软件无数,大胆认为,除 TSL 之外,在用户有生之年,没有任何其它商用或开源遗传算法的寻策系统足够高效地生出一套高稳健度的策略,供用户实盘交易之用!)[/font][/color]
[font=微软雅黑]Discipulus 具体实现了 AIM-GP 的算法功能。众多行业的数据分析研究人员,如天然资源、生物科技等,如今都采用了 Discipulus 的强大寻优算法引擎来驱动他们的数据挖掘和数据预测应用系统。 在金融交易策略寻优领域,用户如果希望用到强大高效的 Discipulus,非选择 TSL 不可。因为在全球范围内只有 TSL 获得 Discipulus 在金融交易领域的开发应用权限。[/font]
[font=微软雅黑]时至今日,TSL 的交易策略寻优系统,经过十多年的不断改进,在众多金融交易领域(股票、期货、外汇和期权交易)中都达到了无懈可击的境界。 TSL 更凭借着被独家授权的 Discipulus,独霸 AIM 二元机器代码自动归纳合成算法在金融交易领域的应用。没有任何一家竞争对手的交易策略设计系统,能比得上 TSL 的寻策速度和生成策略之长期稳健性。[/font]
[b][font=微软雅黑]笔者结语[/font][/b]
[font=微软雅黑]TSL 在美国市场中的表现,可以通过《期货真相》得以验证,在官网 Flash demos 中也提供了几十盘交易品种培训样本以供参考。可是,TSL 在亚太区市场中的表现,鉴于系统交易潜在客户稀缺,团队未曾对大中华区的交易品种进行演示。读者如果对个别市场或交易品种熟悉,并希望知道 TSL 是否可以在此交易品种中找到更优策略,请联络我们,提交历史交易数据和明确的回报指标。我们会尝试用 TSL 来帮你寻策。这样做,可能比较直接了当。[/font]
[font=微软雅黑]本文编辑:李明 (Terry Li)[/font]
[font=微软雅黑]TSL大中华区产品TSL产品顾问[/font][/size][/font][/color]
页:
[1]