canslim-trader
CANSLIM 交易员:按七因子(C/A/N/S/L/I/M)给 A 股打分排序,产出买入 / 卖出 / 融券做空信号,并在 A 股 T+1 与两融约束下用 `ptrade` 模拟盘 CLI 走完「扫描 → 建议 → 计划 → 下单 → 结算 → 风控 → 平仓 → 台账」闭环。需要 CANSLIM…
Skill by hatsuyuki0103
Chalk Labs
Need help deploying canslim-trader?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hatsuyuki0103-canslim-trader
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/canslim-trader
What's inside
- Skill name
canslim-trader- Description
- CANSLIM 交易员:按七因子(C/A/N/S/L/I/M)给 A 股打分排序,产出买入 / 卖出 / 融券做空信号,并在 A 股 T+1 与两融约束下用 `ptrade` 模拟盘 CLI 走完「扫描 → 建议 → 计划 → 下单 → 结算 → 风控 → 平仓 → 台账」闭环。需要 CANSLIM 选股、买卖点判定或模拟盘演练时使用。
- License
- MIT
- Instructions
- 286 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# CANSLIM 交易员(canslim-trader)
> 可选能力:本技能引用的可选工具(DSH 原生 `ralph` 工具、官方团队九工具、`workflow`、`subagent`/`subagent_fork`)可能在当前 profile 未挂载或被预设停用;探测方式与四级降级阶梯见本包根目录 `docs/capability-matrix.md`(技能目录上两级:`../../docs/capability-matrix.md`)。
本技能把 **CANSLIM 七因子选股口径** 与 **`ptrade` 模拟盘** 绑成一条可验证的流水线。口径真源是 `ptrade` 仓库的 `INTERFACES.md`:§6.1(七因子打分)/ §6.2(信号判定顺序)/ §2(阈值配置)/ §7(CLI 契约);`ptrade` 同时是该接口的实现。技能内任何数值与实现冲突时,**以 `INTERFACES.md` 与 `ptrade/strategy.py` 的实际阈值为准**,并同步本文件。
## 何时用
- 想让一批 A 股按 CANSLIM 口径**打分、排序、出买入候选**(强票 / 弱票对照);
- 想在模拟盘里验证「七因子 → 信号 → 交易计划 → 成交 → 结算 → 风控 → 平仓」的完整闭环;
- 想复现某个历史交易日(`--asof`)的选股结论,或核对账户台账(`ledger` / `status`);
- 想演练**融资买入 / 融券卖出**在 T+1、保证金比例与维持担保比例约束下的真实行为,且不承担真金白银风险;
- 想给已持仓做**止损 / 止盈 / 破位离场**的机械化判定。
## 何时不用
- **真实资金实盘下单**:`ptrade` 是本地模拟撮合器,不含任何券商通道;要实盘请走券商终端,并自行承担全部风险。
- **日内 / 高频 / T+0 策略**:本包按日线 + 日频结算建模,A 股当日买入不可当日卖出(见「A 股 T+1 约束」),不存在日内回转口径。
- **纯基本面研究或宏观判断**:本技能产出的是「可执行信号 + 交易计划」,不是投研报告;需要定性研究请用别的工具。
- **数据缺失却要求最新结论**:`--offline` 只读本地缓存,缺数据就如实报错;不得用记忆里的数字顶替行情。
- **需要保证收益**:任何打分与信号都是机械规则,不构成收益承诺。
## 前置检查(开工前 30 秒)
1. **`ptrade` 是否可用**:`python -m ptrade --help` 能跑通 → 包已装(Python ≥ 3.11)。
**不可用时先安装**(`ptrade` 是独立发布的 Python 包,不随本插件分发):
```sh
pip install git+https://github.com/hatsuyuki0103/ptrade
# 或从 Releases 下载 wheel:https://github.com/hatsuyuki0103/ptrade/releases
```
首次使用若需要 `--offline`(离线夹具),在 `ptrade` 仓库跑一次
`python tools/fetch-fixtures.py`(从 release 下载夹具与剧本)。
2. **数据根**(后文记作 `<root>`):按 `--root <path>` → `PTRADE_HOME` → 源码检出根 → `~/.ptrade` 依次解析。
三个中最常用的是显式指定:`python -m ptrade ... --root <path>`;想固定一个工作目录就设 `PTRADE_HOME`。
账户状态、台账、缓存、图表产物都落在 `<root>` 下。
3. **配置**:`<root>/config.json` 存在则覆盖默认阈值,缺失字段回落到默认值(下表默认值即 `INTERFACES.md` §2);
4. **三条铁律**:① `--offline` 下**绝不联网**;② 任何一单先 `plan` 后 `order`;③ 每笔成交后必须 `settle` 到次一交易日才能再动同一持仓。
## CANSLIM 七因子打分口径
子分先归一到 **0-100**,再按权重加权求和;**缺失数据 → 该因子 50 分(中性)** 并在 `risks` 标注 `"<因子>数据缺失"`。权重和 = 1.0。
| 因子 | 含义 | 权重 | 主数据源 | 打分规则(与 `strategy.py` 一致) |
|---|---|---|---|---|
| **C** | 当季盈利 | 0.18 | `quarterly_report(最近报告期).net_profit_yoy` | `>=100%`→100;`>=50%`→90;`>=30%`→80;`>=20%`→70;`>=10%`→55;`>=0`→40;`<0`→15。**加速加成**:本季增速 > 上季增速 → 得分 × `c_accel_bonus`(默认 1.25,上限 100) |
| **A** | 年度盈利 | 0.16 | `fin_indicator(code)` 年度 `net_profit_yoy` / `roe` | 取最近 3 个年报,每年映射:`>=50`→100;`>=25`→85;`>=15`→70;`>=5`→55;`>=0`→40;`<0`→20;`roe >= 17%` 该年额外 +10(上限 100);三年取均值 |
| **N** | 新事物(新高) | 0.14 | `daily()` 250 日区间位置 + 量能 | 收盘 ≥ 250 日最高 × 0.98(创新高)→100;距高点 `<=5%`→85;`<=15%`→65;`<=30%`→45;否则 25。**创新高且成交量 > 50 日均量 ×1.5 → 取 `max(score, 90)`** |
| **S** | 供给(流通盘 + 量能) | 0.12 | `spot()` 的 `float_mv` / `turnover`;`holders().holders_chg_pct` | 流通市值:`<50 亿`→80;`50-200 亿`→90;`200-500 亿`→75;`500-1000 亿`→60;`>=1000 亿`→45。换手率 `3%-15%`→+10;股东户数**减少**(筹码集中)→+10,增加 →−10;上限 100、下限 0 |
| **L** | 龙头 / 落后(相对强度) | 0.16 | `daily()` 计算 RS = 个股近 6 月涨幅 − 指数近 6 月涨幅 | 行业内(`industry_constituents`)RS 百分位:前 10%→100;前 25%→85;前 50%→65;前 75%→45;后 25%→25。行业取不到 → 绝对 RS 分档:`>30%`→90;`>15%`→75;`>0`→60;`>-15%`→40;否则 20 |
| **I** | 机构认同度 | 0.12 | `top_holders()` 机构合计持股比例与环比变化 | 合计持股 `10%-60%`→85;`60%-80%`→70;`>80%`(过挤)→55;`3%-10%`→60;`<3%`→35;机构数/持股环比**增加** → +10,减少 → −10;上限 100、下限 0 |
| **M** | 市场方向 | 0.12 | `market_breadth()` | 基础 20 分;指数在 50 日线上 +20、200 日线上 +20;指数 20 日涨幅 `>5%`→+25,`>0`→+15,`>-5%`→+5,否则 0;涨跌家数比 `>2`→+20,`>1`→+12,`>=0.5`→+5,否则 0;涨停家数 `>50`→+15,`>=20`→+8;上限 100 |
`total` = Σ(子分 × 权重),取值 0-100;M 因子不随个股变化(同交易日共用,内部缓存)。
## 买入信号
判定**顺序敏感、先命中先返回**(与 `strategy.py` 一致):
1. `total <= short_threshold`(默认 40)→ `short`(做空候选,见下节)
2. `total >= buy_threshold`(默认 75)**且** `M >= 50` **且** `L >= 60` → `buy`
3. `total >= buy_threshold` 但 `M < 50` 或 `L < 60` → `watch`(原因写进 `reasons`:市场方向或相对强度不达标)
4. `total >= 50` → `watch`
5. 其他 → `avoid`
**买入前置条件(缺一不可)**:`M >= 50`(市场方向不逆风)+ `L >= 60`(相对强度在行业前 50% 内)。CANSLIM 里 M 与 L 是否决项——个股再好,市场下跌或个股落后,就不买。
建仓纪律:
- `plan` 先把推荐转成计划(`action ∈ {open_long, add_long, open_short, close_long, close_short, hold, watch}`——做多与做空的加/平动作齐全),**不落单**;
- **单票仓位上限**:`(多头市值 + 融券市值) / 净资产 <= max_position_pct`(默认 0.20,即单票 ≤ **净资产**的 20%)——分母是**净资产,不是总资产**:总资产含融券券款与融资买入形成的市值,杠杆下随开仓自动放大,用它当分母会让「单票 20%」越加杠杆越松,风控形同虚设(`INTERFACES.md` §5 强约束 v2 裁决);
- 同时持仓数 ≤ `max_positions`(默认 5);总敞口 ≤ `max_gross_exposure`(默认 2.0);
- 数量:`qty > 0` 且 `qty % 100 == 0`,否则 `INVALID_LOT`;
- 涨停(`price >= limit_up`)不可买 → `LIMIT_UP_NO_BUY`;停牌 → `SUSPENDED`;资金不足 → `INSUFFICIENT_CASH`。
## 卖出信号与止损
按下列次序先命中先执行:
1. **−7% 止损**:相对成本价跌幅 `<= stop_loss_pct`(默认 `-0.07`)→ 无条件平仓(`close`),**不加仓、不摊薄**;
2. **跌破均线**:收盘跌破 50 日均线 → 减半或清仓(中期趋势破坏);跌破 200 日均线 → 清仓(破位即离场);
3. **连续放量下跌**:连续 3 个交易日下跌且每日成交量 > 50 日均量 → 清仓(放量杀跌,供给涌出);
4. **止盈**:浮盈 `>= take_profit_pct`(默认 0.25)→ 分批止盈(先减半,余仓用移动止损保护);
5. **信号退化**:`total < 50`(`avoid`)或 `<= 40`(`short`)→ 平多。
执行:`python -m ptrade close --code 600519 [--ratio 1.0]`;`--ratio` 支持部分平仓。跌停(`price <= limit_down`)不可卖 → `LIMIT_DOWN_NO_SELL`。
## 做空(融券)信号
**做多与做空是两条独立口径,不得互相推断**:`buy` / `watch` 属多头;`short` 只在 `total <= short_threshold`(默认 40)时给出——「分数不高」不等于「可以做空」。
做空前置条件(缺一不可,任何一条不满足就放弃该票):
1. **仅两融标的可融券做空**:`ds.is_short_target(code)` 为真,否则 `NOT_SHORT_TARGET`(融资标的 ≠ 融券标的,金融股/次新股常只可融资);
2. **保证金空间充足**:融券保证金比例 `margin_ratio_short`(默认 1.00 = 100%)所需额度可用,否则 `INSUFFICIENT_MARGIN_SPACE`;
3. **杠杆闸(v3 新增)**:开仓后必须同时满足 `leverage = total_debt / net_assets <= max_leverage`(默认 2.0)**且** `maintenance_ratio >= 1.30`,否则拒单 → `LEVERAGE_LIMIT`(防「开仓即低于平仓线」);
4. **券源约束**:单票可融券量 ≤ 该股流通股本 × `short_source_limit_ratio`(默认 2%),超限 → `SHORT_SOURCE_LIMIT`;
5. **敞口约束**:融券市值 / 净资产 ≤ `max_short_exposure`(默认 0.50);总敞口 ≤ `max_gross_exposure`(默认 2.0);
6. **担保比例约束**:维持担保比例 ≥ 平仓线(默认 1.30 = 130%),低于警戒线 1.50 后停止加仓,触发平仓线后 `forced_liquidation` 只允许减仓(拒 `SHORT_SELL`/`BUY`/`MARGIN_BUY` → `BELOW_MAINTENANCE`)。
- 做空平仓 = **买券还券**(`BUY_TO_COVER`),同样受 T+1 与券源约束;`close` 会先买券还券,再卖券还款 / 卖出;
- 成本:融券费率 `lending_rate_annual`(默认 8%/年)、融资利率 `financing_rate_annual`(默认 6.5%/年)按日计息——做空持仓要把券息算进成本,`settle` 时入账;
- 费用:佣金(双边,`max(额 × 0.00025, 5)`)、印花税 0.0005(卖出方向)、过户费 0.00001(沪深双边)、市价单滑点 5bp。
## 模拟盘玩法(CLI 闭环)
按顺序复制执行(真源:`INTERFACES.md` §7)。打分示例用 `600519`(强票)/`002594`(中性)/`000001`(弱票),**交易示例用低价票 `601398`**(工商银行 ≈ 7.02 元)——高价票在 50 万账户里一手就超单票上限。下列命令均已在 `--offline` + 夹具下**逐条实跑,退出码全为 0**:
```sh
# 0) 初始化账户:默认 50 万现金;--reset 重置
python -m ptrade init --cash 500000
# 1) 查看账户状态(快照)
python -m ptrade status --json
# 2) 同步行情 / 财务数据(--offline 只读本地缓存,绝不联网)
# ⚠️ 多代码必须加引号!Windows PowerShell 会把裸写的逗号当数组运算符、把 002594/000001 当数值 → 丢前导零From hatsuyuki0103/oh-my-deepseek-harness, MIT.
More from hatsuyuki0103/oh-my-deepseek-harness
- 0.616score
ralplan
hatsuyuki0103
共识规划:Planner→Architect→Critic 顺序子代理审查循环 + RALPLAN-DR 结构化审议,产出 .omx/plans 下的 PRD 与测试规格。用户说「ralplan / consensus plan / 先出共识方案」或方案需要架构与测试形态审查时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
plan
hatsuyuki0103
战略规划:按请求具体度自动选择「访谈澄清」或「直接规划」,支持共识模式(Planner→Architect→Critic 循环 + RALPLAN-DR 结构化审议)与评审模式(对已有计划的 Critic 评估)。用户说「plan this / 帮我规划 / let's plan」或想先规划再实现时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
autopilot
hatsuyuki0103
严格自主交付循环:deep-interview → ralplan → ultragoal(默认组队,Agent Teams 优先)→ code-review → ultraqa,闸不干净自动回环。用户说「autopilot / build me / 全自动 / handle it…
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
code-review
hatsuyuki0103
全面代码评审:code-reviewer + architect 双独立通道并行评审,严重度评级 + 架构状态(CLEAR/WATCH/BLOCK)+ 确定性合入门禁。用户说「review this code / code review / 帮我审代码」或合入 PR 前使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
deep-interview
hatsuyuki0103
Socratic 深度访谈:在规划或实现前,通过逐轮结构化提问与歧义评分,把模糊想法收敛为可执行规格。用户说「deep interview / 访谈我 / 别假设」或需求模糊、边界不清时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
design
hatsuyuki0103
仓库级 DESIGN.md 设计源工作流:盘点既有设计证据 → 只问缺失上下文 → 建/刷新 DESIGN.md,作为产品/UI/前端决策的持久依据。用户说「design / 设计方向 / UX 指南 / 设计系统」时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
doctor
hatsuyuki0103
DSH 环境诊断:harness/技能/插件/配置/环境逐项体检,给出结论与修复建议。用户说「doctor / 诊断环境 / 为什么技能没出现 / 插件没生效」时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
ecomode
hatsuyuki0103
省 token 模式:子代理能少不多、能轻不重、先自做再委派、批量合并任务、后台任务收口。用户说「ecomode / 省着点用 / 预算模式」时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
git-master
hatsuyuki0103
Git 操作专家:原子提交(Conventional Commit)、变基、分支管理、历史整理,按仓库既有风格提交。用户说「提交 / rebase / 整理提交 / 分支操作」时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
note
hatsuyuki0103
会话笔记:把值得长期保留的结论/决策/发现写进工作区笔记。用户说「记一下 / note this / 记住这个结论」时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
prometheus-strict
hatsuyuki0103
严格规划:Metis 澄清需求、Momus 对抗挑战、Oracle 综合并自检,产出交接就绪的规划产物。任务重要到浅计划会做错事、验收/边界/风险/验证不全时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
ralph
hatsuyuki0103
持久执行闭环:不完成任务不停,带架构复核与新鲜验证证据。用户说「ralph / don't stop / 必须完成 / keep going」或任务需要保证完成并验证时使用。
SkillAFreshness: A★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 14, 2026 (16 days ago)
- Last release
- Oct 12, 2026 (18 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hatsuyuki0103
- 0.616score
code-review
hatsuyuki0103
全面代码评审:code-reviewer + architect 双独立通道并行评审,严重度评级 + 架构状态(CLEAR/WATCH/BLOCK)+ 确定性合入门禁。用户说「review this code / code review / 帮我审代码」或合入 PR 前使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
autopilot
hatsuyuki0103
严格自主交付循环:deep-interview → ralplan → ultragoal(默认组队,Agent Teams 优先)→ code-review → ultraqa,闸不干净自动回环。用户说「autopilot / build me / 全自动 / handle it…
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
plan
hatsuyuki0103
战略规划:按请求具体度自动选择「访谈澄清」或「直接规划」,支持共识模式(Planner→Architect→Critic 循环 + RALPLAN-DR 结构化审议)与评审模式(对已有计划的 Critic 评估)。用户说「plan this / 帮我规划 / let's plan」或想先规划再实现时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
ralplan
hatsuyuki0103
共识规划:Planner→Architect→Critic 顺序子代理审查循环 + RALPLAN-DR 结构化审议,产出 .omx/plans 下的 PRD 与测试规格。用户说「ralplan / consensus plan / 先出共识方案」或方案需要架构与测试形态审查时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
cancel
hatsuyuki0103
停止活动工作流并清理状态:检测本插件各技能的活动状态(.omx/state/)、终止后台任务、暂停/结单 goal,保留进度可续跑。用户说「cancel / stop / 停一下 / 别跑了」时使用。
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
build-fix
hatsuyuki0103
构建修复:复现失败 → 定位根因 → 最小修复 → 全量复验。用户说「fix build / 构建坏了 / type errors」或编译/打包失败时使用。
SkillAFreshness: A★ 5Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get canslim-trader running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
canslim-trader skill. Agent Mart. https://agentmart.dev/skills/hatsuyuki0103-canslim-trader (last updated 2026-10-24)