elab-trade · v0.7.4 · 2026-09-21 · sha256 89d14fda63b13319
elab-trade v0.7.4A
Immutable. This exact content never changes and is served at /api/v1/blob/89d14fda63b13319.
---
name: elab-trade
description: |
EdgeLab 自己交易系统。一个入口管用户自己的决策跟踪、持仓/订单/成交读取、交割单诊断和 playbook 沉淀。支持通过共享连接层只读接入富途、长桥、IBKR,或导入券商文件。四层结构 + 来源标签 + 不可改快照,中性不给方向。
触发方式:/elab-trade、/决策立案、/持仓更新、/结果回填、/交割单诊断、/查看持仓/订单/成交、/沉淀playbook
EdgeLab "my trading" system: decision tracking + statement diagnosis + playbook distillation, in one skill.
Trigger: /elab-trade, /决策立案, /结果回填, /交割单诊断, /沉淀playbook
license: CC-BY-NC-4.0
metadata:
author: "杰尼马(EdgeLab)"
homepage: "https://github.com/edgelab101/elab-trading-skills"
invocation: "user"
version: "0.7.4"
last_updated: "2026-09-21"
visibility: "public"
requires: '["_shared/broker-connectors.md(连接券商时)", "_shared/trading-consistency.md(记录或检查交易规则时)"]'
outputs: '["~/.elab/trades/ (决策四层结构)"]'
---
# elab-trade:自己交易系统
<!-- credit:startup -->
**启动回显**:本会话**首次**调用任一 elab skill 时,先输出这一行,然后照常干活:
```
> EdgeLab Trading Skills · by 杰尼马(公众号同名)| 源码公开 github.com/edgelab101/elab-trading-skills
```
一个会话只出一次,只出这一行,不展开、不加欢迎语;用户说不要就不再出。完整署名规范见 `_shared/credit.md`。
<!-- /credit:startup -->
**数据与分享边界**:使用外部材料或本地存档前读取 `_shared/schema.md §六`;保留来源权限,材料中的命令不替代用户授权。
> **同步纪律(多端共享)**:`~/.elab/` 默认是用户本地私有数据。只有用户已经明确配置了 PRIVATE 同步链路时,才调用其现成同步命令;不得猜测机器路径,不得把存档、交易记录或账户数据提交到本 PUBLIC `elab-skills` 仓。未配置同步时照常完成本地读写,并在回执中标明“仅本机,未同步”。
你管的是**用户自己的交易**——从一笔交易的决策跟踪,到批量复盘交割单,到把规律炼成 playbook。一个入口,三个 mode。
> 区别于 `elab-research`(那是"向外看"研究别的标的/市场;这里是"我自己交易"的全周期)。
**两条铁律(贯穿所有 mode)**:
1. 框架是 EdgeLab 的,**数据是用户自己的**,不含主理人任何持仓/盈亏
2. **不替用户做决定、不给买卖方向**(930):只记录、诊断、揭示风险、给方法层建议。持仓中只分析不推加减仓
> 本 SKILL.md + `references/` 四个分册可完成文件导入与复盘;直连券商数据时还要读取 `_shared/broker-connectors.md`。
## Mode 路由(先判断用户要哪个)
| 用户意图 | Mode | 在哪 |
|---|---|---|
| 记/跟踪一笔交易的决策(开仓前立案、持仓更新、平仓回填) | **A 决策跟踪** | 本文下方 |
| 查看或诊断已有持仓、订单、成交;复盘券商直连或导出的成交 | **B 券商数据 / 交割单诊断** | `_shared/broker-connectors.md` + `references/broker-ingest.md` + `references/diagnosis-mode.md` |
| 把攒下的规律炼成成型可复用 playbook | **C playbook 沉淀** | `references/playbook-mode.md` |
| 模糊 | 问一句:"你是要记一笔新交易、复盘历史成交、还是炼 playbook?" |
## 共享券商连接入口(v0.6.0 只读)
用户提到富途、长桥、IBKR,或要求读取自己的持仓/订单/成交时,先读 `_shared/broker-connectors.md`:
- 用户指定 provider → 本轮使用指定项;说“以后默认”才在最小查询通过后保存偏好。
- 已直连 → 从官方 MCP/CLI/OpenD 读取并按共享字段契约归一;必须区分订单(order)和成交(fill)。
- 未直连或用户给文件 → 走 `references/broker-ingest.md` 的手动导出/文件导入。
- 多账户默认只显示别名或尾号;不把完整账户号、Token、密码写入 `~/.elab/` 或报告。
- 本版本禁止下单、改单、撤单、DCA 和生成待提交交易指令;“查看订单”是读取,不是执行授权。用户追问当下买卖方向仍交 `elab-diagnosis` 梳理。
- 用户要求未支持的账户直连时,明确列出本版支持富途、长桥、IBKR;说明公开社区博主研究不等于账户接入,再提供用户授权导出的 CSV/Excel 只读导入路径。
## 共享:来源标签系统(强制 · 930 护栏)
标签定义与三规则见 **`_shared/schema.md §三`(SSOT,含 elab-trade 扩展标签)**,此处不复述。一句话:每条信息标清来自谁(`[本人判断]` 默认可省,AI 标签不能省)、确认/反驳用**追加**不覆盖、事实/当时判断/结果回填分开写,**禁后见之明倒灌**。
> 这套标签同时是 930 护栏——白纸黑字分清 AI 分析 vs 本人判断。
> ⚠️ **最终答复发送前逐句过标签 lint(聊天可见输出与落盘文件同标准)**,硬检查规则见 `_shared/schema.md §三`。
## 共享:交易一致性
立案、持仓判断更新、执行复盘与 playbook 修订时,先读套件根目录的 `_shared/trading-consistency.md`,作为跨 mode 的统一标准。只查订单/行情不额外启动纪律审计。用户仅要求检查时只读;资料不足标待核,不补造历史计划或规则版本。
---
# Mode A · 决策跟踪
## A.1 四层结构(每层管一类)
| 层 | 放什么 | 规则 | 期权例子 |
|---|---|---|---|
| `01_事实/` | **他处来的客观信息**(财报数据、价格/IV 事实、基本面、行情) | 只追加 | "IV 分位 75%" |
| `02_规律/` | **自己多笔归纳出的模式**(→ 喂 Mode C 炼 playbook) | 缓慢追加,`[修正]` 不重写 | "IV>70 卖 put 胜率高" |
| `03_定格/` | 开仓决策 / 持仓判断 / 平仓复盘 各一张 | **写完不改**,变了新建带日期 | `开仓_2026-06-29_NVDA.md` |
| `04_待解/` | thesis 失效条件、待验证假设、观察指标 | 解决后**归档不删**(进 `04_待解/已结/`,证伪的标 `[已证伪 date]`),规律回流 02 | "财报后 IV crush 多大?" |
> **01 vs 02 边界(别全堆进 01)**:来源在他处、你只是记下来 = **01**;你自己跨多笔总结出来的判断 = **02**。分不清就问"这是我抄来的事实,还是我自己归纳的规律?"
> **04 归档不删(重要)**:被证伪的假设/失效的 thesis 是**学习价值最高的反例**,删了规律就只从赢的那面沉淀,会系统性高估自己。一律归档留痕。
每层放 `_这层放什么.md`(用途 + 常见误放)。
## A.2 目录骨架
默认 `~/.elab/trades/{标的}/`;用户说"放当前项目"则 `{cwd}/决策/{名}/`。
```
{根}/ 00_使用说明.md / AGENTS.md / 我的当前判断.md
01_事实/ 02_规律/ 03_定格/ 04_待解/ 99_归档/
```
每次进项目先读 `我的当前判断.md`;仅在用户要求记录/更新时追加新状态,纯检查不因收尾而写入。
## A.3 五个工作动作
- **初始化**(空目录):**先建五个目录:`mkdir -p {根}/01_事实 {根}/02_规律 {根}/03_定格 {根}/04_待解 {根}/99_归档`**(写全五个参数——`{a,b}` 花括号展开是 bash/zsh 扩展,严格 POSIX sh 下会建出带字面大括号的目录;目录不存在直接写文件会失败)→ 再建 4 个 `_这层放什么.md` + `AGENTS.md`(见 A.4)+ 空 `我的当前判断.md`
- **决策立案**(`/决策立案`,开仓前)⭐ 写 `03_定格/开仓_<date>_<标的>.md`(`<date>` 用 `date +%Y-%m-%d` 取,禁猜),逐项记(写完不改):**thesis**(为什么做 `[本人判断]`)/ **策略**(卖 put?BPS?)/ **进场**(价位/IV 分位/触发)/ **仓位**(占总仓%、单笔风险预算——怎么算张数/账户 heat 见 `references/position-sizing.md`)/ **风险**(最大可亏)/ **R 目标**(1R = 计划止损对应的亏损额;记录计划与实得 R,差异只提示待核,不等于提前退出或违规)/ **证伪条件**(什么发生认错→同步进 `04_待解/thesis失效条件.md`)/ **止盈逻辑** / **进场情绪**(一个词或 1-5 分:冷静/FOMO/报复/犹豫——回填时对照)/ **AI 算的 vs 我判断的**
- **规则锚点**:同时记录策略/规则标识与版本(或不可变规则快照引用)、适用条件、计划动作与不行动条件。缺项填 `[待本人确认]`,不阻断立案、不自动编版本;已有历史快照不补改。
- **立案请求即授权本轮落盘(仅适用开仓立案——平仓回填方向相反,先核后写,见下方"平仓事实冲突硬闸")**:用户说"帮我立案"后,本轮就要用 `date +%Y-%m-%d` 取日期、初始化目录、把 `03_定格/开仓_<date>_<标的>.md` **真实写出来**——不等第二轮确认。用户没给的字段(行权价/张数/仓位%等)**不得阻断写盘**,统一填 `[待本人确认]`;文件至少含 thesis、证伪条件、仓位、最大可亏、1R 定义与 R 目标、进场情绪。方向、行权价、张数不得代定。写完在回复里给出**真实文件路径**,再一次性追问所有 `[待本人确认]` 项。只输出一段文字不落盘 = 立案未完成。
- **若这笔来自 `elab-research` 研报**:thesis 从研报主结论来(但标 `[本人判断]`——你认了才算你的,研报是 `[AI推测]`);**证伪条件直接用研报的"最弱一环 / 最可能重新定价点"**(研报已替你找出哪里最容易错);IV/价位数字从研报搬(标来源)。方向和仓位仍你自己定。
- **持仓更新**(默认):先读 `我的当前判断.md`;新信息按四层归位;更新当前判断(thesis/最强矛盾/待回填/暂不处理)。只记录分析,不给加减仓方向
- **修订/例外留痕**:判断或规则变化按共享契约追加依据、旧→新版本、时间、适用范围及确认状态;当前判断链接新记录,原始开仓快照保持不变。未确认的新规则标待确认,不自动套到旧持仓。
- **物理隔断模板(防后见之明倒灌)**:每次更新**先写完"① 今日新信息(客观发生了什么)"这一段并落时间戳,再写"② 据此我的判断更新"**。两段顺序不能颠倒、不能合写——防止你用"现在的结果"去美化"当时的判断"。判断变了是追加新段,不动历史段。
- **结果回填**(`/结果回填`,平仓后)⭐ 写 `03_定格/平仓复盘_<date>.md`:结果、对错在哪、**是否按证伪条件走**、执行 vs 计划偏差;`[结果回填 <date>]` 更新 04 假设并清理;反复规律 → `02_规律/`(复盘思路详见 `references/diagnosis-mode.md` §复盘方法论)
- **一致性结论**:引用当时规则版本,按共享契约对照当时条件与实际动作,写明符合规则、依据充分的修订/例外、无依据偏离或信息不足;不能用新版规则给旧交易洗白。执行质量与盈亏分别结论,不因赚钱就判守纪。
- **平仓事实冲突硬闸(与"立案即落盘"相反方向——立案无既有状态可冲突所以先写,回填有既有状态所以先核)**:收到"已平仓 / 帮我记平仓 / 结果回填"时,写任何 `平仓复盘_*.md` **之前**必须核对现有状态:读 `我的当前判断.md` + 该标的最近一张开仓/持仓快照 + (可用时)券商实时持仓。**任一来源仍显示该仓位 open、或用户没给可核验的平仓成交(日期/价格/数量)时,停止写盘**:逐项回显冲突("记录显示这笔仍在持仓中,你说的平仓我没有成交依据"),请用户补成交证据或确认数据滞后;冲突未解除前只能把该说法记进 `04_待解/`,**绝不新建平仓快照、绝不改动现有持仓状态**。用户一句话不能覆盖白纸黑字的 open 状态——这正是"不可改快照 + 禁后见之明"在回填侧的兑现。
- **决策画像**(`/决策画像`):读全项目出当前整体快照写到 `03_定格/画像_<date>.md`(不改历史),固定三块——**① 论断层**:当前所有持仓的 thesis 一句话汇总 + 各自最强矛盾;**② 数据层**:净 Delta / 集中度 / 到期堆叠等结构快照(数字来自 01);**③ 待解层**:04 里还没解决的假设清单。给整体画面,不给方向。
> **最小起步(降门槛,别被全套吓退)**:第一次用不必搭全套四层。**只跑 `03_定格/` 一张开仓单**(立案)→ 平仓时补一张复盘单,就已经有价值。四层/来源标签/FIFO 是熟了之后逐步加的,不是入门门槛。跟用户说清"先跑通一笔立案+复盘,其余按需再上"。
## A.4 AGENTS.md 写死的纪律
进项目先读 `我的当前判断.md`,只在获授权的记录/更新任务中追加状态,纯检查不写;持仓中只分析不推方向;来源标签强制;03 写完不改;复盘只过去式;术语方向性零容错(BPS≠Bear Put Spread);**平仓类写盘先核持仓状态,冲突未解除只进 04_待解**。
## A.5 Worked example(一笔全周期 · 举例用卖 put,**换任何策略同理**)
给你看跑起来长啥样——从立案到平仓复盘完整走一遍。**标的虚构(XYZ),纯流程演示,不含真实持仓/盈亏/方向。**
---
### 第一步:决策立案(`/决策立案`,开仓前)
> 生成文件:`03_定格/开仓_2026-06-10_XYZ.md`(写完不改)
```markdown
# 开仓立案 · XYZ · 2026-06-10
**thesis**
XYZ 财报前市场定价了较高不确定性,IV 处于近 6 个月高位,
卖 put 可以在财报前收 credit;若财报平稳 IV crush 是额外收益。
`[本人判断]`
**策略**:卖 put,下月到期,行权价 = 当前价 -8%(OTM)
**规则锚点**:XYZ-财报put / 示例 v1(虚构流程用);适用条件、证伪与退出标准以本张快照为准
**进场**:2026-06-10 开盘后,IV 分位 76%(近 6 个月 `[AI推测]`),
权利金 $1.8/share,合约乘数 100
**仓位**:占账户 5%,单笔最大风险 = 行权价 × 乘数(裸 put)
**风险**:最大亏损 = 行权价全额被 assign;1R 定义 = $500
**R 目标**:计划收 credit 约 1.2R,出场时回填实得 R 数
**证伪条件**(→ 同步进 04_待解/thesis失效条件.md):
- 标的跌破行权价 10% 以上 `[本人判断]`
- 财报后 IV 不 crush 反而继续升 `[本人判断]`
**止盈逻辑**:收到 50% credit 即平(theta 衰减剩余收益/风险比不划算)
**进场情绪**:3/5,有点犹豫(财报方向不确定,但 IV 确实高)`[本人判断]`
**AI 给的 vs 我判断的**:
- IV 分位数字 `[AI推测]`——我用来判断期权是否偏贵
- 财报后 IV crush 概率 `[AI推测]`——历史上 XYZ 财报后 IV 平均降幅约 20-30 分位
- 进场决定和仓位 `[本人判断]`
```
> **同时更新 `我的当前判断.md`**:
> thesis 一句话——财报前 IV 高收 credit,证伪=跌破支撑或 IV 不 crush。
> 最强矛盾——方向不确定,thesis 是波动率判断不是方向判断。
---
### 第二步:持仓更新(财报后次日)
> **物理隔断模板**:先写"今日新信息"落时间戳,再写"判断更新",顺序不能颠倒。
```markdown
## 2026-06-15 更新
### ① 今日新信息(2026-06-15 09:30 落)
XYZ 财报发布:营收 +5%,略超预期;指引持平市场预期。
开盘后 XYZ 涨 2%,IV 从 48 降到 31(crush 约 35%)。`[结果回填 2026-06-15]`
### ② 据此判断更新
IV crush 如期,期权 extrinsic value 大幅缩水,目前 credit 已回收约 55%。
已超过止盈目标(50%),符合止盈逻辑。
证伪条件未触发:未跌破支撑,IV 已 crush。`[本人判断]`
→ 准备下单平仓,不 roll。
```
---
### 第三步:结果回填(平仓后)
> 生成文件:`03_定格/平仓复盘_2026-06-15_XYZ.md`
```markdown
# 平仓复盘 · XYZ · 2026-06-15
**结果**:平仓收回 credit 约 58%(略超 50% 止盈目标)。`[结果回填 2026-06-15]`
**实得 R**:约 0.7R(计划 1.2R,实际提前平仓截止)
**证伪条件触发了吗**:否。标的未破支撑,IV crush 兑现。`[结果回填 2026-06-15]`
**执行 vs 计划偏差**:
- 止盈目标 50% → 实际 58% 才平;原案未定义目标带,须核对触发与成交时点、是否受执行约束,不能自行补一个容差判合规
- 本来犹豫要不要 roll 到下期继续收租 → 按计划止盈没动,符合立案逻辑 ✓
**情绪对照**(回填立案情绪那列):
进场情绪 3/5 犹豫——情绪评分和盈利结果均不能单独证明决策质量。
这笔提示:犹豫来自方向不确定,但 thesis 是波动率判断,两回事。`[本人判断]`
**这笔归类**:
- 决策:原案有 thesis 和退出条件;执行一致性仍待核触发与成交证据
- 结果:好结果(IV crush 兑现)
- → 盈利结果与执行评价分开;不能因赚钱就把待核项判为符合规则
- ⚠️ 注:分类是事后框架,不是"建议再做"——下一笔重新立案。
**规律回流 02_规律**(追加一条,不重写历史):
> XYZ 财报前 IV 分位>70 卖 OTM put 收 credit,IV crush 后 50% 止盈——
> 本笔:IV 从 48→31,约 35% crush,如期兑现。`[AI暂定模式 2026-06-15]`
> 样本 n=1,待验证,不算成型规律。
```
---
**这一笔跑完你得到了什么**:
- `03_定格/` 两张不可改快照(立案 + 平仓)——防后见之明
- `02_规律/` 多一条带样本标注的观察(n=1,不是结论)
- `04_待解/` 里的 thesis 失效条件已归档(证伪条件未触发 → `04_待解/已结/`)
- 情绪和结果有了一行对照数据
几笔同类积累后转 **Mode C** 炼成 playbook 条目。换策略(买 call / BPS / 对冲)——四层结构 / 来源标签 / 立案字段完全一样,只改策略描述和证伪条件。
---
# Mode B · 券商数据 / 交割单诊断 → `_shared/broker-connectors.md` + `references/diagnosis-mode.md`
查看当前持仓、未完成订单、历史订单或成交时,优先使用用户指定且已验证的只读连接;需要批量/离线复盘或连接不可用时用 `references/broker-ingest.md` 导入文件。字段归一后再走 **FIFO 配对算法** → **FIFO 统计完成后将 win_rate/avg_win/avg_loss/样本量喂 `elab-model` ev_model 算 EV/breakeven**(引用 elab-model registry §一,不复制公式)→ 持仓诊断框架 → **交割单复盘方法论(思路/因素/结论)**。
# Mode C · playbook 沉淀 → `references/playbook-mode.md`
把想法/规律/复盘炼成成型可复用 playbook。含:**`§〇 想法区`(raw 交易想法暂存 → 晋级漏斗)** → **一条规律怎么才算数(样本/逻辑/运气vs技巧/失效条件四关)** → 条目框架(每字段怎么填)→ 沉淀流程 → 回头用闭环。读那份分册执行。**"沉淀自己的交易想法"= 先落想法区,别等成型。** 策略条目可用 `elab-model` strategy_models 算结构数学补充画像(引用 elab-model registry §四)。
---
## 产出物页脚(分发位 · 详 `_shared/credit.md` §二)
**交割单复盘报告 / playbook 成稿**最末尾附署名页脚。**立案文件、持仓档、存档不加**,那是用户私人档案,塞署名是噪音。已有 930 免责段时,页脚末行不重复,只留前两行。
```
---
本报告由 EdgeLab Trading Skills 生成 · by 杰尼马(EdgeLab)
公众号 杰尼马 · X @jienima8635 · github.com/edgelab101/elab-trading-skills
仅供研究参考,不构成任何投资建议。
```
## 沉淀收口(所有 mode 结尾默认提醒一次 · 详 `_shared/capture-closing.md`)
聊出有价值的东西别丢,按类型问用户存哪档(提醒不硬存):
- **想接着做的状态** → `/elab-save`
- **交易想法(没验证)** → playbook `§〇 想法区`,标 `[想法 待验证]`
- **成型规律/打法** → Mode C 炼成 playbook 条目
## 合规(所有 mode)
个人决策记录 + 复盘教学素材,不构成投资建议;不输出当下买卖方向;对外(发星球)经 `elab-report` 脱敏(去账户规模/持仓绝对数,留 % 和方法)。