20190919:多因子选股模型-打分法技术路线梳理

 
一、数据预处理
1、 因子分类,按因子类别提取基础数据( 多因子选股模型的因子梳理(t默认取1))
(1)估值因子:行情数据-每日指标
  • 市盈率:
    • 市盈率(TTM):pe_ttm
    • 市盈率(总市值/净利润):pe
  • 市净率:
    • 市净率(总市值/净资产):pb
  • 市销率:
    • 市销率(TTM):ps_ttm
    • 市销率:ps
(2)成长因子:财务数据
  • 业绩快报接口
    • 净资产增长率(比年初增长率:归属于母公司股东的每股净资产,growth_bps)
    • 股东权益增长率(比年初增长率:归属母公司的股东权益,yoy_equity)
  • 财务指标数据接口
    • 营业收入同比增长率(%)(单季度)(q_sales_yoy)
    • 营业收入环比增长率(%)(单季度)(q_sales_qoq)
    • 营业利润同比增长率(%)(单季度)(q_op_yoy)
    • 营业利润环比增长率(%)(单季度)(q_op_qoq)
    • 净利润同比增长率(%)(单季度)(q_profit_yoy)
    • 净利润环比增长率(%)(单季度)(q_profit_qoq)
    • 归属母公司股东的净利润同比增长率(%)(单季度)(q_netprofit_yoy)
    • 归属母公司股东的净利润环比增长率(%)(单季度)(q_netprofit_qoq)
    • 净资产同比增长率(equity_yoy)
    • 基本每股收益同比增长率(%)(basic_eps_yoy)
    • 稀释每股收益同比增长率(%)(dt_eps_yoy)
    • 每股经营活动产生的现金流量净额同比增长率(%)(cfps_yoy)
(3)盈利能力因子:财务数据-财务指标数据接口
  • 销售净利率:销售净利率(单季度)(q_netprofit_margin)、销售净利率(netprofit_margin)
  • 毛利率:销售毛利率(单季度)(q_gsprofit_margin)、销售毛利率(gsprofit_margin)
  • 净资产收益率:净资产收益率(单季度)(q_roe)、净资产收益率(roe)
  • 资产收益率:总资产报酬率(roa)、年化总资产报酬率(roa2_yearly)
  • 营业费用比例:营业总成本/营业总收入(gc_of_gr)、营业总成本/营业总收入(单季度)(q_gc_of_gr)
  • 财务费用比例:财务费用/营业总收入(finaexp_of_gr)、财务费用/营业总收入 (单季度)(q_finaexp_to_gr)
  • 息税前利润与营业总收入比:(ebit_of_gr)
(4)动量反转因子
  • 前t天涨跌幅:(pct_chg_t)
(5)交投因子:前t天换手率(turnover_rate_t)、量比(volume_ratio_t)等;
(6)规模因子:行情数据-每日指标接口
  • 流通市值:circ_mv
  • 总市值:total_mv
  • 流通股本:float_share
  • 总股本:total_share
(7)股价波动因子:
  • 前期股价振幅:股票开盘后的当日最高价和最低价之间的差的绝对值与前日收盘价的百分比,即abs(high_0-low_0)/close_t
(8)目标label:close_0/close_t-1
 
2、 数据缺失情况
        通过tushare只能得到部分因子,成长和盈利能力因子,这三类最基础且重要的因子缺失严重。经过分析,得到27个因子,具体如下:
(1)估值类:
  • 动态市盈率 'pe_ttm',
  • 静态市盈率 'pe',
  • 市净率'pb',
  • 动态市销率'ps_ttm',
  • 静态市销率'ps';
(2)成长类:
  • 营业收入同比增长率(%)(单季度) 'q_sales_yoy',
  • 营业利润环比增长率(%)(单季度) 'q_op_qoq',
  • 净资产同比增长率 'equity_yoy',
  • 基本每股收益同比增长率(%) 'basic_eps_yoy',
  • 稀释每股收益同比增长率(%) 'dt_eps_yoy',
  • 每股经营活动产生的现金流量净额同比增长率(%) 'cfps_yoy',
(3)盈利能力类:
  • 销售净利率 'netprofit_margin',
  • 净资产收益率(单季度) 'q_roe',
  • 净资产收益率 'roe',
  • 总资产报酬率 'roa',
  • 年化总资产报酬率 'roa2_yearly',
  • 营业总成本/营业总收入 'gc_of_gr',
  • 财务费用/营业总收入 'finaexp_of_gr',
  • 息税前利润与营业总收入比 'ebit_of_gr',
(4)规模类:
  • 流通市值 'circ_mv',
  • 总市值 'total_mv',
  • 流通股本 'float_share',
  • 总股本 'total_share',
(5)动量反转:
  • 涨跌幅 'pct_chg_0',
(6)交投因子:
  • 换手率 'turnover_rate_0',
  • 量比'volume_ratio_0',
(7)股价波动因子:
  • 前期股价振幅 '(high_0-low_0)/close_0'
 
3、离群值处理
          对数据进行标准化之前,我们需要先对离群值进行处理。因为过大或过小的数据可能会影响到分析结果,尤其是在做回归的时候,离群值会严重影响因子和收益率之间的相关性估计结果。 离群值的处理方法是将其调整至上下限,其中上下限由离群值判断的标准给出。离群值的判断标准有三种,分别为  MAD 、  、百分位法,主要思路是先界定上下限,再将超过界限的离群值调整至上下限。比较常用的是 MAD 法。
基于MAD的中心距离计算法: 基于绝对离差中位数(Median Absolute Deviation, MAD)的中心距离计算法
(1)计算所有观察点的中位数median(X);
(2)计算每个观察点与中位数的绝对偏差值abs(X-median(X));
(3)计算(2)中的绝对偏差值的中位数,即MAD = median(abs(X - median(X)));
(4)将(2)得到的值除以(3)的值,得到一组基于MAD的所有观察点的离中心的距离值abs(X - median(X))/MAD.
 
 
4、数据标准化
z-score标准化
 
 
 

猜你喜欢

转载自blog.csdn.net/weixin_38192254/article/details/111627486