一类交易思想在比特币期货量化策略设计中的应用

摘要:本文设计了与比特币期货相关的两个量化交易策略,其区别在于是否引入了文中所述的交易思想,并对这两个策略进行了对比和评价。

“林辉太郎的理论是以‘股价是不可能预测的’的想法为前提的。世上的股票或期货的理论多半是预测的方法,它们都拼命地夸耀自己的方法猜中的比率高。如果这些理论是常识的话,那么林辉太郎的理论就是‘毫无意义’的了。经济学者们在论述‘股价是不可预测’的观点的时候,得出:‘即使对交易的方法再下功夫,能够在市场中,交易的平均成绩高于他人的技术也是不存在的’的结论。但是,林辉太郎的观点与经济学者们的观点相反,他明确指出:‘赚钱的方法是存在的’。

按照教科书上的说法是:‘市场是高效的,价格通常都是妥当的。’但是实际的情况是,尽管形势没有变化,价格也在天天大幅度地变化着。这就表明,不管是刚开始交易的个人投资者还是运作巨额资金的专业的基金管理人,都未能采取高效的行动。在此,我们着眼于林辉太郎主张的‘能够赚钱’的理论,这就是行情技术的理论。就是说,尽管不能期望自己在交易中百分之百地采取高效的、正确的行动,但只要能够把每次交易行动进行得略微合理一点,这微小的差别就能够导致自己的交易成绩要比其他人好一些;反复进行出色的交易、累积起来就能够产生巨大的利益。”

——摘自 林辉太郎 《期货市场的技术》中文版序

一、策略借鉴的交易思想

策略借鉴了文献[1]中的两种思想:

一是建立试验头寸,建立试验头寸的目的是为了通过它来获得价格波动方向的感觉。之后根据行情再逐渐建立正式头寸(或称主力头寸),正式头寸是具有一定规模的、正式以获利为目的的头寸群。

二是时常建立对冲头寸。以拥有近期期货的买入头寸为例,同时在远期期货持有一定量的卖空头寸,其目的分为3种:

1、对买入头寸进行保险。虽然两者相抵相当于减少了买入头寸的数量,但当卖空头寸的数量少于买入头寸的时候,仓位总体来看依然是“越上涨越赚钱”的仓位。

2、赚取下跌行情的投机的卖空头寸。似乎这与前者是相同的,但其思路实质是把建有买入头寸的当期期货与建有卖空头寸的远期期货看成是两个完全不同品种的期货,操作者根据行情的变化,相应地调整买入和卖空头寸的数量对比。

3、锁住利益的卖空头寸。

这三种卖空头寸,虽然看上去在形式上是一样的,但是,三者的想法是不一样的,根据行情变化采取的措施也有所差异。

更多的细节在这里就不再赘述了。本文设计了两种策略以便进行对比。

二、采用的交易所和下单方式

由于Deribit交易所可使用Websocket下单,这是绝大多数交易所不具备的。为了提高下单效率,故在Deribit上构建量化策略,行情获取和订单等操作全部采用Websocket进行。

下表展示了在Deribit交易所测试网上,使用REST下单和Websocket下单的时间差异(Websocket下单是在Websocket长连接下进行的,故不考虑长连接建立所需的时间)。测试是在2020.3.26 15:34-15:58时于香港主机上进行的,使用的是该交易所的API V2接口,内容是每次对BTC永续合约下10张市价卖单,共进行了8次测试:

表1

由上表可知,REST下单时间平均为2224毫秒,Websocket下单时间平均为449毫秒,前者约为后者的4.95倍,因此使用后者可在较大程度上提高下单效率。

三、两种量化策略的设计

根据我们之前在金色财经上发表的文章[2]——《BTC现货的多空压力分析——限价单和市价单的流动性度量》(https://www.jinse.com/blockchain/464819.html),我们针对Deribit的期货合约编写了指标程序,在指标值中仅采用“等效压强”指标值和“平均等效压强”指标值,对BTC永续合约做空,对某近期合约做多,采用了市价单方式来下单,构建了量化策略。

在策略中,我们设TP(Take Profit)为获利平仓需要达到的收益,SL(Stop Loss)为止损平仓需要满足的条件。

(一)策略1

1、建仓条件

当满足上述多空压力指标条件(参数略),仓位为0且账户净值占账户结余大于7成时才在相应合约中建仓。最多建Q张合约。

2、平仓条件

当盈利达到TP值+市价手续费时进行获利平仓;当损失略大于SL值时进行止损平仓。其中市价手续费的计算要包含建仓和平仓的所有市价手续费。

(二)策略2

根据我们在金色财经上的另一篇文章[3]——《Paiclub-10指数投资策略在数字货币中的应用》(https://www.jinse.com/blockchain/419516.html)的思想,将上述多空压力指标失效造成亏损视为试验头寸建仓完毕,并结合第一节所述文献[1]的思想来构建策略。

1、对于试验仓位

(1)建仓条件

当满足上述多空压力指标条件(参数略),仓位为0且账户净值占账户结余大于7成时,才在相应合约中建仓。最多建Q张合约。

(2)平仓条件

当盈利达到TP值+市价手续费时进行获利平仓。

2、对于正式仓位

(1)建仓条件:

①当满足上述多空压力指标条件(参数略),才能建仓。

②仓位大于等于试验仓位,且不大于Q_total张合约,才能建仓。

③根据买1卖1价对比持仓均价,检查仓位是否处于亏损状态,若处于亏损阶段,则按持仓均价附近按一定价格梯度逐步建仓。其中待建仓位量按价格梯度呈递增状态。

④(建仓方向的仓位-另1方向仓位)<=Q_total*a%,才能建仓。

⑤账户净值占账户结余大于7成时,才能建仓。

(2)平仓条件

①当某仓位出现盈利且仓位量大于另一个合约的仓位量时才能对该仓位进行平仓。

②每次平仓只平上一次建仓成功的量。

这样的平仓方式可保证账户的仓位时刻都处于某种对冲状态。

(3)所有仓位平仓的条件

当处于正常建仓状态时,若整个期货交易未实现的利润大于10倍TP值并能抵消市价手续费,且两个合约的卖1买1价相差较小时,对两个合约全部平仓。

三、策略的测评 [4]-[5]

限于篇幅,本文仅使用夏普比率对以上两个策略的测评进行介绍。

(一)夏普比率简介

由于计算上的简便性和简单易用使得夏普比率成为众多金融机构和投资者用以衡量投资组合绩效的最为常用的一个标准化指标。

夏普比率依据资本资产定价模型(CAPM),以资本市场线(CML)为评价的基点。如果投资组合的夏普比率大于市场基准组合的夏普比率,则该投资组合就位于CML之上,其表现好于市场;反之,如果投资组合的夏普比率小于市场基准组合的夏普比率,则该投资组合就位于CML之下,其表现劣于市场。

以金融商品X为例,其夏普比率可按照如下方法计算:

(X的夏普比率)=[(X的回报)-(无风险收益率)]÷(X的风险)

大致来说,夏普比率是个分数,分子是对回报的评价,分母是对风险的评价。其中,X的回报是指考察期内金融商品X的期望收益率,无风险收益率是指该考察期内的无风险收益率,可近似用考察期内的国债收益率来表示。因此,分子(回报)越大,夏普比率越大,而分母(风险)越小,夏普比率也越大。

我们来分析一下这个式子的含义。首先,以回报减去国债的收益率为基准,是因为国债是任何人都可以入手的最安全的有利息资产。可以认为比其利息率高的部分正是一般金融资产的价值所在。国债是国家的借入凭证,国家与公司相比破产的可能性显然要小,所以是风险小的金融资产。

其次,X的风险如何表示?股票收益率的标准差(S.D.)叫作波动率,表示的是股票交易的“风险”。它说明,收益率S.D.大的股票,收益率从平均值下落1个S.D.是很正常的,应该认识到此“危险性”(风险)的存在。将比国债的利息率高的部分除以风险(S.D.)是因为,相同回报下风险高的金融商品,会被判定为性能不好的商品。

(二)夏普比率的主要缺陷

首先,夏普比率无法量化价值的增加,如果有的话,它只是一个排名标准。夏普比率假定无风险利率为常数,对贷款和借款都采用相同的一种无风险利率。然而,在计算夏普比率时,无风险利率的选择非常重要,因为它影响了排名,尽管无风险利率的影响是相当薄弱的。

其次,夏普比率是一个绝对测度指标,并没有涉及到业绩比较基准。此外,由于夏普比率测度了总风险,其适合于投资者只投资一种投资组合的情形。在投资组合聚集的情况下(即多种投资组合情况下),由于波动率之间的协方差效应,夏普比率的计算不是很简单,可能失去应用价值。

第三,夏普比率越大,投资组合的业绩越优,当夏普比率为负数的时候,其解释能力变得非常困难。如果风险增加,夏普比率也随之增加。投资组合评价结果容易产生误导。

第四,夏普比率基于均方差理论,因此它要求资产收益率是正态分布或者二次偏好和投资者具有一个效用函数。如果资产的风险在能够充分通过标准差衡量时,夏普比率是有用的组合绩效评价指标。如果资产收益率非正态分布,那么夏普比率可能导致错误的结论和不理想的悖论。对夏普比率指标的争论点在于收益率的期望和方差的假设上。

第五,非常重要的是,夏普比率最容易受到人为操纵或处理。夏普比率的主要人为操纵或处理包括卖掉上行收益潜力资产,从而创造一个高左尾风险分布收益率。这样利用夏普比率评价投资组合业绩的结果就会失去合理意义。

许多学者对夏普比率在统计上进行了调整,但其大多数限制和问题依然存在,不能得到完美解决,这就解释了为什么目前有很多版本的夏普比率的出现。但在没有更好的评价指标提出以前,它不失为一般意义下的对投资组合绩效的理论解释。

(三)利用夏普比率来评价两个策略

由于策略测试时间较短,设每日无风险收益率为0.00016,以最近一周内策略1的平均日收益率0.00086,标准差0.00095,策略2的平均日收益率0.00059,标准差0.00041为例,可得策略1和策略2的夏普比率分别为0.737和1.049,故策略2优于策略1。

四、结论与讨论

本文设计了两个量化交易策略,为了提高效率,在Deribit交易所上采用Websocket进行行情获取和订单等全部操作。其中策略2在策略1的基础上增加了试验仓位和对冲的元素,并对这两个策略运用夏普比率进行评价,发现策略2优于策略1,因此这里的修改是有意义的。

这两个策略的测试时间较短,对于对冲的细节设计还不够细致,并且尚未考虑不同期货合约的升/贴水价差的变化,有可能不会适用于后续行情。考虑到比特币减半可能会使币价频繁出现大起大落的现象,在实际应用中还应加强风险控制,与其他指标协同运行,并根据行情对仓位做出灵活的调整。

参考文献

[1] 林辉太郎. 期货市场的技术. 毛兰频译. 北京: 地震出版社, 2017. 62-119

[2] 苏文杰. 派客国际投资(集团)有限公司. BTC现货的多空压力分析——限价单和市价单的流动性度量. 金色财经. https://www.jinse.com/blockchain/464819.html

[3] Mayer. 派客国际投资(集团)有限公司. Paiclub-10指数投资策略在数字货币中的应用. 金色财经. https://www.jinse.com/blockchain/419516.html

[4] 丁庭栋, 李富军. 经典指标夏普比率评析. 现代商业, 2011, (17): 27-28

[5] 小岛宽之. 你一定爱读的极简统计学:再精简下去,就不是统计学了. 孔霈译. 北京: 台海出版社, 2015. 57-60

作者:苏文杰 BuyBit Inc.&Paiclub Capital

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章