A股威廉·欧奈尔CANSLIM七要素打分器:C最新季净利润同比≥25%、A近3年年度增长、N距250日新高≤15%、S量能放大、L相对沪深300超额强度、I机构持股、M大盘50日均线趋势,输出逐字母通过表与池内RPS百分位 | A-share William O'Neil CANSLIM 7-letter screener: quarterly earnings yoy, annual growth, 250d-high proximity, volume surge, excess relative strength vs CSI300, institutional holdings, market trend | A株ウィリアム・オニールCANSLIM7要素スクリーナー:四半期利益YoY、年間成長、250日高値接近、出来高急増、相对強度、機関保有、市場トレンド
Pro scans all 8 files and shows the line behind each finding
Scanned 9/29/2026
npx -y skills add Serennity007/awesome-stock-quant-skills --skill oneil-canslim --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Oneil Canslim?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/serennity007-oneil-canslim)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: oneil-canslim
description: A股威廉·欧奈尔CANSLIM七要素打分器:C最新季净利润同比≥25%、A近3年年度增长、N距250日新高≤15%、S量能放大、L相对沪深300超额强度、I机构持股、M大盘50日均线趋势,输出逐字母通过表与池内RPS百分位 | A-share William O'Neil CANSLIM 7-letter screener: quarterly earnings yoy, annual growth, 250d-high proximity, volume surge, excess relative strength vs CSI300, institutional holdings, market trend | A株ウィリアム・オニールCANSLIM7要素スクリーナー:四半期利益YoY、年間成長、250日高値接近、出来高急増、相对強度、機関保有、市場トレンド
author: Serennity007
license: MIT
---
# 🚀 威廉·欧奈尔 CANSLIM|七要素逐项体检 A 股成长动量股
> **"历史上的大牛股,在暴涨之前都有可以识别的共同特征。"**
本技能把威廉·欧奈尔(William O'Neil,《投资者商报》创始人,《笑傲股市》作者)的 CANSLIM 体系机械化到 A 股:C(当季收益加速)、A(年度增长)、N(新高)、S(量能)、L(相对强度领导者)、I(机构认可)、M(市场方向),逐字母给出通过/未通过与得分。CANSLIM 是成长动量框架——与价值类 skill(茅台们得高分的那些)互补:**茅台在本框架下低分是特性不是 bug**。本实现基于新浪/东财 A 股数据源原创编写,与 `skills/` 收录区的美股 CANSLIM 实现互不重复。
## 七要素打分表(满分 100)
| 字母 | 含义 | 量化标准 | 权重 |
|---|---|---|---|
| C | 当季收益 | 最新报告期净利润同比 ≥25% 满分 | 20 |
| A | 年度增长 | 近 3 年净利润增速均值 ≥25% 满分 | 15 |
| N | 新高 | 收盘价距 250 日最高收盘 ≤15% 满分 | 15 |
| S | 供需 | 近 5 日均量/60 日均量 ≥1.5 满分 | 10 |
| L | 领导者 | 120 日涨幅相对沪深300超额 ≥30pp 满分 | 20 |
| I | 机构认可 | 机构持股占流通股比例 ≥10% 满分;无数据给中性 5 分 | 10 |
| M | 市场方向 | 沪深300 收盘 > 50 日均线(全池一致,失败全池扣分) | 10 |
判定线:**≥70 且 C/A/N/L 至少四项成立 → CANSLIM 候选**(脚本输出 `passed_letters` 列);**50–69 观察**;**<50 不符合**。欧奈尔纪律:M 失败(大盘在 50 日线下方)时**不做任何新买入**——这正是全池统一扣 10 分的含义。
## 使用方法
```bash
pip install akshare pandas
# 默认用沪深300成分股作为股票池(附带池内 RPS 百分位列)
python scripts/screen.py --pool hs300 --top 20 --out result.csv
# 自定义股票池(推荐先小样本验证)
python scripts/screen.py --codes 600519,300760,002415 --out result.csv
```
参数说明:
- `--pool`: 股票池,目前支持 `hs300`(沪深300)。
- `--codes`: 逗号分隔的自定义股票代码,优先级高于 `--pool`。
- `--top`: 终端展示前 N 名(默认 20)。
- `--out`: CSV 输出路径(默认 `canslim_result.csv`)。
- `--sleep`: 每只股票间隔秒数(默认 0.3,用于防接口限流)。
## 输出字段速览
| 字段 | 含义 |
|---|---|
| `code` / `name` / `industry` | 股票代码 / 简称 / 所处行业 |
| `total` / `passed_letters` | 综合得分(满分 100)/ 通过的字母清单 |
| `C_score` / `quarter_yoy` | C 得分 / 最新报告期净利润同比(%) |
| `A_score` / `annual_growth_3y` | A 得分 / 近 3 年增速均值(%) |
| `N_score` / `dist_from_250d_high` | N 得分 / 距 250 日新高回撤(%) |
| `S_score` / `vol_ratio_5_60` | S 得分 / 量比 |
| `L_score` / `excess_ret_120d` / `rps_percentile` | L 得分 / 120 日超额收益(pp)/ 池内 RPS 百分位 |
| `I_score` / `inst_hold_ratio` | I 得分 / 机构持股占流通股比例 |
| `M_score` | M 得分(全池一致) |
| `close` / `a_source` / `note` / `data_date` | 现价 / A 维度数据来源 / 备注 / 数据日期 |
## 分析流程(配合 AI 使用)
1. **先看 M**:大盘在 50 日线下方时,按欧奈尔纪律整批候选都不该买入——先出后进。
2. **跑初筛**:运行 `screen.py` 得到候选名单与逐字母通过表。
3. **读原则**:对照 `references/oneil_canslim_rules.md` 复核"大牛股的共同特征",尤其是**带柄杯形态**与**卖出纪律**(欧奈尔 7% 止损铁律)两个脚本无法量化的环节。
4. **与价值框架交叉**:CANSLIM 候选与 buffett/danbin 类候选几乎不重叠——两份名单对照使用,决定你要做动量还是做价值。
## 实测参考(2026-09-28,小样 3 只)
当日沪深300位于 50 日线下方(M=0,全池扣 10 分):海康威视 48 分 [C,N,L](季同比 39.6%、距新高 15.4%)、贵州茅台 18 分(季同比 -1.9%——价值股在动量框架下低分,符合 CANSLIM 的选股意图)、迈瑞医疗 10 分。小样实测见 `canslim_test_result.csv`。
## 数据来源与降级策略
- 个股日线来自新浪(前复权,供新高/量能/动量计算);季度业绩与机构持股来自东财业绩报表/机构持股接口(池级一次调用);大盘趋势来自新浪指数日线。
- 东财机构持股接口无数据的报告期,I 维度自动给中性 5 分并在 `note` 注明。
- 年度增长维度东财财务指标失败时降级新浪利润表现算。
- 脚本启动时默认禁用系统代理;所有网络调用带 3 次指数退避重试。
## 配套文件
- `references/oneil_canslim_rules.md` — 欧奈尔核心投资思想:CANSLIM 七要素详解、带柄杯形态、买卖纪律与 7% 止损铁律。
## 免责声明
本技能仅供学习研究,不构成投资建议。CANSLIM 是高换手的成长动量体系,历史形态不代表未来。投资决策应建立在独立研究与自身风险承受能力之上。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!