(触手译)5/N_exAHL顶级对冲基金经理:系统化交易

UP主自行翻译,严禁复制用于任何商业用途
这个系列是全球顶级CTA对冲基金AHL的基金经理Robert Carver的Systematic Trading书籍(中文译)
笔者在AHL工作的十几年里管理了数十亿的全球宏观对冲基金,运用这一套系统规则超过7年。其本人有Pyton写的开源回测框架及交易系统.https://qoppac.blogspot.com/
我抽空余时间把书籍按照自己的理解翻译出来。因为内容真的很多,所以见谅,更新的会比较慢。翻译会有出入点或者不到位的地方,有异议建议看原著确定含义。
本书作为入门书籍,仍旧有难度,因为有相当多的东西和实盘实战挂钩。框架建立于理论,但其它包括回测等等的很多细节问题都仍旧需要单独解决。
无论是主观交易、半自动交易、程序化交易,都推荐阅读的,从入门到放弃的书籍。
细节的备注和超级链接会在后续添加。
经常白嫖的人会 1产生幻觉 2记忆力差 4不识数 6神志不清 这九点大家记牢
已翻译章节回顾:

人的主观认知缺陷;
金融行为学;
引出系统化交易的必要性;
市场历史数据表现的分布状态;

好的系统必备特征;
系统失效的特征(盈利的来源);
交易风格在历史统计上的表现区别;
可实现的夏普率表现;
提高夏普率的方式;

拟合分类;
过拟合的危险;
当拟合开始走坏;
一些有效拟合的规则;
如何选择拟合规则;

优化变坏;
节省优化;
手动设定权重;
结合夏普率;
第三大块——框架
第五章——框架一览
当你有了一些理解甚至有一些量化工具后,你可以开始创建一个交易系统了。
书的这一部分我会给你提供一种适用于任何风格策略的框架
章节概述
举一个不好的例子:一个存在致命缺陷的交易系统
为什么要做框架模块化:框架模块化对系统化交易策略的重大意义
框架包含的元素:框架中各种模块的简要说明
举一个不好的例子
这里有一个简单的交易系统的例子,你到处都能看见,书上,网络上;
入场规则:20日移动平均线高于40日时买入,反之卖出。
离场规则:当入场规则被破坏时立场,比如你做多,当20日移动平均线低于40日线时,平仓然后做空。
头寸大小:不交易超过10欧元的期货,1张FTSE合约或者每一点价差价值低于10欧元。
资金管理:每笔交易的资金占比不超过总资金的3%。
止损:设定一个收盘价的跟踪止损,当回撤超过3%止损;如果发现触发止损太频繁,就扩大止损点。
我甚至不打算讨论入场和立场规则,然而头寸大小,资金管理和止损全都是一坨屎。为什么是3%?3%对应着适当的风险么?如果我特别保守,3%算不算保守?如果我不太喜欢某笔交易,我该博弈什么?在我的投资组合中,我有40个头寸,那我是不是每笔头寸都保持给3%的敞口(相当于总投资组合有120%的敞口),如果我的交易频率比较慢,3%合适么。上面的头寸大小可能对5万欧元的账户,有一定风险偏好的人是有意义的,对其他人呢?他们在书上刚写这些内容的时候可能是对的,但五年后我们读的时候,还是对的么?对于没有列出来的其它标的品种,可以用这个交易系统交易么?
最后,仅仅根据你的资产大小和个人痛苦阈值来设置止损是不正确的。一个极度厌恶风险的小账户的人可能会在几分钟后就触发他们非常严格的止损,而一个大型对冲基金可能会在几十年后才关掉赔钱的头寸。在石油期货中有意义的止损,放在相对平静的美元/加元外汇市场,完全是错误的。在2006年比较温和的市场中的止损,在2008年里就非常的吃紧。
解决的办法是将你交易系统的组成部分分开成模块:交易规则(包括显性、隐性止损)、头寸大小、波动率目标的计算(你愿意用来承担承担的现金平均大小),然后,你就可以独立其它模块,单独涉及每个部分。
交易规则和止损应该只基于预期的市场价格波动,而不应该考虑你的账户规模。计算一个波动率目标,即你有多少资金可以用于风险,是一个账户规模和你的痛苦阈值的函数。头寸的大小应该基于市场的波动性,你对定量价格的信息以及你希望押注的资金量。每个组件都是模块化框架的一部分,共同构成一个完整的交易系统。
为什么要做框架模块化
还记得我在本书的前言中对汽车和交易系统进行了类比吗?交易规则是系统的引擎。这些是对仪器价格的预测;是涨还是跌,涨多少。在汽车中,底盘、传动系统和变速箱将发动机产生的动力转化为向前运动。类似地,你会有一个围绕着你的交易规则的头寸风险管理框架。这将把预测转化为你需要持有的实际头寸。
正如我在介绍中所说的,现代汽车的组件是模块化的,所以它们可以单独替代其他组件。我的框架中的交易规则和其他组件也可以替换和更改。“模块”和“组件”这两个词可能意味着这些是需要数千行计算机代码才能实现的复杂过程。事实并非如此。每个部分只涉及到基本计算的几个步骤,只需要一个计算器或简单的电子表格。我们来更详细地看看模块化方法的优点。
便捷
模块化设计最明显的好处是灵活性。汽车可以是任何你喜欢的颜色,包括黑色。同样,我的框架可以适用于几乎任何交易规则,包括半自动交易员使用的任意预测,以及资产配置投资者使用的非常简单的规则。如果你不喜欢头寸大小的组件,或者框架的任何其他部分,那你可以用你自己的。
模块透明
一个非常好的模块化框架,也可能会包含不透明的黑盒。大多数个人电脑都是这样制造的。你可以更换硬盘或显卡,但你修改它们或自己制作就基本不能,所以你只能用一个部件替换另一个。相比之下,我的框架中的每个组件都是透明的——我将解释它是如何构建的以及为什么构建的。这将使你理解并有信心适应每个模块,或者从头创建自己的模块。
模块独立,具有良好的定义接口
如果你更换了你的汽车变速箱,你需要确保汽车仍将按照要求前进或后退。但是如果你的新变速箱上驱动轴输出是反向的,当你想倒车离开你的车道时,你最终会撞到你的前门。为了避免这种情况,我们需要指定变速箱上的轴必须顺时针旋转才能使汽车前进,反之亦然。类似地,如果你使用一个新的交易规则,那么模块化交易系统框架的其余部分应该仍然正确地工作,并给你适当大小的头寸。要做到这一点,各个组件需要有一个良好定义的接口规范,描述它们如何与系统的其他部分交互。比如说,在框架中,无论你使用哪种交易风格或工具,交易规则里预测说【+1.5】,这个1.5含义保持一致就很重要。
正确处理无聊的部分
交易系统的一部分内容围绕着交易规则,但是交易框架很容易被忽略。和制定新的、令人兴奋的交易规则或自行做出市场预测相比,创建交易框架是一项无聊的任务。但这非常重要。通过创建一个标准框架,我已经为你完成了这项枯燥但重要的工作。该框架将正确地工作于任何交易规则,以一致的方式产生预测与正确的接口。因此,它不需要为任何新规则进行彻底的重新设计。同时,通过使用资产配置框架,投资者和半自动交易者可以在不使用交易规则来预测价格的情况下就享受系统化交易的很多好处。
给你个范例,帮你开始
从零开始创建一个新的交易系统是一个相当令人畏惧的前景。在本书的最后部分,有三个详细的例子,资产配置投资者,半自动交易员和坚定的系统化交易员怎样运用这种框架。这些都提供了一套系统,你可以将其作为开发自己想法的起点。
框架包含的元素
表15显示了具有两个交易规则的小的交易系统中的组件,总共有四个交易规则变体和两组标的资产。首先为每组标的创建一个交易子系统。每个子系统试图预测单个标的的价格,并计算所需的适当头寸。然后,这些子系统被组合成一个投资组合,这就形成了最终的交易系统。

用来交易的标的资产
标的资产是你交易和持有头寸的对象。它们可以是任何金融资产,包括直接持有的股票和债券等工具,或期权、期货、价差合约等衍生品。你也可以交易基金,如交易所交易基金(etf),共同基金,甚至对冲基金。
预测
预测是在给定特定交易规则变量的情况下,对特定标的资产价格变化幅度的估计。例如,一个简单的股票策略可能有三个预测:趋势跟踪规则的两个变量,每个变量跟踪趋势的不同速度,以及一个单独的股票价值交易规则,包含一个变量。如果你交易两种标的资产,如表15所示,那么总共有3 × 2 = 6个预测要做。
产生预测的交易规则是忠实系统交易者使用的所有交易系统的核心引擎。不同策略之间最大的区别在于使用的规则和变量,以及交易的标的资产。相比之下,框架的其余部分会相当的相似。半自动交易员做出随机的预测,而不是使用系统规则。资产配置投资者不会尝试预测资产价格,也不会对所有标的资产使用单一固定的预测。
组合预测
对于要预测某一标的资产的价格会上涨或下跌,以及上涨下跌多少之类的,你需要一个单一的预测。但如果你有一个以上的预测,你需要将它们组合成一个组合的预测,每个标的资产,使用平均权重。要做到这一点,你需要为每个交易规则的变量分配预测权重。
波动率目标
在你的交易系统中,准确地知道你想承担的总体风险是很重要的。我把它定义为你愿意面对的典型每日平均损失。这个波动目标是根据你的资产大小、风险容忍度、杠杆率、预期盈利能力来确定的。最初,我们假设你将所有的资金投入到一个交易子系统中,只为一个标的资产。
头寸比例化
现在,你可以根据投资工具的风险、对预测的信心以及波动性目标来决定持有多少标的资产。假设你现在计算的头寸只是在单个交易子系统中交易一种独立的标的资产。
在这一点上,你已经有效地得到了一个完整的交易系统,但只针对一个标的资产。就像人体内的细胞是每个独立的生物体,这些交易子系统是独立的单元,但在下一个阶段,你将把它们放在一起。
投资组合
为了获得最大程度的分散化,你通常需要交易多种标的,并将交易子系统组合成一个投资组合,每个子系统负责一种标的。这需要确定你将如何将资金分配到你的投资组合中的不同子系统,你将使用标的权重来完成。在应用这一阶段后,你最终会得到每种投资组合的权重头寸,用来计算你接下来需要做多少交易。
速度和大小
这不是框架中的一个独立组件,而是一组适用于整个系统的原则。在设计交易系统时,重要的是要了解交易的成本,以及你的资金是大是小。有了这些信息,你应该如何设计系统?我将在第三部分的最后一章详细讨论这些问题。