当前位置:首页 > 创业 > 正文

【交易回顾】没用Python做量化回测,少赚100w | 股指期货妙用案例

  • 创业
  • 2024-12-21 15:07:34
  • 31

 邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。          

【交易回顾】没用Python做量化回测,少赚100w | 股指期货妙用案例

【历史文章汇总】 请点击此处


最近发现自己做了一件很傻逼的事情。


是年初做的一笔投资。当时对这笔交易思考的不够全面,没用历史数据做详细的回测。


导致现在让我至少少赚了100万


这种事情大家肯定都喜闻乐见,比如之前一篇文章《一行代码亏损5万美金》就很受欢迎。


再加上其中也涉及到一些金融工具的介绍,特别是的应用,所以搬出和大家分享一下。



1  股市本质是个估值游戏

我之前发过一条朋友圈,说股市归根到底是个估值游戏



其中一张图是美股1870年至今的市盈率,由诺奖得主希勒在其网站公布:



从图中可见,市盈率代表的市场估值会在一定区间波动,过高时下跌,过低时上涨


美股目前的估值和1929年大萧条前几乎处于同一水平,这也是很多人说美股被高估了的主要原因。


还有一张图是我自己做的,它展示了2007年至今A股的市盈率



从这张图可见,A股在今年(2020年)初,估值已经在。


需要强调一点,估值低并不代表价格马上就上涨。什么时候上涨是无法预测的,可能要等很久。


我当时见A股在低位震荡足够时间,判断上涨值得等待,期望收益足够。于是决定对A股进行长期投资,准备一直持有到下一次牛市的高点。(说的好像自己一定能逃顶的样子)


2  投资个股还是指数?

长期投资A股,可以选择直接买个股,或者大盘指数

我当时选择了后者。

股神巴菲特就非常推荐长期投资指数,他甚至认为这样可以超过大部分基金经理


数据显示也确实如此,美国90%的基金在10年内都输给了对应的指数。


当然这是美国的情况。目前A股的基金经理还是可以跑赢大盘的。具体原因和本文无关就不细讲了,感兴趣的同学可以加我微信xbx2626交流。


3  投资哪个指数?

已经确定投资大盘指数了,那具体投哪一个呢?


A股最常用的指数是上证50沪深300中证500。可以简单的认为分别代表最大的50只、300只和之后的500只股票。


三者中我选择了进行投资,主要原因有两个。


一是中证500的波动远大于其它两个指数。


在2015年那一轮的牛市中,上证50沪深300从低点上涨了2.5倍左右。


中证500的涨幅高达4.3倍


当真正牛市来临的时候,市值相对偏小的中证500会因为弹性大而涨的更多。


另一个原因是在年初时,中证500的估值是最低的



单从上图最后一行数据来看,中证500指数22倍的估值,相比上证50的8.81和沪深300的11.26并不低。


但投资不能只看绝对值,也要看相对值


图中数据显示,中证500指数22倍的估值低于25%分位数。这意味着历史上最多只有25%的时间估值是比现在低的。


而其他指数估值分位数远高于这个区间。创业板指数更是超过了75%分位数。


所以从估值分位数来看,中证500的估值是最低的,长期投资安全边际较高



那具体应该如何投资中证500指数呢?


1  支付宝购买指数基金

最方便的方法是去支付宝购买指数基金


虽然我自己从来没有试过,但确实看到现在很多年轻人在这么做。



支付宝最大的优点就是无需开户,只要在支付宝的首页依次点击理财基金,就可以搜索想买的基金。


例如搜索“沪深300”,就会跳出一大堆沪深300指数基金。


指数基金是跟踪指数走势的一种基金,它的涨跌幅和指数基本相同,投资它就能间接投资指数。

但我其实并不太推荐大家在支付宝上买基金。




主要是因为支付宝作为一个渠道商是要收取额外费用的,并且收费还不低。

按支付宝官方的收费标准,买入基金就要先交0.15%的申购费


在持有过程中,还要收取管理费托管费销售服务费等一大堆费用,合计下来每年大约1.1%

卖出时还要按持有时间收取赎回费用,如果仅持有7天就卖出,费用高达1.5%


投资指数基金的收益本身就不多,这些交易费用会很影响投资收益。




在支付宝买指数基金还有一个致命的缺点——不灵活


首先是买入不灵活。例如你在某天上午下单买基金,最终是把当天下午的收盘价记为买入价。如果这段时间上涨,那就吃不到这段利润。



另外提现也不灵活。比如我们在周三卖出基金,按照官方说明,资金要下周一才能到账。这之间四五天的资金收益就被白白丢掉了。


2  股票账户购买指数ETF

除了支付宝外,也可以通过,来实现对指数的投资。


不了解什么是ETF没关系,只要知道ETF像股票一样可以随时交易,并且它的走势也和对应指数高度一致


但购买ETF就没有支付宝那么方便了,需要先在证券公司开设股票账户。当然现在都可以网上开户了,操作下也很简单。




购买ETF的一大优点就是交易费用低



上表对比了支付宝ETF之间的费率差别。


买卖一次,支付宝要收取1.65%的手续费,而ETF只收取万分之1.2。


持有一年的话,支付宝还要收取1.18%的管理费,而ETF只收取0.6%。




ETF的另一个好处就是流动性好




ETF像股票一样,在开盘时间段内可实时交易精确把握买卖点。而支付宝买指数基金只能以收盘价买入。


此外,ETF卖出后资金次日即可提现到银行卡,缩短了资金闲置的时间。所以比起支付宝,我更推荐用股票账户交易ETF。


那还有比ETF更好的指数投资方式吗?


有的,股指期货。



股指期货顾名思义就是股票指数的期货,它的走势和对应指数的走势几乎完全吻合



购买ETF要去证券公司开户不同的是,购买股指期货需要去期货公司开户。


很多人可能没有交易过股指期货,但应该听说过它可以加杠杆,这到底是什么意思呢?


我们尝试模拟一笔交易。


1  做多一手股指期货



上图是中证500指数股指期货的某段行情。


假设我们在9月30号以6000点的价格买入,做多一手指数合约


股指期货的 “合约价值” = “合约点数” x “每点价格”。


中证500每点的价格为200元,所以在6000点一张合约的价值为6000*200=120万元。


不过股指期货采用保证金交易,例如保证金比例为20%,那么只需要24万就能买一手价值为120万的合约,此时杠杆倍数为5倍


这就相当于买房子,只要付24万的首付就能买一套120万的房子。


假设买入合约后一直持有,到11月20日进行平仓。



平仓的价格为6300点,此时合约价值从原来的120万变为6300*200=126万

我们投入本金24万买了一手合约,合约价值从120万涨到126万,盈利6万元,25%


指数从6000点到6300点只上涨了5%。但这笔交易盈利高达25%,盈亏放大了5倍,这刚好是杠杆的倍数。


你只花了24万,却赚到了原本需要120万才能赚到的钱,这就是所谓的杠杆交易


2  股指期货优点


首先,股指期货可以进行杠杆交易,只需缴纳少量保证金,闲置的资金可以更好地利用。



比如我花100万买ETF,和花15万保证金买价值100万的股指期货,最终效果是一样的


但后者至少能将剩下的85万存入随存随取的理财产品吃无风险收益,额外多赚一笔。


其次,交易股指期货仅仅收取万分之0.23的手续费,没有任何其它费用,比ETF还低。


如果我们分别用三种方法买入100万指数,持有一年后再卖出,交易成本如下:


支付宝的费用高达1.83万,ETF需要6060,而股指期货仅需92元


3  股指期货缺点

再来谈谈股指期货的缺点。


首先它对资金要求较高,需要50万资金放1个月才能开户,并且一手交易目前最低也要十几万,这就把大部分的个人投资者拦在了门外。


这里的介绍也只是想让大家了解这个金融工具而已。


股指期货另一个缺点是会到期交割


例如上图中的IC2012,其中IC指中证500,20指2020年,12指12月,它到2020年12月末就会强制终止。


如果你想继续持有,就要在到期前先将原期货平仓,再选择到期日更远的合约重新买入。这个过程被称为移仓


4  投资方法总结

目前我们已经讲解了三种指数投资的方法,并且分析了它们各自的优缺点:


普通小白投资者我建议使用ETF的方法进行投资,有一定经验的可以和我一样使用股指期货



1  股指期货的贴水

我大概是在2020年初决定通过股指期货投资中证500的,实际建仓是在春节前后的几个交易日。


当时受疫情影响,春节后股指期货跌停。还记得我颤抖的嫩手在跌停板4652上买到的股指期货。


本来想等第二天跌停继续买,但市场没给机会。最终共计买入20手IC2009均价4850左右


选择当时最远的9月合约纯粹是因为我比较懒,不想频繁地转仓。


等到9月,我买入的IC2009合约已经变成了当月合,即将结束需要转仓。


从2月到9月,指数从5123上涨到6469,上涨26.26%,而我持有的合约从4850上涨到6440,涨幅为32.8%。


我能多赚6.5%,是因为在2月买入合约时,合约价格4850“贴水”严重,比指数5123低了273点。


而9月交割时,合约6440和指数6469仅相差29点。也就是说合约比指数多涨了244点,而这能让我比直接持有指数多盈利约244*200*20=98万


9月转仓的时候,我又选择了最远的合约IC2103,它当时只有6066点,而指数为6469点,贴水403点。

等到明年3月交割时,这403点差距会慢慢消失,到时候可以比直接持有指数多赚或少亏403*200*20=161万


看到这,大家应该明白我选股指期货投资指数的真正原因了。


之前说的股指期货的优点都是细枝末节,真正吸引我的是股指的长期贴水可以让我有更多的盈利


至于为什么会长期贴水这么多,在此就不展开了。如果感兴趣可以留言,人多的话之后再写一篇文章细讲。


2  如何转仓更赚钱

我每次都选择当时最远的合约进行投资,到期后再换届时最远的合约。


我是想当然这么做的,主要比较省事,一年只需要转仓两次即可。


直到今年9月转仓的时候我脑子里隐约产生了另一个想法:如果我每次都转仓到最近的合约会怎么样?

比如2月合约到期了我换到3月,3月到期了换到4月...这样做显然会很烦,每年需要转十几次。


但这两种方法,哪种会更赚钱呢?


我找来了历史数据进行验证,实际交易的数据如下。



按照最远合约转仓,从2月买入到9月卖出,赚取了1590点的价差。



按照最近合约转仓。2月转仓到3月赚755点,3月转4月亏598点…


把每个次转仓的价差相加,得到总价差为1849。明显大于之前的1590点。


整整100多万!而且这还只是到9月份少赚的,到现在肯定更多。


看到这个结果后,真的是拍断大腿,直骂自己傻逼,为什么不一开始就好好想清楚呢...


3  历史数据验证

我又想2月到9月的数据毕竟太短了,没有代表性(主要是不甘心),所以喊林奇找来股指期货全部的历史数据回测一下:


林奇用Python写了一段代码进行回测,得到如下结果:


从中证500股指期货开始交易的2015年4月至今年,指数本身下跌了14%,净值为0.86。


如果按隔季移仓方法长期投资股指期货,净值有1.06,确实能多赚不少。


而按照次月移仓的方法,净值高达2.02!远高于之前的两种方法。


如果你要股指期货数据和代码亲自验证下,可以加我微信xbx2626获取。


所以这事吧,没法找西蒙斯背锅,就是自己蠢。少赚钱只能怪自己思考不够,认知不到位...


邢不行:听说MACD是技术指标之王?我们用Python来验验成色

邢不行:量化交易中,如何使用Python画K线、成交量、买卖点【邢不行】

邢不行:量化投资中经常使用Excel,可能会被同事打

邢不行:【邢不行|量化小讲堂系列45-实战篇】关于股票市值:99%投资者不知道的坑,你知道吗?

邢不行:【邢不行|量化小讲堂系列44-实战篇】历年排名前10的基金,在第2年表现如何?Python告诉你答案



有话要说...