量化小讲堂吧 关注:174贴子:520

【PythonPandas14】逆天的反转策略在A 股实证

只看楼主收藏回复

一楼惯例给度娘!


1楼2017-11-11 22:12回复
    —策略介绍—
    动量策略和反转策略的原理主要是基于股票市场中可能存在的动量效应或反转效应。
    所谓【动量效应】,是指在一段时间内,股票会延续它过去的趋势。过去涨,接下来继续涨的概率比较大,也就是我们常说的强者恒强;过去跌,接下来就更可能继续跌。基于股票动量效应,我们可以通过买入过去收益率高的股票、卖出过去收益率低的股票来构建投资组合,这种构建投资组合的方法叫做动量策略。而反转效应恰好相反,反转效应认为在前一段时间表现较差的股票,在下一阶段反而会出现逆转。即过去一段时间收益率较低的股票在未来的收益率反而会高于过去收益率较高的股票。就像我们常说的超跌反弹。基于反转效应,投资者可以通过买入过去收益率低的股票、卖出过去收益率高的股票来获利,这种利用股价反转效应构造的投资策略称为反转策略。


    2楼2017-11-11 22:12
    回复
      接下来,本文将采用 A股的实际数据,实证检验一下动量策略和反转策略的效果到底怎样。
      —实战—
      假设我们选择A股市场所有股票作为考虑的目标股票,回测的开始日期为2010年12月31日,结束日期为2015年12月31日(开始结束时间是参数,在程序中可以自行修改),排名期为3个月(也可以自行设置),即从2011年4月1号开始,每月的第一个交易日根据前三个月的累计收益率的排名换仓。


      4楼2017-11-11 22:13
      回复
        本文希望通过动量策略和反转策略在A股的实证,向大家介绍pandas的以下几个功能的运用:
        1. 时间序列重采样resample()函数的用法
        2. 数据分组函数groupby()函数的用法
        3. 分组计算函数agg()函数的用法


        6楼2017-11-11 22:13
        回复
          —程序—
          要验证动量策略和反转策略的实际效果,需要A股所有股票的历史交易数据,在http://www.yucezhe.com可以下载到所有股票历史至今的数据。如下图所示,每一行是每一天的数据:

          数据有以下的字段:
          【code】股票的代码,上证股票以sh开头,深证股票以sz开头
          【date】交易日期
          【open】开盘价
          【high】最高价
          【low】最低价
          【close】收盘价
          【change】涨跌幅,复权之后的真实涨跌幅,保证准确
          【volume】成交量
          【money】成交额
          【traded_market_value】流通市值
          【market_value】总市值
          【turnover】换手率,成交量/流通股本
          【adjust_price】后复权价,复权开始时间为股票上市日,精确到小数点后10位
          【report_date】最近一期财务报告实际发布的日期
          【report_type】最近一期财务报告的类型,3-31对应一季报,6-30对应半年报,9-30对应三季报,12-31对应年报
          【PE_TTM】最近12个月市盈率,股价 / 最近12个月归属母公司的每股收益TTM
          【PS_TTM】最近12个月市销率, 股价 / 最近12个月每股营业收入
          【PC_TTM】最近12个月市现率, 股价 / 最近12个月每股经营现金流
          【PB】市净率,股价 / 最近期财报每股净资


          7楼2017-11-11 22:14
          回复
            下面是代码的截图,代码里面有详细的注释,有问题可以留言,附件中有程序的源码,回复即可下载。


            8楼2017-11-11 22:15
            收起回复



              9楼2017-11-11 22:15
              回复



                10楼2017-11-11 22:15
                回复
                  将数据下载下来,运行代码,可以看到动量策略的年化收益率为-1%,最大回撤达到-61.8%,而反转策略的年化收益为37%,远远超过动量策略,并且最大回撤也比动量策略小很多。和大盘相比,在两者最大回撤差不多的情况下,反转策略的年化收益也远高于同期大盘的年化收益3.9%,说明中国的A股市场存在较为明显的反转效应,反转策略的实际效果要远好于动量策略。

                  其实在国外,惯性策略还是比较有效的,但在A股市场效果不好,可能和中国市场过分炒作有关。而反转策略在中国相当有效,是一个非常好的策略。建议大家可以修改程序中的一些参数,来找到最优化的反转策略。比如可以适当缩小选股范围,比如只在绩优股或者创业板股票中选取。也可以调整计算涨跌幅排序的时间,本文使用3个月,可以试试6个月、1个月。也可以缩短组合持有期。


                  11楼2017-11-11 22:17
                  回复
                    对量化有兴趣,谢谢分享


                    来自手机贴吧12楼2018-10-05 13:12
                    收起回复
                      谢谢楼主分享


                      IP属地:浙江13楼2018-12-22 16:37
                      回复
                        楼主请问为什么附件还是找不到呀?


                        IP属地:浙江14楼2018-12-22 16:46
                        回复
                          求代码


                          15楼2018-12-27 21:24
                          回复
                            求代码


                            16楼2019-02-17 19:03
                            回复
                              谢谢,想下来学习学习


                              17楼2020-01-04 20:13
                              回复