Options Strategy Calculator

SkillDev tools

Calculate and compare options strategies (sell put, covered call, LEAPS, naked call) for a given ticker. Usage - /options-strategy TICKER STRATEGY

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Options Strategy Calculator skill

What this skill tells your AI

The instructions your AI receives, as published by patricksudo/fadacai-portfolio in .agents/skills/options-strategy/SKILL.md and read by ahel’s review.

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

  1. Parse ticker and strategy from arguments

Multi-Ticker Parallel Mode

當偵測到多個 ticker(如 /options-strategy PLTR AMD MU sell-put):

  1. 為每個 ticker 派出獨立 Agent 子代理(subagent_type: "data-collector",Sonnet 4.6),每個 Agent 執行:
    • get_stock_info — 現價 + 基本面
    • get_option_chain — 選擇權鏈
    • get_technical_indicators — 波動率 + RSI + 動量
    • get_support_resistance — S/R levels for strike selection
  2. 每個 Agent 回傳 raw 選擇權數據,主 skill 計算所選策略 3-4 個 strike 的損益數據
  3. 整合為比較表,依 E_adj 排序:
Ticker現價StrategyBest Strike(s)Max ProfitMax Loss損益比ATR%E_adj排名

若 Agent tool 不可用,依序處理各 ticker 亦可。


  1. 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_indicators to get volatility regime, ATR, and RSI
    • Use mcp__technical-mcp__get_support_resistance to identify key levels for strike selection
  2. 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
  3. 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
  1. 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 Callharvest 端:肥利潤落袋替代直接賣股🟢 認列桶 ≥100 股 + revision 轉折/題材降溫信念桶不開 CC 封頂(>10% 紅線減碼除外);strike 近 R1/分析師 PT,30-45 DTE
Bull Call Spreadredeploy 端:加速領導者貼高/超買的定義風險參與revision 上修中 + 貼 52W 高(「超買」不是不追的理由,是換結構的理由)max loss = net debit,凸性參與強者恆強
Bull Put Spreadredeploy 端:支撐區進場替代限價單回檔至支撐 + thesis 完好short strike 貼支撐,寬 $10-20
LEAPS deep ITM信念端:股票替代,釋放資金給飛輪🔵 信念桶多年 thesisdelta 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
  1. Volatility-Adjusted Guidance Based on mcp__technical-mcp__get_technical_indicators volatility 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_resistance to suggest sell put strikes near support
  2. 倉位管理 & 波動率標準化

    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 排序。

  3. 第一性檢查(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:哪個更優?
    
  4. 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 生成

報告完成後:

  1. 使用 Write tool 把完整 markdown 寫到 briefing-out/options-strategy-<TICKER>-YYYY-MM-DD.md
  2. 執行:
python3 tools/generate_html.py options-strategy briefing-out/options-strategy-<TICKER>-YYYY-MM-DD.md --push

成功時印出網頁連結,失敗時印警告並繼續。

Signals

GitHub stars
139
Forks
12
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
options-strategy-patricksudo
Source
github.com/patricksudo/fadacai-portfolio