Python量化生意业务学习——Part6:多因子选股策略实战(1) ...

打印 上一主题 下一主题

主题 951|帖子 951|积分 2853

在上一节中,我们学习了基于IC值的多因子计算方法,说白了就是先选择我们认为与股票收益率影响大的因子(如市盈率、净资产收益率、净利润增长率等),之后计算各个因子与股票收益率之间的相关系数,选择相关系数大的因子进行加权得到新的因子,之后求得新因子与收益率之间的相关系数,假如相关系数变大,这说明新因子的预测准确率更高,我们可以用新的因子作为我们预测的标的。
为了简化,我们先假设所有因子的相关系数都雷同,相称于对所有因子进行等权重相加,看一下最终效果怎样。
实战:基于发展因子的模子测试

发展模子是一种以公司未来发展为基础的选股模子。具体可以到场Philip A.Fisher(费雪)的著作《怎样选择发展股》。在现实操纵中,发展型投资通常是在对经济周期和行业景气分析的基础上,联合股票基本面情况,包罗收益率和增长率等属性分析,来评估和选择发展型股票。
在量化形式上,发展型投资主要是通过ROE(净资产收益率=资产净利率×权益乘数)、ROA(资产回报率= 税后净利润/总资产)、ROIC(资本回报率= (净收入 - 税收) / (股东权益+有息负债))、业务收入增长率、主业务务利润率等参数来挖掘发展性相对更高的股票。
模子说明

以资本回报率-净利润增长率两个指标来构建发展模子。根据我们对各项指标的梳理,现在将资本回报率列为质量指标,另外构建如下发展因子指标的组合因子。
    发展因子   stk_get_finance_deriv_pt()函数中对应字段名         息税前利润增长率   息税前收益增长率=(本期息税前利润 – 上期息税前利润) / 上期息税前利润 (ebit_ps:每股息税前利润)       净利润同比增长率   net_prof_yoy       业务利润同比增长率   oper_prof_yoy       总资产同比增长率   ttl_asset_yoy       经营运动产生的现金流量净额同比增长率   net_cf_oper_yoy       净资产同比增长率   net_asset_yoy       基本每股收益同比增长率   eps_bas_yoy       净资产收益率同比增长率(摊薄)   roe_yoy       利润总额同比增长率   ttl_prof_yoy  
  1. import numpy as np
  2. import pandas as pd
  3. import gm.api as gm
  4. import datetime
  5. from dateutil.relativedelta import relativedelta
  6. from sklearn.preprocessing import MinMaxScaler
  7. gm.set_token("自己的token码")  #输入自己的token
  8. # 获取沪深300成分股的代码,存储到HS300_symbol_list中(list格式)
  9. index = "SHSE.000300"
  10. HS300_array = gm.stk_get_index_constituents(index='SHSE.000300') #获取沪深300成分股数据
  11. """
  12. 按照股票代码从大到小进行排序,注意下面这句非常重要,因为在实际使用过程中我发现,gm.stk_get_finance_deriv()和参数symbols=HS300_symbol_list中的顺序
  13. 并不一样,这回导致我们采用for循环中得到的参数数据和采用gm.stk_get_finance_deriv()顺序完全不同,所以我们先对股票代码进行排序,以控制for循环中返回的参数数据
  14. 之后我们再把gm.stk_get_finance_deriv()中得到的顺序同样进行从大到小排序,才能保持两组数据完全一致。
  15. """
  16. HS300_array = HS300_array.sort_values(["symbol"],ascending=False)  # 按照股票代码从大到小排序
  17. HS300_symbol_array = HS300_array['symbol'].values
  18. HS300_symbol_list = list(HS300_symbol_array) # 转换为list类型才能进行后续处理
  19. # 采用pd.DataFrame建立二维数据表,初始化数据表,后续可以将数据存储到表中
  20. factor_matrix = pd.DataFrame([])
  21. factor_matrix["symbol"] = HS300_symbol_list
  22. # factor_matrix["earnings before interest and tax"] = -999    # 息税前收
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表