Community研究與資料分析github.com

wbdou2006/ClaudeSkills

研究股票或ETF距離其52週高點的跌幅、下跌原因以及多空論點,並生成一致的HTML報告;若使用者提供電子郵件地址,還可準備一封可直接寄送的郵件。

ClaudeSkills 是什麼?

此技能專為需要快速、深入分析股票或ETF相對於52週高點表現的使用者設計。它能自動計算每支標的從52週高點以來的跌幅、回檔幅度與回報率,並研究每支標的下跌的驅動因素、多頭與空頭論點,以及基本面數據缺口。技能支援使用者指定的任意股票代號,若未指定則使用預設觀察清單(XLK, FTEC, QQQ, SMH, ARTY, S&P 500, Dow Jones)。整個流程可平行呼叫子代理進行研究,再由腳本驗證數據一致性,並生成一份包含總覽表、每標的詳細面板(含每週K線圖、多空論點等)的HTML報告。若使用者提供電子郵件地址,技能還能產出一封可直接寄送的.eml郵件(附報告附件),但寄送動作由使用者自行完成,技能本身不涉及任何交易或發送郵件功能。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/wbdou2006/ClaudeSkills/tree/HEAD/stock-analysis

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

股票分析

此技能每次產出相同的報告格式:

  • 總覽表
  • 每個標的面板,包含:
    • 基本事實
    • 與52週高點比較的每週K線圖
    • 回報率
    • 下跌驅動因素
    • 多頭與空頭論點
    • 持倉、數據缺口及計算日誌

所有腳本負責算術運算與HTML生成。你的工作是研究與檢查。請勿重新設計頁面或手寫HTML。

SKILL_DIR 是包含此檔案的資料夾。透過對本 SKILL.md 路徑執行 dirname 一次取得該路徑。

檔案

路徑用途
scripts/compute_drawdown.py每日CSV → 52週高點與低點、跌幅%、回報率、每週收盤價
scripts/verify.py從CSV重新推導每個標題數字,檢查欄位與來源,寫入 verified.json,有任何問題則退出碼為1
scripts/build_report.pyworker JSON + verified.json → 單頁自含HTML(使用 assets/report.css)
scripts/build_email.py相同驗證數字 → 可直接寄送的 drawdown_report.eml(適合郵件的HTML + 純文字,報告附在附件中);驗證地址有效性
scripts/send_email.py供使用者在自己的電腦上執行:透過SMTP傳送 .eml,含確認提示與本機輸入的應用程式密碼
defaults.json使用者未指定股票代號時使用的預設觀察清單(使用者可編輯)
references/worker_brief.md每個worker遵循的簡報(填入 {…} 佔位符)
references/schema.md<TICKER>.json 的合約規範
examples/run-2026-10-16/完整的參考執行(FTEC, QQQ, SMH, ARTY):四個worker JSON 與完成的 report.html。將其作為深度、語調與引用風格的標竿。

工作流程

1. 設定

  1. 從使用者的請求中讀取代號清單。
    • 未指定代號(「執行我的股票分析」、「市場相對於高點如何?」):讀取 $SKILL_DIR/defaults.json 並依序使用其 default_watchlist。在第一行說明你正在使用預設觀察清單並列出內容。
    • 指定代號: 僅使用這些代號;除非使用者要求(例如「平常的加上NVDA」),否則不加入預設值。
    • 指數(S&P 500、道瓊、納斯達克綜合指數…):研究指數本身的數值,使用 defaults.json 中的 id(SPX、DJI)或簡短標籤如 COMP 作為檔名中的代號。告知worker該標的是指數(參見簡報中的指數備註)。
  2. 建立工作資料夾:WORK_DIR=$PWD/drawdown-<YYYY-MM-DD>。
  3. 建立任務清單,包含:
    • 每個代號一個任務
    • 「驗證數字」
    • 「建立並發布報告」

2. 分發

為每個代號平行且背景啟動一個子代理。每個代理的提示為:

  • references/worker_brief.md 的完整文字,
  • 並將 {TICKER}、{WORK_DIR}、{SKILL_DIR} 和 {TODAY} 填入,
  • 再加上值得檢查的特定代號相關角度。對於晶片基金,例如:出口管制、超大型資料中心資本支出、記憶體週期。

當使用者僅指定一或兩個代號且未要求子代理時,你可以按照同一份簡報自行進行研究。

3. 等待

當一個worker完成時,將其任務標記為完成,並發布一行:代號、其跌幅%以及其高點日期。請勿讀取worker的轉錄內容。

4. 驗證

執行:

python3 $SKILL_DIR/scripts/verify.py --dir $WORK_DIR --tickers <T...>

如果報告 MISMATCH、MISSING 或 NO SOURCE/TS,請在建立報告前修正問題:

  • 算術或手動複製錯誤: 重新執行 compute_drawdown.py 並從 <T>_metrics.json 更正JSON。
  • 遺漏的研究: 使用 SendMessage 將worker送回。

UNCITED 和 NO CROSS-CHECK 屬於警告。若它們在最終報告中仍然存在,請在回覆中提到。

5. 建立

執行:

python3 $SKILL_DIR/scripts/build_report.py --dir $WORK_DIR --tickers <T...> \
  --out $WORK_DIR/drawdown_report.html --title "<2-4個字的標題>" --eyebrow "<例如:ETF 回檔分析>"

選擇標題: 選取簡短且具體的名稱,例如「科技ETF回檔」或「晶片股回調」。對同一組合的重複執行使用相同標題。

6. 發布

使用 Artifact 工具發布HTML,設定 icon: "chart" 以及一句描述,指出代號與截止日期。

  • 同一組合的重複執行: 如果使用者希望保留舊連結,則重新發布到該 artifact 的URL。
  • 請勿編輯產生的HTML。 報告層級的變更應屬於 build_report.py 或 assets/report.css。

7. 電子郵件(僅在使用者提供地址時)

除非使用者自己的訊息中包含電子郵件地址(例如「…並將它寄到 [email protected]」),否則跳過此步驟。如果使用者說「寄給我」但未提供地址,請要求提供;切勿猜測或重複使用其他地方的地址。

不要使用連接器。 請勿使用 Gmail、Outlook 或任何其他電子郵件連接器或瀏覽器自動化,也不要要求或處理電子郵件密碼。寄送動作在使用者端完成:你準備一封可直接寄送的訊息,由使用者自行寄出。

  1. 建立郵件。
    python3 $SKILL_DIR/scripts/build_email.py --dir $WORK_DIR --tickers <T...> --to <address...> \
      --report $WORK_DIR/drawdown_report.html --artifact-url <published link> --title "<same title>"
    
    退出碼2表示地址無效:請要求使用者更正。腳本會寫入 drawdown_report.eml(HTML + 純文字,報告附件,收件人與主旨已填寫),以及 email_body.html、email_body.txt 和 email.json。
  2. 交付郵件。 使用 SendUserFile(顯示 attach)傳送 drawdown_report.eml。
  3. 告知使用者如何寄送,以兩三行說明:
    • 在 Outlook 中開啟 .eml(會以草稿開啟)或在 Apple Mail 中(郵件 → 再次傳送),檢查後按下傳送。
    • 或者,使用使用者自己的電腦上的終端機:python3 send_email.py drawdown_report.eml --from <他們的地址>。腳本會顯示收件人、要求確認,並自行提示輸入應用程式密碼。如果使用者要求,也一併傳送 scripts/send_email.py。
  4. 連結的隱私。 artifact 對使用者為私人。如果收件人是其他人,請說明除非使用者分享頁面,否則收件人將依賴附件報告。

8. 回覆

保持回覆簡短:

  1. 一句話說明頁面內容。
  2. 按跌幅排序的 markdown 表格,欄位包含:代號、最後收盤價、52週高點(日期)、跌幅。
  3. 兩到三點關於跨代號主要發現的項目符號。
  4. 一則簡短的「數據缺口」說明,涵蓋影響本次執行的工具失敗情況。
  5. 如果要求了郵件:一行說明 .eml 已準備好可寄送以及方式。

請勿重述步驟。

不可協商條款

  1. 每個數字均來自工具呼叫,附帶其來源與時間戳。
  2. 「無數據」勝過猜測。
  3. 所有數學運算均在腳本中完成。
  4. 僅使用唯讀工具。 不得觸碰訂單、警報或觀察清單工具。不要親自發送郵件;步驟7僅準備訊息供使用者寄送。
  5. 不提供買入或賣出建議。 公平地呈現兩種論點。

相關技能