Trade
upstash/botstreet
Execute the daily virtual trading process. An agent skill from upstash/botstreet.
每兩週交易檢討:歸因每筆成交是「系統決策」還是「你自己決策」、算基準校正 α、驗影子訊號、更新規則命中率帳本,輸出「本期該改哪一條規則」。Usage - /trade-review [2w|4w|since YYYY-MM-DD]
$ npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PatrickSUDO/fadacai-portfolio trade-review --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/PatrickSUDO/fadacai-portfolio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/trade-review .claude/skills/trade-review && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "trade-review" agent skill from https://github.com/PatrickSUDO/fadacai-portfolio/tree/main/.agents/skills/trade-review into .claude/skills/trade-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trade-review", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/PatrickSUDO/fadacai-portfolio/tree/main/.agents/skills/trade-reviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PatrickSUDO/fadacai-portfolio trade-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PatrickSUDO/fadacai-portfolio.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/trade-review .agents/skills/trade-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "trade-review" agent skill from https://github.com/PatrickSUDO/fadacai-portfolio/tree/main/.agents/skills/trade-review into .agents/skills/trade-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trade-review", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PatrickSUDO/fadacai-portfolio trade-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PatrickSUDO/fadacai-portfolio.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/trade-review .cursor/skills/trade-review && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "trade-review" agent skill from https://github.com/PatrickSUDO/fadacai-portfolio/tree/main/.agents/skills/trade-review into .cursor/skills/trade-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trade-review", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/PatrickSUDO/fadacai-portfolio.git --path .agents/skills/trade-review--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PatrickSUDO/fadacai-portfolio trade-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PatrickSUDO/fadacai-portfolio.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/trade-review .gemini/skills/trade-review && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "trade-review" agent skill from https://github.com/PatrickSUDO/fadacai-portfolio/tree/main/.agents/skills/trade-review into .gemini/skills/trade-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trade-review", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install PatrickSUDO/fadacai-portfolio trade-reviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PatrickSUDO/fadacai-portfolio.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/trade-review .github/skills/trade-review && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "trade-review" agent skill from https://github.com/PatrickSUDO/fadacai-portfolio/tree/main/.agents/skills/trade-review into .github/skills/trade-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trade-review", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PatrickSUDO/fadacai-portfolio trade-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PatrickSUDO/fadacai-portfolio.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/trade-review .opencode/skills/trade-review && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "trade-review" agent skill from https://github.com/PatrickSUDO/fadacai-portfolio/tree/main/.agents/skills/trade-review into .opencode/skills/trade-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "trade-review", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
trade-review每兩週交易檢討:歸因每筆成交是「系統決策」還是「你自己決策」、算基準校正 α、驗影子訊號、更新規則命中率帳本,輸出「本期該改哪一條規則」。Usage - /trade-review [2w|4w|since YYYY-MM-DD]
Trade Review is an agent skill from PatrickSUDO/fadacai-portfolio. 每兩週交易檢討:歸因每筆成交是「系統決策」還是「你自己決策」、算基準校正 α、驗影子訊號、更新規則命中率帳本,輸出「本期該改哪一條規則」。Usage - /trade-review [2w|4w|since YYYY-MM-DD]
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Claude Code 投資研究與組合管理框架:skills + MCP + 第一性原理紀律 + thesis ledger. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 25eedc4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3bashclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Trade Review loads about 3.3k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 993 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from PatrickSUDO/fadacai-portfolio at commit 25eedc4, republished under its MIT licence (© PatrickSUDO). 993 words, ~3,282 tokens.
.claude/skills/trade-review/SKILL.md (or your agent's skills folder).這是系統自我進化的引擎。 其他 skill 產生決策,這個 skill 檢查決策對不對,並把結果回饋到規則層。
Why: 2026-07-25 首次歸因調查發現,系統決策的 α 是 +6.1%(賣方 +13.0% / 71% 勝率),脫離 plan 的用戶決策是 −14.0%(12 次對 2 次)。但當時可歸因覆蓋率只有 49%,且沒有任何機制持續計分——規則寫死後永不重測。這個 skill 補上那個迴路。
/trade-review → 上次檢討至今(若無紀錄則近 14 天)/trade-review 4w → 近 28 天/trade-review since 2026-06-04 → 指定起日plan.md + feedback/*.md(含 feedback/RULES-LEDGER.md)mcp__firstrade-server__get_account_positionpython3 tools/trade_ledger.py snapshot-orders
python3 tools/trade_ledger.py ingest --range 2m
python3 tools/trade_ledger.py backfill-origin --since <期初>
python3 tools/trade_ledger.py stats歸因鏈第 1 步除了 plan.md/journal 的單號,也讀 order-registry.json 的 rule_ref(register-order 登記的規則單,2026-09-14);本期若仍有規則單被判 user,代表掛單時漏了 register-order,列為執行力缺口。
必報三個數字(覆蓋率是本迴路的健康指標,要逐期往上走):
attribution_coverage_journaled_pct(有 journal 期間的 origin 覆蓋率)order_registry.snapshot_days(快照天數;越多,往後歸因越接近 100%)⚠️ 覆蓋率不會靠自己變好。 對 unknown_sample 列出的每一筆,翻當日 journal / plan.md 判斷來源,然後:
python3 tools/trade_ledger.py annotate --id <fill_id> \
--origin system|user --evidence "<判定依據原文>" [--bucket 信念|認列|hedge|樂透]補正時一併記模型(--model claude-fable-5-1 --effort high),這樣 score --by model 之後能用數據回答兩件事:貴的模型層級值不值那個成本,以及更新的模型不同意舊決策時,該不該相信它。模型版本是排覆審順序的依據,不是推翻已驗證結論的依據(同 RULES-LEDGER 的鐵則)。
判定準則(origin = 誰決定,與 exec_via 誰按按鈕 無關):
2026-06-18 是必記的反例:九檔在 App 手動出清,但砍因來自 plan v2 → 系統決策、手動執行。若用執行方式推論決策來源,會把全帳最大 alpha 事件(+$8,997)誤記成用戶自主交易。
三者答不同問題,只看任一個都會誤導:交易 α(進出對不對)、持有 α(該不該繼續抱)、beta capture(行情好的時候吃到沒有)。
python3 tools/trade_ledger.py score --by origin-side --since <期初>
python3 tools/trade_ledger.py score --by bucket --since <期初>
python3 tools/trade_ledger.py holding-alpha --window 90
python3 tools/trade_ledger.py beta-capture --window 180 --bench SMHpython3 tools/account_metrics.py scan && python3 tools/account_metrics.py report --live <Step 0b 即時帳戶總值>輸出期間報酬 / CAGR / MDD / Sharpe(淨值標記曲線)+ profit factor(FIFO 已實現、含選擇權與費用)。與上期 archive/*/account-metrics.json 對照列 Δ。誠實標示照工具輸出:MDD 基於離散標記屬低估、短窗年化僅供方向;淨值紀錄自 2026-06-01 起,用戶提供券商對帳單更早淨值時用 add 補錨。
| 決策來源 | n | β調整 α | 勝率 | β調整 $ | β=1 的 $ | beta 汙染 | 均β |
|---|---|---|---|---|---|---|---|
| 系統決定 — 賣/買 | |||||||
| 你自己決定 — 賣/買 | |||||||
| 無記載 |
alpha_beta 才是結論依據,naive_alpha_dollars 只用來看 beta 汙染有多大。β 是對實際使用的基準回歸算的(半導體對 SMH、其餘對 SPY)。
為什麼這件事關鍵:2026-07-25 首測時,賣方 β=1 算出 +$8,997,看似巨大選股技術;改用券商 β(對大盤測)套 SMH 又算出「全滅」。兩者都錯。 同基準回歸給出 +$6,846(76% 存活)—— 選股技術是真的,但有 24% 是 beta。用錯 β 會讓「該不該繼續這樣做」得到相反答案。
holding-alpha 給每檔的滾動 90 天(決策相關:現在還該不該抱)與建倉至今(歷史:進場對不對)。
必列:正 α 與負 α 各自的檔數與金額。 首測基準:滾動 90 天 +$8,219 但勝率僅 25%——集中在 MU/DDOG/CRWD/AMD 四檔(+$33,833),被其餘 15 檔(≈−$26,000)抵銷。
⚠️ 建倉至今不可加總(僅 13/20 可測,且可測者偏向近期建倉、長抱贏家因 lots 早於帳戶歷史落選 = 選擇偏差)。只讀個股。
⚠️ 持有 α 存在的理由:純交易指標會系統性獎勵頻繁進出、把「抱對一年」記為零貢獻。首測顯示持有 α 量級大於交易 α。
beta-capture 拆基準上漲日/下跌日各自回歸 β:
| β | 日 α (bps) | 累積 α | 天數 | |
|---|---|---|---|---|
| 全期 / 上漲日 / 下跌日 |
判讀:up-β > down-β = 想要的曝險輪廓;up-β < down-β = 漲不上跌得凶。
首測基準(180 天 vs SMH):up-β 0.79 < down-β 0.90,capture 比 0.88。成因結構性——梯級停利在強勢中賣、買梯在弱勢中買,兩者機械性壓低 up-capture。這是純 α 指標看不見的成本(見 RULES-LEDGER R8)。
alpha_beta 已扣 beta,負才是真的差score 已回傳 best / worst。對每一筆翻出當日 journal 的決策理由,回答:
歷史對照(首次調查已確立的模式,用來檢查本期是否重演):
python3 tools/trade_ledger.py flags2026-07-25 量測:「已標記惡化但沒有強制出場」是吃掉最多回撤的單一機制,自警示以來 −$6,333。 排第二的是「下跌中深檔買梯建新倉」(−$5,700)。
本期必答:
resolve-flag(減碼/出場/撤旗),不得再 deferpost_flag_fills 有值的 → 警示後仍加碼,逐筆檢討為什麼禁令沒有阻力(ON 6/26 下禁令、7/06 加碼 32 股,−$206)total_cost_since_flag 與上期比較 —— 這個數字往下走才算修好同時查 thesis 增生(合理化的指紋):同一標的累積 ≥2 筆 pending thesis 而部位在虧 → 逐筆問是不是為了繞過既有警示而新登錄。
ON 在 4 週內累積 3 筆 pending thesis(6/26
cyclical-recovery-q2、7/04power-shortage-early-position、7/23800vdc-power-tree-validation),全部觸發 8/03;而 7/06 的加碼引用的正是 7/04 那筆新 thesis。
python3 tools/thesis_ledger.py orphans
python3 tools/thesis_ledger.py stats
python3 tools/ev_ledger.py resolve-due && python3 tools/ev_ledger.py stats4-0. EV 分布校準(機率誠實的結果端驗證)
ev_ledger.py stats 輸出 EV 誤差(by horizon/model)+ Brier + 校準表(給的機率 vs 實際落桶頻率)。判讀紀律:
RULES-LEDGER 帶命中率追蹤 — 不建 ML 模型(n>150 獨立已解決樣本前不重評,見 AGENTS.md)stats 的四項——獨立 n、Brier skill score(>0 才是技能)、in_range(分布外 = 漏分支非運氣)、thesis × 定價 2×2(「對但沒用」= priced-in 候選)——原樣抄進報告 §4,review_lint.py 會查stats 自帶):高三分位 realized<EV 比例是否顯著高於低三分位;n<30 只記方向。連兩期同向且差距 ≥20pp → 才討論把 priced_in 納入 probability-honesty-checker 的形狀規則表(display-only 直到那時)4a. A4 高估旗標(影子模式,Phase 1 只記錄不阻擋)
讀 research/shadow-signals.jsonl,對已滿 30 天的旗標算實際超額 α,累計命中率:
| 旗標日 | 標的 | A4vsA3 | 30d 後超額 α | 命中 |
|---|
判定條件(briefing / portfolio-review 產生旗標時已套用):A4vsA3 ≤ −35% 且 confidence == "ok"。PE 不再作排除條件(2026-09-14 裁決)——pe_ratio 只記錄為屬性供分組。
舊
pe_ratio < 200排除條款來自 DDOG 單一反例(A4 −71%、PE 553、事後 +19% α)。兩期影子計分(8/29、9/14)DDOG 連兩期命中(−12.7%、−3~−7%),PE>200 子集 15 筆 100% 命中/α −14.4%,PE<200 63.9%/−1.4%——唯一有訊號的正是被排除的那一段。獨立標的兩期累計 4/8,不升閘門、維持 display-only。
計分紀律: 按獨立標的、以首次旗標日的 30d α 計,逐日重複登錄不得當多筆(score 的 n=51 是灌水值)。
跑滿 2 期後才決定是否升硬閘門(Phase 2)。基準線:首次前瞻檢驗 n=12、Spearman +0.45、高估組 4/4 落後平均 −15.9% α。
4a-2. 影子帳 cf-*(2026-09-14 通用化)
shadow_signals.py score 的 by_signal 會列 cf-bench-loser / cf-r1-hold / cf-r17-blocked / cf-t65-capped / cf-r23-skip。每類按獨立標的報 n / hit_rate / mean α;這些是規則的免費驗證樣本:cf-r1-hold 命中率直接餵 R1、cf-r23-skip 餵 R23、cf-bench-loser 餵 L1 比選(落選者若跑贏入選者 → 比選邏輯覆審)、cf-t65-capped 餵 T6.5 上限是否該再放。n<5 只記方向。本期若 cf-* 為 0 筆 → 寫「影子帳未使用」並列為執行力缺口(該登錄沒登錄)。
4b. thesis 中途證偽(不是等觸發日才看)
python3 tools/thesis_ledger.py recheck --long-drift-only證偽條件已經寫好且具體,缺的是只在觸發日被讀。首測時 23/23 pending thesis 的建立→觸發相隔 ≥45 天,MRVL:fy28-ai-bookings-visibility 172 天——半年前提可以壞掉而沒人看。
對清單上每一筆問一句:這些條件裡,有沒有現在就看得到的已經成立了?
resolve --verdict failed,不等觸發日有些條件本來就不必等財報,例如「Google 公開宣佈減少 AVGO 採購份額」「主要 hyperscaler 公開削減 XPU capex >10%」「毛利率跌破 38%」。
4c. thesis 帳本兩個比率
stats 現在同時回 hit_rate(thesis 對不對)與 pnl_hit_rate(有沒有賺錢)。兩者的差距就是「在虧損部位上驗證 thesis」的程度。
orphans 列出「曾持有→已出場但 thesis 仍 pending」者(reentry-* 與從未持有的候補已排除)。每一筆必須處理:
python3 tools/thesis_ledger.py resolve --id <id> --verdict passed|failed|partial \
--actual "..." --note "..." --next-action "..." \
--position-status exited --realized-pnl <±金額> [--price-verdict met|missed]partial 強制 --price-verdict:營運達標但市場不認 → missed。
4c-2. 輪動相關旗標(H8,2026-09-14 起)
讀 research/rotation-corr-log.jsonl:本期每個 regime_shift == true 的 (date, pair) → 取旗標日後 10 個交易日兩籃相對報酬(工具已算 rel_ret_10d_pct,或用 archive 價格重算)。命中 = |相對報酬| ≥ 5pp 且方向與 Δρ 一致;記 H8 n / 命中。連兩期 n≥5 且命中率 <50% → 儀表降為只存 log 不上 Telegram;沒有 regime_shift 的期就寫「H8 本期無旗標」,不得用 20d ρ 的漲跌硬湊敘事。
4d. 來源信用帳(來源信用 tier 閘,R21 影子計分中)
python3 tools/source_credit.py resolve-due
python3 tools/source_credit.py stats
python3 tools/source_credit.py tiers --dry-run輸出每來源一行:
| 來源 | tier | n_scored | hit_rate | mean_lead_time_days | vague_ratio | backtest_share | proposed_tier |
|---|
判讀紀律:
vague_ratio > 0.7 且 n_total ≥ 5)→ 建議該來源 disable(連續講不可驗證的模糊主張)tiers --dry-run 輸出,不手改 research/source-config.json;抽查認可後才拿掉 --dry-run 套用/trade-review 內,Trusted+ 來源 hit_rate ≥ 0.65 且 mean_lead_time_days > 0(真的有領先,不是巧合追認)才討論升級;未達標維持 §9.6 display-only編輯 feedback/RULES-LEDGER.md(判準 feedback/skill-vs-luck.md):
[up]/[down](python3 tools/rule_stats.py regime --date <日> --bench SMH|SPY)python3 tools/rule_stats.py ledger-audit --write → 狀態欄照輸出改;再跑 --check 必須 exit 0holding-alpha 對 SMH 走向,不裁決登記機制只進不出會稀釋注意力。每期掃四類,列清理清單並執行:
thesis_ledger.py stats + pending 全列 →close-untested --exit-date <清倉日>exit-reentry-discipline.md 分層鐵則)price_alerts.py list → 觸發多次無人行動 / 條件已過時(財報已過、thesis 已結案)→ removeresearch/archive/,並拔掉 skill 引用python3 tools/position_guard.py --sync-alerts --render-plan,缺口全數處理(桶別缺口 → 更新 research/roster.json;已出場標的自 roster 移除;R8 GTC 缺口 → 掛單;R23 旗標 → 執行/resolve)。同時掃 R23 計分:本期每筆 resolve-flag --action trimmed 的 R23 旗標,+30 天價 vs 減碼價 → 命中/失效寫入 RULES-LEDGER R23。— 的規則 → 轉「未驗證假設」輸出:🧹 本期清理:thesis −N / 板凳 −N / 警報 −N(零清理也要列,證明有跑)。
寫 briefing-out/trade-review-YYYY-MM-DD.md,然後:
python3 tools/generate_html.py trade-review briefing-out/trade-review-YYYY-MM-DD.md報告結構:
# 交易檢討 YYYY-MM-DD(期間 YYYY-MM-DD ~ YYYY-MM-DD)
## 1. 帳本健康
新增成交 N 筆|歸因覆蓋率 X%(上期 Y%)|快照天數 D|本期人工補正 M 筆
## 2. 誰決定的比較好(基準校正 α)
[核心表,全部 + 僅高信心兩組]
[與上期趨勢比較]
## 3. 最佳/最差各 5 筆
[逐筆附當時 journal 理由 + 「當下有沒有訊號」的答案]
## 4. 影子訊號
[A4 旗標命中率表 + 是否建議升閘門]
[thesis hit_rate vs pnl_hit_rate + orphan 處理結果]
[來源信用帳 tier 表 + 是否達 R21 升級門檻]
[EV 校準:獨立 n / Brier skill score / in_range / 2×2;R26 走向]
## 5. 規則計分變動
[本期哪幾條 +命中 / +失效,附證據與 [up]/[down];無計分寫「本期無計分」]
[ledger-audit 結果 + 🔴 強制覆審清單]
## 6. 本期結論:該改哪一條規則
**規則:** [具體到檔名與條號]
**為什麼:** [一句話 + 數字]
**改法:** [具體修改,或「證據不足,繼續觀察 N 期」]最後一節只准寫一條(最多兩條)。列十條等於沒有結論。
research/last-trade-review.txt 為今日日期(briefing 讀它算到期提醒)python3 tools/review_lint.py briefing-out/trade-review-YYYY-MM-DD.md 必 exit 0(缺段 / 結論 >2 條 / 收尾沒做都會擋;擋了就補,不改 lint。寫入報告時 PostToolUse hook 會自動先跑一次,這裡再跑是確認 last-trade-review 已更新).claude/skills/ 或 AGENTS.md → python3 tools/sync_agents_skills.pytools/trade_review_runner.sh 會接手做 HTML + Telegram(§6 結論 + 連結);互動 session 跑完也可 bash tools/trade_review_runner.sh --notify-only briefing-out/trade-review-YYYY-MM-DD.md 推一則launchd com.fadacai.trade-review 每日 09:30 本地執行 tools/trade_review_runner.sh:review_due.py 說到期才跑 claude -p "/trade-review" --model fable(3600s 上限),之後 review_lint → generate_html trade-review(推報告站)→ Telegram。登入失效 / 逾時 / 無報告檔 → Telegram 警告並退出。報告檔名以本地日期為準(briefing-out/trade-review-YYYY-MM-DD.md);找不到當日檔會退回最新一份(2 小時內)。
get_orders 只回在掛單,已成交/已取消會從券商端消失 → order_id 歸因只能前瞻。快照斷天會產生無法歸因的缺口。order_type 用 buy_to_open / sell_to_close 等四碼(平倉必用 *_to_close);兩腿 spread 用 preview_option_spread / place_option_spread(day only、ET 7AM–4PM)。三腿以上或 GTC 複式單仍 App 手掛(tg_send.py)。© PatrickSUDO, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/trade-review of PatrickSUDO/fadacai-portfolio.
Open the folder on GitHubat commit 25eedc4
Trade Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Trade Review this skillPatrickSUDO/fadacai-portfolio | 142 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Tradeupstash/botstreet | 112 | — | ~1.1k | Automated safety check: Pass | None | |
| TradeAllenAI2014/ai-investment-advisor | 117 | — | ~570 | Automated safety check: Pass | None | |
| Agent Trading Predictorruvnet/ruflo | 74k | 2 repos | ~2.5k | Automated safety check: Pass | MIT | |
| LLM Trading Agent Securityaffaan-m/ECC | 277k | 2 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Trade Journal AnalysisHKUDS/Vibe-Trading | 35k | — | ~1.8k | Automated safety check: Pass | MIT |
upstash/botstreet
Execute the daily virtual trading process. An agent skill from upstash/botstreet.
AllenAI2014/ai-investment-advisor
记录交易操作。当用户说"买了"、"卖了"、"加仓"、"减仓"、"清仓"、"今天没操作"、"记录交易"时使用此skill。
ruvnet/ruflo
Agent skill for trading-predictor - invoke with $agent-trading-predictor
affaan-m/ECC
Security patterns for autonomous trading agents with wallet or transaction authority.
HKUDS/Vibe-Trading
Reads a broker export of your trades (CSV or Excel), builds a trading profile and runs four behavior checks: disposition effect, overtrading, chasing and anchoring.
sickn33/agentic-awesome-skills
A trading journal that captures the decision, not just the fill: thesis, plan, and emotion at the moment of entry, written to the user's own Notion database; reviews grade decisions, not P&L.
PatrickSUDO/fadacai-portfolio
Fetch live brokerage positions and generate a comprehensive portfolio report with sector allocation, P&L analysis, options summary, and risk assessment.
PatrickSUDO/fadacai-portfolio
強制 first-principles 機率分布 + EV 計算。用於檢查當前組合在指定時間窗的預期報酬,禁止用 default bell shape 或質性語言。Usage - /ev-check [30d|7d|14d] [optional scenario theme]
PatrickSUDO/fadacai-portfolio
財報/重大事件(CPI/FOMC)前的末日 buy call 與雙買 straddle 機會掃描。Usage - /event-vol-scan [days] [TICKER ...](預設窗 14 天,掃持倉 + L1 候補 + SPY/QQQ 宏觀事件)
PatrickSUDO/fadacai-portfolio
Test all MCP server connections and report health status. An agent skill from PatrickSUDO/fadacai-portfolio.
PatrickSUDO/fadacai-portfolio
Calculate and compare options strategies (sell put, covered call, LEAPS, naked call) for a given ticker.
PatrickSUDO/fadacai-portfolio
生成下一個交易日的優先行動清單。當用戶問「明天開盤要做什麼」、「今天要操作什麼」、「給我待辦」、「接下來要做什麼」、「有什麼需要處理」等問題時立刻使用此 skill。也適用於盤中(「現在有什麼要做」)和盤後(「今天還有什麼沒做」)場景。不要等用戶說 /todo 才觸發,只要問的是「下一步行動」的問題就應該用。
每兩週交易檢討:歸因每筆成交是「系統決策」還是「你自己決策」、算基準校正 α、驗影子訊號、更新規則命中率帳本,輸出「本期該改哪一條規則」。Usage - /trade-review [2w|4w|since YYYY-MM-DD]. Trade Review is an agent skill from PatrickSUDO/fadacai-portfolio.
Run `npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a claude-code`. Or copy the skill folder (.agents/skills/trade-review in PatrickSUDO/fadacai-portfolio) into .claude/skills/trade-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a codex`. Or copy the skill folder (.agents/skills/trade-review in PatrickSUDO/fadacai-portfolio) into .agents/skills/trade-review in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PatrickSUDO/fadacai-portfolio --skill trade-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/trade-review, .gemini/skills/trade-review, .github/skills/trade-review and .opencode/skills/trade-review in your project.
Going by SKILL.md and its folder, Trade Review needs the command-line tools its instructions call (python3, bash and claude). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Trade Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Trade Review: Trade (upstash/botstreet, 112 stars), Trade (AllenAI2014/ai-investment-advisor, 117 stars), Agent Trading Predictor (ruvnet/ruflo, 74k stars) and LLM Trading Agent Security (affaan-m/ECC, 277k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PatrickSUDO (a GitHub user) maintains it in PatrickSUDO/fadacai-portfolio, which has 142 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.
Source: PatrickSUDO/fadacai-portfolio on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.