如何在股市中使用python的量化代码
在开始对各行业进行定量分析之前,我们需要明确两个问题:
第一,a股市场有哪些行业;
二、2010以来各行业营收和净利润增速如何?
第一个问题
回答得好。我们使用JQData提供的方法获取行业股票,输入get _ industries(name = ' SW _ l 1 ')。
申万一级行业分类结果如下:分别是农林牧渔、采矿、化工、钢铁、有色、电子、家用电器、食品饮料、纺织服装、轻工制造、医药生物、公用事业、交通运输、房地产、商业贸易、休闲服务、集成、建材、建筑装饰、电气设备、国防、计算机、传媒、军工。
第二个问题
要知道2010以来各行业的营收和净利润的增长表现,首先需要知道各行业各年有哪些成份股,然后把该行业各成份股在该年的总营收和净利润加起来,就可以得到全行业在该年的总营收和总利润。这部分数据JQData也为我们提供了一个便捷的接口:通过调用get _ industry _ stocks(industry _ code = '行业代码',date = '统计日期'),可以获得申万一级行业指定日期的行业成份股列表。然后调用财务数据接口:get _ fundamentals(query _ object = ' query _ object ',statdate = year)得到各成份股在相应年份的总收入和净利润,最后通过求和得到全行业的总收入和总利润。这里为了避免非经常性损益的影响,我们最终选取净利润指标扣除非经常性损益后的净利润数据。
我们已经得到了想要的行业数据。接下来,我们需要进一步分析这些行业有哪些成长特征。
我们发现28个一级行业中有18个行业自2010以来总收入保持持续稳定增长。分别是:农林牧渔、电子、食品饮料、纺织服装、轻工制造、医药生物、公用事业、交通运输、房地产、休闲服务、建筑装饰、电气设备、国防军工、计算机、传媒、通信、银行、汽车;在此期间,其他行业出现了不同程度的负增长。
那么,2010以来,哪些行业会出现净利润持续增长?结果只有五个行业保持了悠久的历史,分别是医学生物、建筑装饰、电气设备、银行和汽车。(注:由于2014申万行业的一次大调整,建筑装饰、电气设备、银行、汽车的统计实际上是从2014开始的。)
从以上分析结果可以看出,真正能保持持续稳定增长的行业并不多。如果以扣非净利润为标准,那么只有医药生物、建筑装饰、电气设备、银行、汽车等5个行业可以称为优质行业,而在实际投资中,只能从这些行业进行投资。这样做的目的,一方面是从行业整体格局的角度规避行业的下行风险,绕开一个可能出现负增长的行业,从而降低投资的风险;另一方面,也大大缩短了我们的投资范围,让投资者可以专注于从真正好的行业中挑选公司进行投资。
“2010-2017”投资优质行业龙头的收益表现
选好行业后,我们进入公司选择环节。我们知道,即使在一个好的行业,也还是有业绩不好的公司,那么什么是好公司呢?本文试图从营业收入规模和利润规模之和来考察上述五个历史悠久的行业,并从中选择公司作为投资对象。
3.1基于营业收入规模的行业领先组合
首先,我们根据业务收入规模,筛选出2010至今的医药、生物、建筑装饰、电气设备、银行、汽车等上述五个行业的行业龙头,如下表所示:
可以看出,虽然时间跨度很长,但在这五个行业中,营收大的公司始终处于领先地位。它们是上海医药、中国建筑、上海电气、中国工商银行和SAIC。
由于上市公司年报公布截止日期为4月30日,因此将在所有上市公司年报公布后确定行业龙头,然后将这些行业龙头构建成投资组合。那么,持有一个投资组合的回报表现如何呢?为了保证投资时间的一致性,我们假设投资从2015年4月30日之后的第一个交易日开始,本金为100万,每个标的的投资权重相同,为20%,忽略交易费用。那么持有这个投资组合到2018年4月30日的投资收益是多少呢?
我们使用JQData提供的获取报价的接口get_price(security= '股票代码',start_date= '开始交易日',end_date= '投资截止日期',frequency = '每日',fields = none,skip _ paused = false,FQ =' pre ')。获取每年开始交易日和投资截止日(4.30后的第一个交易日)投资组合中各公司的价格,得到最终的投资结果如下图所示:
可以看出,除了在2015.5.4-2016.5.3的股灾期间,该投资组合的投资收益率与上证综指、沪深300指数同步大幅下降,投资组合从2016.5.3连续变动至2018.5.2。
聪明的读者肯定会问这样的问题。如果我从2065,438+08年5月2日起投资100万元购买这样一个以收益规模衡量的行业领先的投资组合,到2065,438+08年5月30日收益表现会是怎样的?答案是3.04%,而上证指数和沪深300的收益率分别为-0.20%和-0.39%,可以说是非常不错了。具体优势如下表所示:
3.2基于扣非净利润规模的行业领先投资组合
如果以扣除非经常性损益后的净利润来衡量,从2010到现在,上述五个行业的行业龙头会是谁?我们找出下表:
可以看出,组合是按照扣非净利润来构建的,医药生物和电气设备两个行业分别更换了行业龙头。如果我们要构建一个基于扣非净利润的投资组合,那么我们需要每年调整我们的投资组合目标,以确保投资组合是上一年的行业龙头。和上面的投资回测法一样,我们从2015年5月4日买入这样一个投资组合,然后在每年4月30日后的第一个交易日调整投资组合中的行业领先标的。最终投资结果如下表所示:
可以看出,即使在2015.4.30-2016.5.3的股灾期间,这个组合也跑赢了上证综指和沪深300指数3%左右。2016.5.3至2018.5期间,显著跑赢两个基准指数30%以上。
同样,如果你投资1万元购买这样一个以2018年5月2日扣非净利润规模衡量的行业领先组合,到2018年5月30日收益表现会是怎样的?答案是2.83%,相比同期上证综指和沪深300指数的-0.20%和-0.39%,依然保持了非常不错的表现。具体优势如下表所示:
结论通过以上行业分析和投资组合的历史回测,我们可以看出:
先选行业,再选公司。即使在2015股市大跌期间开始投资,到201,2018年5月,仍然可以获得相对理想的收益。可以说红杉资本的赛道投资法则对于普通投资者来说是比较靠谱的。
在构建行业领先的投资组合时,净利润指标明显优于营业收入指标,获得的投资收益可以跑赢整个市场收益率。
市场不断波动。如果投资者在股灾期间开始投资,即使买入上述优质行业的龙头组合,也只能获得近三年累计约12%的收益。而如果从2016年5月3日开始投资,那么到2018年5月2日,两年内收益在50%以上。所以在投资过程中选择时机也是非常重要的。
来自:JoinQuant聚宽数据JQData