论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
分布式数据库
›
Python量化生意业务学习——Part6:多因子选股策略实战 ...
Python量化生意业务学习——Part6:多因子选股策略实战(1) ...
农妇山泉一亩田
论坛元老
|
2024-6-11 09:49:54
|
显示全部楼层
|
阅读模式
楼主
主题
1604
|
帖子
1604
|
积分
4812
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
在上一节中,我们学习了基于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
import numpy as np
import pandas as pd
import gm.api as gm
import datetime
from dateutil.relativedelta import relativedelta
from sklearn.preprocessing import MinMaxScaler
gm.set_token("自己的token码") #输入自己的token
# 获取沪深300成分股的代码,存储到HS300_symbol_list中(list格式)
index = "SHSE.000300"
HS300_array = gm.stk_get_index_constituents(index='SHSE.000300') #获取沪深300成分股数据
"""
按照股票代码从大到小进行排序,注意下面这句非常重要,因为在实际使用过程中我发现,gm.stk_get_finance_deriv()和参数symbols=HS300_symbol_list中的顺序
并不一样,这回导致我们采用for循环中得到的参数数据和采用gm.stk_get_finance_deriv()顺序完全不同,所以我们先对股票代码进行排序,以控制for循环中返回的参数数据
之后我们再把gm.stk_get_finance_deriv()中得到的顺序同样进行从大到小排序,才能保持两组数据完全一致。
"""
HS300_array = HS300_array.sort_values(["symbol"],ascending=False) # 按照股票代码从大到小排序
HS300_symbol_array = HS300_array['symbol'].values
HS300_symbol_list = list(HS300_symbol_array) # 转换为list类型才能进行后续处理
# 采用pd.DataFrame建立二维数据表,初始化数据表,后续可以将数据存储到表中
factor_matrix = pd.DataFrame([])
factor_matrix["symbol"] = HS300_symbol_list
# factor_matrix["earnings before interest and tax"] = -999 # 息税前收
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
农妇山泉一亩田
论坛元老
这个人很懒什么都没写!
楼主热帖
厉害了,腾讯云云巢荣获信通院“云原生 ...
2022 春节抖音视频红包系统设计与实现 ...
数据库概述
【Redis高手修炼之路】②Redis的五大数 ...
ABP Framework 5.3.0 版本新增功能和变 ...
OpenHarmony和HarmonyOS有什么区别?这 ...
原型设计工具比较及实践--滴爱音乐 ...
多线程(一)-两种创建线程的方式 ...
LoRa模块无线收发通信技术详解 ...
体系集成商已死,有事烧纸:浙江着名集 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
Postrge-SQL技术社区
快速回复
返回顶部
返回列表