A股量化策略回测实战从行情数据到绩效评估第 17 篇盈利质量策略前言第 16 篇选了便宜的股票但便宜不等于好。本篇看盈利质量用hicw真实的盈利能力数据ROE、毛利率、净利率挑真赚钱、赚得久的公司。盈利质量是价值因子的验真环节——避开价值陷阱的关键。一、接口原始字段梳理1hicw/yl盈利能力字段来自官网说明零编造共 12 个关键是字段含义dm, mc代码、名称jzcsy净资产收益率ROEmll毛利率jll净利率jlr净利润mgsy每股收益yysr营业收入y, q, yq年、季、年月标识路径{BASE}/hicw/yl/{licence}可按y/q取指定报告期。本篇用jzcsyROE、mll毛利率、jll净利率做质量分。二、自研衍生统计指标ROE 排名rank(jzcsy)股东回报能力越高越好。毛利/净利质量rank(mll)、rank(jll)毛利率高护城河强净利率高费用控制好。质量综合quality z(ROE) z(毛利) z(净利)z-score 标准化后相加纯计算。剔除异常jzcsy0或缺失的标的剔除。三、数据表设计CREATETABLEIFNOTEXISTSprofit_quality(yqTEXTNOTNULL,dmTEXTNOTNULL,roeREAL,mllREAL,jllREAL,qualityREAL,PRIMARYKEY(yq,dm));四、完整代码4.1 盈利质量打分z-scoreimportsqlite3,json,time,math BASEhttps://api.biyingapi.comLICENCEYOUR_LICENCE_HEREDB_PATHbacktest.dbdefbiying_api_get_retry(url,timeout15,max_retry3):importurllib.request lastNoneforiinrange(max_retry):try:requrllib.request.Request(url,headers{User-Agent:Mozilla/5.0})withurllib.request.urlopen(req,timeouttimeout)asr:returnjson.loads(r.read().decode(utf-8,ignore))exceptExceptionase:lasteifimax_retry-1:time.sleep(1i)raiselastdeffetch_yl(yNone,qNone):urlf{BASE}/hicw/yl/{LICENCE}ify:urlf?y{y}(fq{q}ifqelse)databiying_api_get_retry(url)returndataifisinstance(data,list)elsedata.get(data,[])def_zscore(vals):纯 Python z-score减均值除标准差。nlen(vals)ifn2:return[0.0]*n msum(vals)/n varsum((x-m)**2forxinvals)/(n-1)sdmath.sqrt(var)ifvar0else1.0return[(x-m)/sdforxinvals]defquality_score(rows):ROE毛利净利 三因子 z-score 求和纯计算。roe[float(r[jzcsy])forrinrowsifr.get(jzcsy)]mll[float(r[mll])forrinrowsifr.get(mll)]jll[float(r[jll])forrinrowsifr.get(jll)]zr,zm,zj_zscore(roe),_zscore(mll),_zscore(jll)quality{}idx0forrinrows:ifr.get(jzcsy)andr.get(mll)andr.get(jll):quality[r[dm]]zr[idx]zm[idx]zj[idx]idx1returnqualitydefdemo_quality():rows[{dm:A,jzcsy:20.0,mll:50.0,jll:15.0},{dm:B,jzcsy:8.0,mll:30.0,jll:5.0},{dm:C,jzcsy:25.0,mll:60.0,jll:20.0},]print(质量分:,quality_score(rows))if__name____main__:demo_quality()五、关键业务说明ROE 是核心ROE 高且稳定 公司用股东钱赚钱能力强是巴菲特最看重的指标但突变高 ROE 可能来自高杠杆需结合负债率第 19 篇综合打分纳入。毛利率看护城河高毛利如白酒、软件说明有定价权毛利低如代工则靠规模。z-score 让不同量纲可比ROE(%)、毛利(%)、净利(%) 量纲接近但一般因子如营收增速量纲不同z-score 是因子合成的标准做法。报告期错配财务按季披露回测要用可得的最近报告期避免用到未来财报前视。六、拓展练习把质量分与第 16 篇价值分结合便宜且优质GARP 思路。加ROE 稳定性用多期 ROE 标准差选稳定高 ROE非一次性暴利。接第 25 篇组合做季度调仓的高质量组合。用yysr营收增速做质量成长双因子过渡到第 18 篇。下篇预告系列第 18 篇成长策略—— 质量是现在赚不赚成长是将来赚得多不多。下一篇用hicw真实的成长能力数据营收/利润增速做高成长选股。免责申明本篇全部代码与回测结果仅作为量化编程与策略研究的学习演示所有回测均为方法演示不构成任何投资建议。市场有风险投资需谨慎。
阅读完成 · 觉得有帮助?