社保基金持仓选股公式的核心逻辑,是通过通达信内置的财务数据函数提取“社保基金持股比例”字段,再结合估值、趋势、流动性等条件进行筛选,从而选出既具备机构长期关照、又处于相对合理买点的标的。公式源码如下:
pascal
{=====社保基金持仓选股公式=====}
N:=2; {社保基金持股比例下限,单位:%}
PE_MIN:=; {动态市盈率下限,通常设为}
PE_MAX:=30; {动态市盈率上限}
MA_DAYS:=60; {均线周期,用于判断中期趋势}
VOL_RATIO:=1.5; {量比下限,表示当日放量程度}
{--- 社保基金持仓比例判断(若通达信版本不支持FINANCE(45),可改用INBLOCK('社保重仓'))---}
社保持仓:=FINANCE(45)>N OR INBLOCK('重仓');
{--- 动态市盈率判断(需为正且小于上限)---}
市盈率:=DYNAINFO(39);
估值过滤:=市盈率>PE_MIN AND 市盈率<PE_MAX;
--- 股价位于均线上方,代表中期趋势未走坏 ---}
趋势过滤:=CLOSE>MA(CLOSE,MA_DAYS);
{ 当日量比大于设定值,说明有资金活跃 ---}
量比:=VOL/REF(VOL,1);
量能过滤:=量比>VOL_RIO;
{--- 组合选股信号 ---}
选股:社保持仓 AND 估值过滤 AND 趋势 AND 量能过滤;
功能说明
该公式首先判断个股是否被社保基金持有,并设定一个最低持股比例(默认2%),确保选出的股票确实有社保资金实质性介入,而非仅有零星持股。接着通过动态市盈率过滤掉亏损或估值过高的股票,避免介入高风险标的。同时要求股价保持在60日均线上方,表明中期趋势向上,这对跟随机构资金建仓有较强的安全边际。最后加入了量比条件,捕捉近期有放量迹象的个股,提高选股的短线活性。
特点- 多层过滤:将机构持仓、估值、趋势、量能四重条件叠加,减少了单一条件的误报率。
- 可调:默认参数适合稳健型投资者,您可根据风险偏好调整N值、PEMAX、MADAYS等参数,例如将N提高至5,以筛选社保重仓比例更高的股票;或将PE_MAX改为20,使组合更偏价值风格。
- 兼容性强:公式同时使用
FINANCE(45)和INBLOCK('社保重仓')作为社保持仓判断条件,即使部分通达信版本中没有`FINANCE(45函数,也会自动使用板块识别方式,保证了公式的通用性。 - 逻辑清晰:每个条件都单独定义并注释,方便后期修改和调试。
在通达信软件中,按快捷键Ctrl+F打开公式管理器,选择“条件选股公式”下的“新建”,将上述源码完整粘贴到公式编辑区。公式名称可命名为“社保持仓选股”,然后点击“确定”保存。使用时,在“选股器”中选择“条件选股”,找到该公式,设置好参数(如社保持仓比例、市盈率上限等),选择“选股范围”为沪深A股(也可指定板块),点击“执行选股”即可。系统会自动运行并输出符合条件的股票列表,您可结合K线和基本面进一步分析。
FINANCE(45)在不同通达信版本中可能对应不同字段,若提示无效或返回错误,请删除该条件,仅保留INBLOCK('社保重仓')需确保您的行情软件中确实存在“社保重仓”板块)。- 公式中的“社保基金持股比例”为最新报告期数据,存在一定滞后性,建议在定期报告公布后使用。
- 选股结果仅为静态筛选,不构成投资建议;实盘操作时建议结合大盘环境、行业地位及个股消息面综合判断。
- 若您希望优化选股精度,可进一步添加“社保基金增持”条件,但通达信基础函数中无法直接获取增减持数据,需通过扩展财务数据或自建数据表实现。







