Options Strategy Calculator
Evaluate options strategies for a given ticker with risk/reward analysis.
Step 0: 配置同步 & 倉位偵測
執行 AGENTS.md 的 Step 0 統一規範(0a → 0b → 0c → 0d → 0e)。
- 讀
plan.md+feedback/*.md(必做);了解此標的在計畫中的進場策略與 strikes - 呼叫
get_account_position取即時持倉(確認現有部位與資金狀況) - 今日 journal 不存在 → 執行 gap-fill + 變動偵測 + 自動建立 journal
- 0e 第一性原理紀律:在 Recommendation 之前必須完成「方向 thesis / 證偽條件 / IV 機率分布」三題(見 AGENTS.md 0e)
Arguments
/options-strategy TEAM sell-put— Sell put analysis/options-strategy SSRM covered-call— Covered call analysis/options-strategy MU leaps— LEAPS replacement analysis/options-strategy FSLY naked-call— Speculative call analysis/options-strategy PLTR all— Show all applicable strategies/options-strategy PLTR AMD MU sell-put— 多標的比較(平行)/options-strategy MU sell-put --codex— 加 Codex 第二意見(adversarial review of strike selection)
Workflow
- Parse ticker and strategy from arguments
Multi-Ticker Parallel Mode
當偵測到多個 ticker(如 /options-strategy PLTR AMD MU sell-put):
- 為每個 ticker 派出獨立 Agent 子代理(subagent_type: "data-collector",Sonnet 5),每個 Agent 執行:
get_stock_info— 現價 + 基本面get_option_chain— 選擇權鏈get_technical_indicators— 波動率 + RSI + 動量get_support_resistance— S/R levels for strike selection
- 每個 Agent 回傳 raw 選擇權數據,主 skill 計算所選策略 3-4 個 strike 的損益數據
- 整合為比較表,依 E_adj 排序:
| Ticker | 現價 | Strategy | Best Strike(s) | Max Profit | Max Loss | 損益比 | ATR% | E_adj | 排名 |
|---|
若 Agent tool 不可用,依序處理各 ticker 亦可。
-
Get Current Price & Technicals
- If Yahoo Finance MCP is available, fetch real-time quote
- Otherwise use WebSearch: "[TICKER] stock price today"
- 現有持倉從 Step 0 的
get_account_position取(已淘汰 current-position.md) - Use
mcp__technical-mcp__get_technical_indicatorsto get volatility regime, ATR, and RSI - Use
mcp__technical-mcp__get_support_resistanceto identify key levels for strike selection
-
Get Options Data
- If Options Chain MCP or Yahoo Finance MCP is available, fetch actual options chain
- Otherwise, estimate premiums based on:
- Stock price and volatility
- Days to expiry
- Strike distance from current price
- Historical IV if available via WebSearch
-
Strategy Analysis
Sell Put
For 3-4 strike levels (near ATM to 15-20% OTM): | Strike | OTM % | Expiry | Est. Premium | Breakeven | Annualized Return | P(assign) | Margin Est. |
- Margin estimate = 20-25% of (strike × 100) for margin account
- Annualized return = (premium / margin) × (365 / DTE)
- Show assignment scenario: what happens if assigned
Covered Call
Requires existing shares(從 get_account_position 確認):
| Strike | OTM % | Expiry | Est. Premium | Max Profit | Annualized Yield | P(called away) |
- Flag if user has enough shares for round lot (100)
LEAPS (Stock Replacement)
For 2-3 strike levels (10-25% ITM): | Strike | ITM % | Expiry | Est. Cost | Delta | Equiv. Shares | vs. Holding Stock |
- Compare capital required: LEAPS vs equivalent shares
- Calculate capital freed
- Time value at risk
- Note: if the user's broker is Level 2 only (no spreads), PMCC is unavailable
Bull Put Spread
For 2-3 strike combinations (short strike near support, long strike $10-20 below): | Short Strike | Long Strike | Width | Max Profit | Max Loss | Breakeven | P(profit) | Margin |
- Max profit = net premium received
- Max loss = width × 100 - premium
- Margin requirement = width × 100
- 引用配置計畫中建議的 strike levels(如有)
Bear Call Spread
For stocks with revision 下修/flat + 現價已超分析師 PT(不以 RSI 過高為條件): | Short Strike | Long Strike | Width | Max Profit | Max Loss | Breakeven | P(profit) |
- Suitable for: revision 下修/flat + 已超分析師 PT 的標的(RSI 過高不是開 BCS 的理由 — 不對 revision 上修中的強者反向封頂)
Naked Call (Speculative)
| Strike | OTM % | Expiry | Est. Cost | Breakeven | Max Loss |
- Flag this as high risk
- Only for small speculative positions
- Broker Constraints(內部參考,不輸出)
分析時遵守以下限制,但不在輸出中顯示此區塊:
- Options Level 2 + Spread 已開通(2026/03/03 起)
- 可做 Bull/Bear Put/Call Spread、PMCC
- Sell Put 使用 Margin(非 cash-secured 全額)
- 不能做裸賣 Call(需 Level 3+)
- 配置計畫原則:不再開裸 Sell Put,全部用 Spread
- 財報 ±48h 不開新選擇權部位(IV 扭曲定價失準,per
feedback/options-leaps-playbook.md);既有部位管理不受限
5.5 策略角色對映(飛輪定位 — 每次 Recommendation 前先確認本次操作在飛輪哪一環)
| 策略 | 飛輪角色 | 適用桶/情境 | 紀律 |
|---|---|---|---|
| Covered Call | harvest 端:肥利潤落袋替代直接賣股 | 🟢 認列桶 ≥100 股 + revision 轉折/題材降溫 | 信念桶不開 CC 封頂(>10% 紅線減碼除外);strike 近 R1/分析師 PT,30-45 DTE |
| Bull Call Spread | redeploy 端:加速領導者貼高/超買的定義風險參與 | revision 上修中 + 貼 52W 高(「超買」不是不追的理由,是換結構的理由) | max loss = net debit,凸性參與強者恆強 |
| Bull Put Spread | redeploy 端:支撐區進場替代限價單 | 回檔至支撐 + thesis 完好 | short strike 貼支撐,寬 $10-20 |
| LEAPS deep ITM | 信念端:股票替代,釋放資金給飛輪 | 🔵 信念桶多年 thesis | delta 0.80–0.88、12-18 個月、<90 DTE 評估 roll;未實現 >+80% → 評估 roll-up 收回本金留曝險(LEAPS 版分批停利,per feedback/tiered-profit-taking.md) |
| Bear Call Spread | 對沖/超目標價 harvest 輔助 | revision 下修 + 超分析師 PT 的認列桶 | 不對 revision 上修中的持倉開(會反向封頂強者) |
| 短 DTE OTM Call 樂透 | 衛星倉 | binary catalyst 30d 內 + 具體論述 | 總成本 ≤2% 帳戶,IV Rank >80 不做;+100% 賣半回本,剩餘 house-money runner |
-
Volatility-Adjusted Guidance Based on
mcp__technical-mcp__get_technical_indicatorsvolatility regime:- High volatility regime → sell premium strategies more attractive (higher premiums), wider strikes
- Low volatility regime → buying options cheaper, tighter strikes for sell strategies
- RSI oversold (<30) → sell put premiums attractive, consider buying calls
- RSI 過高不作任何指引(2026-07-01 移除舊「overbought → avoid buying calls」— revision 上修中的強者照樣可用 bull call spread 參與,方向由 revision 定)
- Use support levels from
get_support_resistanceto suggest sell put strikes near support
-
倉位管理 & 波動率標準化
Quarter-Kelly 倉位上限: 單筆 Spread 最大配置 = min(總資產 5%, Spread 最大損失)。 同方向 Spread 合計 ≤ 總資產 15%。 (總資產從 Step 0 的
get_account_balance即時取得)Swing Risk / Adjusted Risk 框架(per
feedback/realized-pnl-business-model.md):- 既有選擇權部位的 Swing Risk = Premium 成本 + 當前未實現利潤(以歸零為最壞情境 = Expiry Risk);肥利潤未落袋 → 主動建議部分平倉/roll 鎖利
- Roll 決策用 Adjusted Risk 視角:同標的累積已認列獲利後,新倉真實風險 =
新倉成本 − 該標的累積已認列;累積認列 ≥ 起始投入 = Risk-Free State。建議 roll/落袋時用此框架呈現,不寫「賣了就少賺」 - BPS/BCS 達 50–75% 最大利潤 → 建議平倉認列(theta 後段風險報酬比惡化),釋放 margin 回飛輪
波動率標準化比較 (E_adj): 當同時評估多個 Spread 機會時,計算:
E_adj = 損益比 / ATR% 損益比 = Max Profit / Max Loss ATR% = ATR / 現價 × 100(從 get_technical_indicators 取得)E_adj 越高 = 風險調整報酬越好,應優先開倉。 在 Recommendation 中顯示 E_adj 排序。
-
第一性檢查(Recommendation 前必填)
### 第一性檢查(Options 層級) - **方向 thesis:** [1 句可驗證命題,例:「MU FY26 EPS forward $XX 隱含 PE XX,週期高點未到」] - **證偽條件:** [2-3 個 falsifiable — 例:「下季 ASP 連續下跌」「庫存週數超 X 週」「DRAM spot price -10%」] - **IV / 機率分布:** | 情境 | 機率 | 標的 12 個月價 | Strategy P/L | |------|------|--------------|--------------| | 樂觀 | XX% | $XXX | +$XXX | | 基準 | XX% | $XXX | +$XXX | | 悲觀 | XX% | $XXX | -$XXX | Expected P/L = Σ(機率 × 損益) = $XXX 對比單純買現股的 expected return:哪個更優? -
Recommendation
- Which strike/expiry combination is best for this ticker
- How it fits with existing portfolio
- 飛輪定位(引用 5.5 對映表:本操作是 harvest / redeploy / 信念端哪一環;若是 harvest,同時給盈餘配對去處或標 dry powder)
- Position sizing(根據 Quarter-Kelly 上限)
- E_adj 分數(如有比較對象)
- 明確說 Recommendation conditional on 哪個情境 + 機率
- 結尾附可掛的單(per
feedback/actionable-firstrade-orders.md):結構 + 買賣別 + 履約價 + 到期 + limit credit/debit + 口數 + 效期,照抄可下;複式單無法 GTC → 給價格警報價位 + 預定結構(觸發後 2 分鐘執行)
Step 9: Codex 第二意見(opt-in)
僅當 arguments 含 --codex 或 --2nd 時執行。
B1. 獨立第一性分析(預設,independent first-principles)
核心原則:Codex 不看 Claude 的 strike 選擇與 Recommendation,只給 raw market data,讓它獨立挑 strike + 計 E_adj。Claude 與 Codex 兩個獨立輸出並排比較。
呼叫 Codex(用 AGENTS.md「Codex 呼叫方式」的 codex exec CLI;勿用 codex:codex-rescue subagent / /codex:rescue,會卡 superpowers preamble),prompt 首行加強制 no-tool 指令,模板:
我是一名美股投資人,使用 Level 2 options + Spread 的 margin 帳戶。 請對 [TICKER] 在策略 [STRATEGY] 下,**完全獨立**選 strike + 計算 E_adj — 不要看任何先前推薦,這是獨立第二意見。 **Raw market data(只給事實):** - 現價:$XXX - ATR / IV / IV Rank:[數據] - 分析師中位 PT:$XXX - 技術面:RSI / 趨勢 / 距 52W 高 / R1 / S1 / SMA50 - 近期催化:[財報日、產業事件] - 配置上下文:用戶帳戶 ~$XXX,Quarter-Kelly 單筆上限 5%(~$XX,XXX) - 用戶持倉:[已持有 X 股 / 未持有] **可選 strike 範圍:** [列出該策略下合理的 3-5 個 strike + DTE 組合,不標註哪個是 Claude 選] - Strike $X DTE Y → 權利金 $X / 損益比 X.X / breakeven $X - Strike $X DTE Y → ... **請輸出:** 1. **核心 thesis**(1 句可驗證命題:為何此標的此時適合此策略?) 2. **證偽條件**(2-3 個 falsifiable — 例如:IV 跌破某值、現價跌破 SMA50、財報 miss) 3. **strike 選擇 + E_adj 計算:** | Strike | DTE | 權利金 | 損益比 | ATR% | E_adj | 機率盈利 | |--------|-----|-------|--------|------|-------|---------| | ... | 推薦 strike:[$X DTE Y] / 開 [N] 口 / 總收入 $X / 鎖定資本 $X / 最大損失 $X 4. **Verdict**(1 句):建議執行 / 暫緩 / 換策略,並說明 conditional 在什麼前提。 **規則:** - E_adj = 損益比 / ATR%(越高越優先) - 必須講口數(AGENTS.md feedback 規定) - 不假設 Claude 選哪個 strike - 用客觀數據與你自己的 mental model 請以繁體中文回覆,控制在 600 字內。 --effort high --fresh
輸出整合
## 🤖 Codex 第二意見(獨立第一性分析) ### Codex 獨立輸出 **核心 thesis:** [Codex thesis] **證偽條件:** [Codex 列的條件] **Codex 推薦 strike:** $X DTE Y,開 N 口 - 總收入:$X - 鎖定資本:$X - E_adj:X.X **Codex Verdict:** [...] --- ### 並排比較:Claude vs Codex(獨立輸出) | 維度 | Claude | Codex | 一致性 | |------|--------|-------|--------| | 推薦 strike | $X DTE Y | $X DTE Y | 同 / 異 | | 口數 | N | N | — | | 總收入 | $X | $X | 差異 | | E_adj | X.X | X.X | — | | Verdict | 執行 / 暫緩 | 執行 / 暫緩 | 同 / 異 | **真實共識**(兩邊獨立都認同):[1-2 條 — 高信心結論] **真實分歧**(兩邊獨立得出不同結論):[1-3 條 — 值得深入] **整合建議:** [基於真實共識的最終 strike + 口數,或建議再等資料]
進階:--codex-adversarial(opt-in 壓力測試)
僅當 arguments 含 --codex-adversarial 時,追加對立面審查段落(攻擊 strike 選擇、找最弱假設)。預設 --codex 不執行。
若 Codex 失敗 → 輸出
⚠️ Codex 不可用:[error],跳過第二意見,繼續正常輸出。
Output Language
Use Traditional Chinese (繁體中文) for all text output.
存檔 + HTML 生成
報告完成後:
- 使用 Write tool 把完整 markdown 寫到
briefing-out/options-strategy-<TICKER>-YYYY-MM-DD.md - 執行:
bashpython3 tools/generate_html.py options-strategy briefing-out/options-strategy-<TICKER>-YYYY-MM-DD.md --push
成功時印出網頁連結,失敗時印警告並繼續。


