量化交易入门书籍-Quantitative Trading how to Build Your Own Algorithmic Trading Business 01


(suibiantell) #1

思考了很久从哪里讲量化交易,决定还是从人生中的第一本量化书籍开始,本专栏的目的也是把记录自己的读书过程,把书越读越薄!第一次读这本书的时候,已经是5年前了,作为量化实验室的新丁,被要求阅读的就是这本书,并且实现书中的交易策略,了解到了很多很多基础的概念,书中的代码多数已经不能用,所用的语言也是matlab,这次写系列读书笔记,我将使用PYTHON语言(现在用的比较多),这里并不是说matlab过时了,我到现在依旧认为在矩阵处理及可视化上matlab仍然具有绝对优势。周围很多策略开发者仍然在使用matlab!

Quantitative Trading是E.P CHAN的第一本书,在外网有响应的网站和博客,博客里面也有不少有趣的策略,后期我也会做一个优秀的搬用工,争取把这个博客的内容搬到知乎来。


第一章:The Whats,Whos,and Whys of Quantitative Trading

量化交易是什么?

量化交易也被称作算法交易,各类资产的买入卖出严格按照计算机算法,交易员自己设计的算法和程序。

很多书籍提到的技术分析,如果技术分析的指标可以被量化,那么也算是量化交易的一种。

总的来说如果你可以把各种信息转化为计算机能够识别的信息来进行交易,就可以被看作是量化交易。

谁可以成为量化交易员?

实际上大多数机构的交易员都是毕业于物理、数学、工程或者计算机科学专业,当然科学技能的训练是这些人在分析和交易复杂的衍生品时所必须的技能,但是本书并不会涉及复杂的交易标的,有一种交易策略是统计套利,交易标的是简单的股票、期货以及外汇,入门相对简单,只要你上过一些高等数学、统计学和会变成,你就可以掌握统计套利策略(简单的!!!)

第二章:Fishing for ideas:从哪里找到好的策略

网络上有成千上网的交易策略,主要有以下一些渠道:

![](data:image/svg+xml;utf8,<svg%20xmlns=‘http://www.w3.org/2000/svg’%20width=‘548’%20height='538’>)

(我个人会看的像 Elite Trader/http://epchan.blogspot.com,大家也可以挖掘挖掘这些网站)

但是自己需要对公开的策略有一些辨识能力,比如说许多论文中的策略都是针对小市值股票的,流动性并不好,真实的交易中利润肯定不如回测表现好(这里涉及到交易的流动性成本问题,在后面的专栏中会详细讲讲),还有网上PO出来的策略表现可能并没有经过严格的回测检验条件,比如并没有考虑到交易成本之类的。EPCHAN还是经常从博客和论坛中发现简单且能盈利的策略

下面这个问题比较重要,人要选择适合自己的策略:

1、工作时间:如果你是业余交易者,每天交易的时间有限,那么可能你会更倾向于隔夜交易(持有超过1天,一般对今天买入并卖出的交易称为:日内交易)

2、编程技能:如果你的编程水平有限,那么就不要选择对编程水平要求较高的高频交易(比如说每TICK交易几十上百次)

3、交易本金:如果本金较少,那么就需要考虑一些把杠杆用到极限,就是交易标的期货、期权、外汇,这些交易标的都是可以加杠杆的。

4、盈利目标:这里有一个大众误区,就是如果你追求长期的回报,那么你只需要买入并持有。优秀的策略应该是找到一个夏普率最高的策略(实践中其实夏普率并不是唯一的参考指标,不过也是非常好的一个参考指标,需要大家在大量的策略检验中去寻找平衡点)。

如果你在网上找到了自己认为适合的策略,并且别人PO出来的策略表现非常优越,但是不要急于的将你的时间花在测试这些策略上面,你可以从以下几点去快速的检验策略(很多量化交易机构都会使用人海战术,就是不放过一个指标及策略,全部进行回测,反正现在计算能力已经不是问题):

(1)盈利水平和基准进行对比情况,还有盈利的持续性

比如一个股票的策略盈利水平就需要和股指的表现进行对比。这个时候就引入前面已经谈到的夏普比指标。

SHARPE RATIO = average of excess Returns / standard deviation of excess Returns

夏普比 = 超额收益的平均值/超额收益的标准差

其中 excess Returns = Portfolio Returns - Benchmark Returns

超额收益 = 策略收益 - 基准收益

注:如果你的策略一年之中只交易很少的几次,夏普率就不会太高,如果你的策略有很深的回撤(drawdown,见下图),并且持续时间长,夏普比也不会太高。

![](data:image/svg+xml;utf8,<svg%20xmlns=‘http://www.w3.org/2000/svg’%20width=‘519’%20height='296’>)

任何策略如果夏普率低于1,这就是一个不太合适的策略,如果一个策略基本上每个月都盈利的话, 夏普率应该是大于2,如果一个策略基本上每日都盈利话,那么夏普率会通常大于3。

(2)交易成本对策略表现的影响

每一次买卖证券,都会产生交易成本。交易成本对策略的影响是非常大的(感觉99.99%的策略都是败给手续费的,开赌场的最赚钱)。交易成本不只是交易佣金(比如印花税),还有流动性成本(非常重要!),如果你想买入或者卖出证券,你都需要付出最优卖家和最优买价的价差。如果你使用限价单(到一定心理价位才成交),那么你将可能会失去交易机会。还有如果你的买入卖出量够大的话,你的行为就会影响市场的价格,就是需求和供给严重不平衡,这个时候可能就会出现流动性缺乏,付出巨大的交易成本,举个栗子,如果现在买卖苹果,第一个卖苹果的人卖1元,第二个卖苹果的人卖100元,你需要买入两个苹果,你下了两个市价单(按照现在市场能成交的价格成交的订单类型),那么你就会花费101元买两个苹果!。

另外“滑点”对策略的表现影响也很大,滑点就是你看到苹果卖1元,你发了个订单去买,但是1元的苹果已经被别人买走了,别人的交易速度比你快,于是你的订单一到交易所就成交了100元的苹果,你比预期的成交价高了99块,这99块就是滑点成本,一般来讲回测策略至少需要设置2跳(比如说苹果只能按照1元、2元…每一块报价,那么1元=1跳)。

(3)数据是否存在生存者偏差

我们股票市场中有不少很差的企业都退市了,比如说A企业在2015年退市了,你在回测过去5年的数据时,很可能只选择了还存活在现在的企业,这些很差的如A企业数据并不包含,那么你使用的数据就存在了生存者偏差,自动的排除了已经被市场淘汰的企业。

(4)策略每年的表现

regime shifts就是市场结构变化,会使你的策略失效,市场结构变化多是由交易所监管导致,比如说在15年我国对股指期货提高交易手续费、限制交易手数,一下子把市场的流动性都打下来了,这个品种接近死掉。

(5)策略过拟合

如果交易策略有100个交易参数,回测的结果也非常的完美,那么你的策略很可能已经过度拟合,就是你已经知道了过去市场的表现,你按照特定的数据选择了一条最优路线,但是正如你不可能踏入同一条河流,你的策略的普适性是非常差的,基本上会100%亏掉(我一般交易策略不会高于5个参数)。避免过拟合也非常简单,用一些新的数据来验证策略参数即可。


书的前两章重点就讲了这么些,我觉得比较重要的不要深化量化交易,加减乘除也许就OK,但是一些重要的概念必须要谨记:滑点、过拟合、交易成本、数据准确度。

下一篇将进入实战前篇:回测!!!!