社保基金重仓股选股策略详解
创作时间:
作者:
@小白创作中心
社保基金重仓股选股策略详解
引用
1
来源
1.
https://bigquant.com/wiki/doc/DAU6u0xEty
本文介绍了一个基于社保基金持股信息的选股策略。该策略通过分析上市公司前十大流通股东中是否包含社保基金,以及社保基金的持股比例,来筛选和打分股票。文章详细介绍了策略的实现方法,并提供了具体的SQL代码。此外,还展示了策略的回测结果和相关设置。
策略介绍
这是一个基于上市公司十大股东持股信息的复杂选股策略模板。该策略可以作为一个常用的选股和线性策略模板使用。
策略流程
- 选股逻辑:选择前十大流通股东中包含社保基金的股票
- 打分:按照社保基金股东持股权重进行打分
- 仓位:根据打分和持股数量分配仓位
- 回测:设置调仓周期和买卖点等,回测查看效果
策略依据
- 稳健的投资风格:社保基金作为大型合规机构投资者,其主要目标是保值增值,且通常采取稳健的投资策略。这些基金注重长期持有,避免短期炒作,选择的是预期收益大于预期风险的优质公司。跟随社保基金的投资决策,能更好地把握这些低风险高收益的股票。
- 专业的投资决策:社保基金的投资决策基于深厚的研究和分析,投资团队通常拥有丰富的行业知识和专业能力。这意味着社保基金的持仓股票经过了严格的筛选和分析,其投资标的往往具有较强的市场竞争力和成长潜力。
- 风险分散:社保基金持有的股票通常分布在多个行业和领域,这有助于分散投资风险。跟随社保基金买入的股票,也能有效地实现投资的风险分散,从而降低单一股票或行业的波动对整体投资组合的影响。
- 稳定的现金分红:社保基金偏好大型蓝筹股,这些公司通常具有稳定的现金流和较高的分红回报。投资这些股票可以为投资者提供稳定的现金分红收益,从而实现长期的财富增值。
- 长期投资优势:社保基金的投资策略通常以长期持有为主,避免短期市场波动的干扰。这种长期投资的理念与很多普通投资者的短期操作相对立,有助于获得更为稳健的投资回报。
- 风险控制:社保基金通常会避开“黑五类”股票(如业绩不佳、负面新闻频出的公司)以及热门概念股。这种风险控制措施可以保护投资者避免那些高风险、高波动的股票,从而提升整体投资的安全边际。
策略实现
这里基于SQL的实现,相对比较复杂
SQL代码介绍:
- ssf_flag表目的为了实现给十大流通股中存在社保基金的股票增加一个标签‘1’
- ssf_pct表目的为了统计各个股票社保基金的持股比例
- ssf表目的为了联结ssf_flag和ssf_pct
- 最后添加择股条件进行择股,并将持股比例作为排序持仓依据‘score’
WITH ssf_flag AS (
SELECT
end_date as date,
instrument,
-- 计算是否存在社保基金持股的标志
CASE
WHEN SUM(CASE WHEN holder_name LIKE '%社保基金%' THEN 1 ELSE 0 END) > 0 THEN 1
ELSE 0
END AS ssf_hold_flag,
FROM cn_stock_float_shareholder_top10
GROUP BY end_date, instrument
),
ssf_pct AS (
SELECT
end_date as date,
instrument,
-- 计算社保基金持股比例
SUM(holding_pct_total) as ssh_hold_pct,
FROM cn_stock_float_shareholder_top10
WHERE holder_name LIKE '%社保基金%'
GROUP BY end_date, instrument
),
ssf AS (
SELECT
ssf_flag.date,
ssf_flag.instrument,
ssf_flag.ssf_hold_flag,
ssf_pct.ssh_hold_pct,
FROM ssf_flag
PRUNE JOIN ssf_pct USING (date, instrument)
)
SELECT
f.date, f.instrument, f.is_risk_warning, f.pe_ttm, f.float_market_cap, f.list_sector,
s.date as end_date, s.ssf_hold_flag, s.ssh_hold_pct as score -- score就是作为排序的依据,只有score最大的10只股才能够进入持仓
FROM cn_stock_prefactors as f
-- 处理时态或类似顺序数据时的常见操作是在表中查找最近的(第一个)数据,具体见数据文档
ASOF JOIN ssf as s
ON f.instrument = s.instrument
AND s.date <= f.date
QUALIFY f.pe_ttm > 0 -- pe>0
AND f.is_risk_warning = 0 -- 风险警示: 0-正常, 1-风险警示
AND f.float_market_cap > 100000000 -- 流通市值大于10亿
AND f.list_sector = 1 -- 基本信息-上市板块代码: 0-未知;1-主板;2-创业板;3-科创板;4-北交所,
AND s.ssf_hold_flag = 1 -- 十大流通股东是否有社保基金
仓位分配模块
m4 仓位分配,选定开始与结束日期参考 101 / 102 的使用介绍
数据抽取模块
m3 数据抽取,选定开始与结束日期参考101/102的使用介绍
BigTrader模块
m5 回测交易,参考101/102的使用介绍
策略回测结果
回测设置
- 时间跨度:2020-01-01~2024-08-23
- 策略执行频率:日频
- 买入价格:开盘价
- 卖出价格:收盘价
- 持股数量:10
- 排序因子:社保基金持股比例
- 筛选条件:
- 非ST
- 主板
- 非退市
- 流通市值大于10亿
- PE大于0
- 十大流通股东的名称包含社保
代码实现
https://bigquant.com/codesharev3/6f9b48bd-fb42-4914-83ff-5bfea1564c53
热门推荐
提升身体柔韧性的有效方法探讨
贷款买房需要具备哪些条件?
动态成本管理怎么实施?
美国室内装修指南,客厅风格全解析
29年过去了,《孽债》演员何在?有人去世,有人成为妈妈专业户
巾帼英雄战火洗礼 女性参战的历史演变与影响
硅油纸的六大用途,让厨房生活更便捷
从两则典型案例看清代对未成年人犯罪的处理
两人团队协作指南:从沟通到评估的全方位支持
张伯礼院士:络病理论传承创新,总结出“理论为先,循证为王”经验
AI时代,诗人危机来了吗
低血压的五大成因及应对方法
“大模型+机器人”的现状和未来,重磅综述报告来了!
盐价指数在北京发布 由此剖析食用盐和工业盐市场价格变化
绩效考核与薪酬管理方案中如何体现公平性?
“柏林病人”成世界第一例艾滋病治愈者,为何难再复制?
解读《红楼梦》:王熙凤、探春、宝钗的管理之道与现代经济学
特稿|《中国英语能力等级量表》简介
如何在家里简单地开始一项室内运动
分布式事务:二阶段、三阶段、TTC
拉黑与删除的心理学差异!
人造金刚石的三种合成工艺:高温高压法、化学气相沉积法与爆炸法
淘宝挖来的李诞,在小红书找到舒适区
皇后大道东景点:历史建筑与街景漫步
秋分节气的特点和风俗饮食有哪些
欠钱不还怎样调取对方的司法信息
非诺贝特的正确服用方法与注意事项
用环形数组实现队列(多种高级方法,由浅入深)
盐酸氨溴索可用于治疗肺炎、慢性支气管炎,医生:科学服用注意5点
IVD前沿:病毒监测平台新利器