name: stock-value-investing description: > 股票價值投資分析(A股/港股)。僅當用戶意圖屬於以下範圍時啟用: (1) 給出股票程式碼要求分析其投資價值;(2) 評估護城河/競爭優勢; (3) 檢查財務健康與盈利質量;(4) 用 DCF 或相對估值估算內在價值; (5) 評估管理層質量;(6) 做行業結構分析並給出綜合投資決策。 資料全部通過 akshare(國內可直連的公開源)獲取,零額外商業資料來源依賴。 本 skill 僅做研究分析,不預測股價、不薦股、不執行任何交易。 不適用於:期貨/期權/加密貨幣等衍生品、量化高頻交易、非上市公司盡調、 以及任何需要即時下單或資金操作的場景。
質量合規遵循 TRACE 五維體系(T 可信任 / R 可靠 / A 適用 / C 規範 / E 有效), 各項要求已落實到下文各節的介面、指令碼與文件設計中。
適合觸發(該呼叫時才呼叫)
- 使用者提供 A股 6 位程式碼(可帶 sh/sz 字首)或港股 5 位程式碼,並明確要求"分析/估值/護城河"等。
- 使用者提及關鍵詞:護城河、財務健康、內在價值、DCF、估值、管理層、行業分析、價值投資。
- 使用者希望對比多隻股票、構建/再平衡價值投資組合。
常見觸發表達(可直接對使用者複用的說法) - "幫我分析一下 600519 的估值" - "五糧液(000858)值得長期持有嗎?出一份價值投資報告" - "分析 000858,增長率假設 10%、折現率 8%" - "港股 00700 現在價格貴不貴?"(僅行情,無基本面)
不適合觸發(避免誤觸發) - 期貨、期權、可轉債、加密貨幣、外匯等衍生品行情或交易。 - 量化/高頻/擇時交易、短線打板、情緒博弈類需求。 - 非上市公司盡職調查、一級市場股權投資。 - 任何需要下單、資金劃轉、賬戶操作的請求(本 skill 無此能力且不提供)。 - 僅查詢"今天漲跌幅/新聞"等純資訊、無需分析框架的場景。
能力邊界(可預期承諾) - 輸出為"研究分析報告",非買賣建議;涉及預測的增速/折現率均顯式標註為假設。 - 資料存在延遲與缺失風險,關鍵結論須交叉核對交易所公告。 - 港股:僅支援行情資料(價格/歷史),無法獲取財務三表,因此 ROIC / FCF / DCF / 盈利質量 / PE·PB 等基本面指標均無法計算。港股分析僅限行情層面的有限描述(價格分位、相對大盤強弱),不建議用於完整價值投資分析。
按"行業 → 護城河 → 財務健康 → 估值 → 管理層 → 綜合決策"順序執行。 前兩步決定"值不值得看",後三步決定"多少錢買"。
誠實邊界(重要):行業 CR5/集中度、政策與替代品風險等定性內容不由指令碼計算,必須由 agent 檢索公開資料後填寫,且必須標註資訊來源;無可靠來源時不得斷言,統一標記
[待核實]。指令碼僅負責定量部分(ROIC/FCF/盈利質量/分位/DCF)。
四類護城河,需在資料上找到證據: | 護城河型別 | 資料證據 | |---|---| | 無形資產(品牌/專利/牌照) | 高且穩定的毛利率、淨利率;研發投入佔比 | | 轉換成本 | 高客戶留存、收入復購;行業切換成本高 | | 網路效應 | 使用者/交易量隨規模指數增長;市佔率領先 | | 成本優勢 | 單位成本低於同行;規模效應(營收/固定資產) |
輔助驗證指標:
- ROIC(投入資本回報率):> 8% 且連續多年穩定,是護城河的最強證據。
ROIC ≈ 息稅前利潤×(1-稅率) / (股東權益+有息負債)
- 自由現金流持續為正、資本支出佔比低。
這個技能的最新版本可以在7w4.net小蔥技能站找到。
兩種互補方法,必須同時給出:
1. DCF 自由現金流折現(見 scripts/dcf.py):
- 輸入:基期 FCF、預測期(通常 5-10 年)、增速、永續增長率、WACC。
- 輸出:每股內在價值,與現價比較得出安全邊際。
2. 相對估值(PE/PB 歷史分位):由 metrics.pe_pb_percentile 按歷史收盤價 + 最新股本/淨利潤/淨資產反推 PE/PB,給出當前值與歷史中位、分位(越低越便宜),並經 dcf.relative_valuation 給出"低估/偏高"判定。
- 注意:PS、EV-EBITDA 當前版本未實現(已在能力邊界如實標註),納入後續路線圖。
- 個股相對所屬行業指數與滬深300的累計收益、超額收益:由 fetch_data.py 拉取行業指數與滬深300歷史計算(最佳努力,缺失則標記 [資料缺失])。
- 若現價 < 內在價值 × (1 - 安全邊際),標記為"低估"。
誠實邊界:管理層相關資料不由指令碼計算,須由 agent 檢索公開資料(年報/公告/權威媒體)後填寫,並標註來源;無來源不得斷言。
結論檔位由指令碼基於資料自動派生(見 report.recommend_verdict),輸出三檔之一:
強烈關注 / 關注 / 中性,依據為 ROIC 護城河、安全邊際、盈利質量、FCF 正負等硬指標打分;
強週期/未知屬性且存在弱項時自動保守降級為"中性"。
agent/使用者可用 --verdict-override(須配合 --verdict-reason)覆蓋結論,
強制給出理由以避免確認偏誤。"關注/強烈關注"僅表示資料面值得研究,不等於買入訊號。
最終結論須配合"當前價 / 理想買點(按安全邊際)/ 賣出紀律"三段式建議。
輸入
- 必填:股票程式碼(A股 6 位數字;港股 5 位數字,指令碼自動補零到 6 位)。
- 可選(指令碼引數):--g 增速、--wacc 折現率、--g_term 永續增速、
--years 預測期、--tax-rate ROIC 稅率(預設 25%)、
--verdict-override 結論檔位覆蓋(關注/強烈關注/中性)、
--verdict-reason 覆蓋理由(強制填寫)、
--force-cycle 強制按強週期口徑、--show-basis 列印基準 FCF 序列、--fetch 先拉資料。
注:結論檔位不再接受空泛的
--verdict直接賦值,必須由資料派生或帶理由覆蓋。
校驗規則(指令碼必須執行,失敗顯式報錯,禁止靜默空結果)
- 程式碼必須為純數字且長度 5-6 位,否則報錯退出並提示正確格式。
- 資料目錄 data/<code>/ 不存在時,若未帶 --fetch 則明確報錯並說明需先拉資料。
- akshare 介面呼叫失敗時,列印具體異常與缺失欄位,而非返回空表矇混;
報告中對無法獲取的指標統一標記為 [資料缺失]。
- DCF 校驗:WACC 必須 > 永續增長率,否則拋 ValueError 說明不收斂;
FCF ≤ 0 時跳過 DCF 並提示"當前自由現金流為負,不適用 DCF"。
依賴自動配置(推薦先行):本 skill 自帶 scripts/ensure_env.py,會在執行任意分析指令碼之前自動檢測並安裝缺失依賴(akshare / pandas)。普通使用者無需手動 pip install。
python scripts/ensure_env.py --auto # 檢測並自動安裝依賴
python scripts/ensure_env.py # 僅檢測並列印狀態
遇到 Linux 系統 Python 的 PEP 668「外部管理環境」限制時,
ensure_env.py不會靜默失敗,也不會讓你手動處理:它會自動建立.venv並在其中安裝 akshare/pandas,經os.execv自動切換到 venv 直譯器;Windows/macOS/Linux 行為一致,無需手動建虛擬環境或加--break-system-packages。
呼叫前先 python scripts/ensure_env.py --auto(或手動 pip install akshare pandas)。A股程式碼統一傳 6 位字串
(如 "600519"),港股用 "00700"。所有介面均為公開行情/財務源,國內網路可直連。
import akshare as ak
ak.stock_profit_sheet_by_report_em(symbol="SH600519") # 利潤表(寬表:行=報告期,列=科目英文程式碼)
ak.stock_balance_sheet_by_report_em(symbol="SH600519") # 資產負債表
ak.stock_cash_flow_sheet_by_report_em(symbol="SH600519") # 現金流量表
ak.stock_financial_abstract_ths(symbol="600519") # 同花順摘要
ak.stock_individual_info_em(symbol="600519") # 基本資訊(最佳努力)
ak.stock_zh_a_hist(symbol="600519", period="daily",
start_date="20200101", end_date="20261231", adjust="qfq")
重要(欄位結構):
*_sheet_by_report_em返回寬表——每行一個報告期、 每列一個科目,且科目名為英文程式碼(如TOTAL_EQUITY股東權益、NETCASH_OPERATE經營現金流淨額、CONSTRUCT_LONG_ASSET購建長期資產、SHARE_CAPITAL股本)。metrics.py用"概念→英文程式碼候選"對映取值, 較中文模糊匹配更抗版本變動。PE/PB 不依賴額外介面:由三表的淨利潤/淨資產/股本直接計算 (
PE = 現價 / (淨利潤/股本),PB = 現價 / (淨資產/股本)),因此無需 已廢棄的stock_a_indicator_lg等估值介面。介面命名隨 akshare 版本可能變動;若某介面失效,
fetch_data.py會對 非核心介面做最佳努力容錯,並在報告中標記[資料缺失]。
環境自檢(自動,必須先行):執行 scripts/ensure_env.py --auto 確保 akshare / pandas 已安裝;report.py 與 fetch_data.py 直接執行時,指令碼頂部已內建該自檢,無需手動呼叫。若遇 PEP 668 外部管理環境,指令碼會自動建立 .venv 並安裝依賴後重跑,無需手動處理。依賴就緒後再進入第 1 步。
解析輸入:提取股票程式碼、使用者關心的重點(估值/護城河/…),校驗程式碼格式。
scripts/fetch_data.py 把財務三表、行情、估值指標落盤為 csv。scripts/metrics.py 計算 ROIC、FCF、盈利質量、分位(自動容錯欄位)。scripts/dcf.py 跑 DCF + 相對估值,輸出內在價值區間。scripts/report.py,
串聯上述指令碼、按第六節模板自動生成 Markdown 報告並儲存到
reports/<code>_report.md。流程末尾必須呼叫,不要僅口頭總結。```bash # 最簡:用中性預設假設(g=8% / WACC=10% / 永續 2% / 預測期 10 年) python scripts/report.py 600519
# 推薦:顯式假設;結論由資料派生,必要時帶理由覆蓋
python scripts/report.py 600519 --fetch \
--g 0.08 --wacc 0.10 --g_term 0.02 \
--verdict-override 關注 --verdict-reason "ROIC>15% 且安全邊際>30%,資料面值得研究"
``
---fetch:若data//尚未生成則先拉取資料。
- 報告中定量部分由指令碼填充;行業結構 / 管理層 / 綜合決策三段中的
定性內容由 agent 檢索公開資料填寫並**標註來源**,不得編造數字。
7. **交付**:把reports/_report.md` 內容呈現給使用者,並口頭點出
關鍵結論(護城河評級、安全邊際、買點);同時附上風險提示。
報告由 report.py 自動生成,結構固定、可直接使用:
# 【股票程式碼】公司名稱 價值投資分析報告
> 資料來源:akshare | 生成日期:自動 | 結論:關注檔位
## 1. 行業結構
- 所屬行業:(自動識別)| 週期屬性:強週期 / 穩定
- 生命週期 / 格局 / 壁壘:
## 2. 經濟護城河
- ROIC(最新):x% → 護城河評級:寬/窄/弱
- 型別與證據:
## 3. 財務健康
- 盈利質量(經營現金流/淨利潤):
- 自由現金流(最新):
- 償債 / 成長 / 分紅:
## 4. 估值
- DCF 內在價值(中性):X 元/股(假設:增速 g%、WACC r%、稅率 t%;WACC±1.5pct 敏感區間)
- 當前價:Y 元 | 安全邊際:z% → 低估/合理/偏高
- 價格歷史分位:p%(區間 min~max)
- 相對強弱(區間累計):個股 % | 行業 % | 滬深300 %(含相對行業/大盤超額,缺失則 [資料缺失])
- 相對估值(PE/PB 歷史分位):當前 / 歷史中位 / 分位;相對估值結論(低估/偏高)
## 5. 管理層(agent 檢索填寫,須標註來源)
- 資本配置 / 誠信 / 激勵:
## 6. 綜合決策(結論檔位由指令碼資料派生)
- 推薦檔位(指令碼派生):(強烈關注 / 關注 / 中性)及依據
- 最終檔位:(若被覆蓋則標註覆蓋理由)
- 當前價:
- 理想買點(安全邊際 30%):
- 賣出紀律:
## 7. 資料質量與口徑說明
- 分析基準(年報報告期):
- 異常/缺失提示(如年報與季報矛盾已自動棄用、相對強弱缺失等):
- 口徑與假設提醒(DCF 敏感性等):
> 風險提示:資料存在延遲/缺失,DCF 對摺現率與永續增速極度敏感,
結論應取區間。本報告僅作研究分析,不構成投資建議。
報告第七節的"資料質量與口徑說明"由
report.py自動生成, 僅含面向使用者的口徑/異常/缺失提示(如異常年報已棄用、相對強弱缺失), 不得在交付報告中寫入 skill 自身的程式碼改動、內部開發記錄等無關資訊。
本 skill 按 TRACE 五維(T 可信任 / R 可靠 / A 適用 / C 規範 / E 有效)的最高標準設計,各項要求已落實到介面、指令碼與文件中:
metrics.get_stock_name 並接入報告標題——原 report.py 呼叫了不存在的 M.get_stock_name(code),標題降級為"行業(程式碼)",現從 info.csv 的"股票簡稱"欄位解析,正確顯示公司名;② report.py --fetch 非法程式碼退出碼對齊文件——補 try/except,非法的 validate_code 現 exit 2(原因未捕獲異常 traceback 退出 1);③ dcf_value 新增 wacc > g 守衛——當顯性期增速 g ≥ WACC 時丟擲 ValueError(前段現金流不收斂、內在價值失真),並將 dcf.py 預設假設保持中性(g=8%/WACC=10%/永續 2%);④ detect_bad_annual_all 閾值下調 0.5→0.8——單季營收/淨利≥年報 80% 才判異常,顯著降低季節性正常企業的誤報;⑤ validate_code 港股 5 位程式碼不再補零——00700 保持 5 位(akshare 港股介面收 5 位),6 位 A 股仍補零到 6 位;⑥ classify_cycle 新增防禦型關鍵詞優先匹配——醫藥/製藥/生物/醫療等優先判為"穩定",修正"化學制藥""醫療器械"被"化學"誤判為強週期的問題。report.recommend_verdict 由 ROIC/安全邊際/盈利質量/FCF 打分,強週期/未知且存弱項時自動降級為中性),移除"空泛 --verdict 直接賦值",改為 --verdict-override + --verdict-reason 強制帶理由覆蓋,杜絕確認偏誤;② 接入 PE/PB 歷史分位(metrics.pe_pb_percentile + 修復並啟用 dcf.relative_valuation),並如實標註 PS/EV-EBITDA 未實現;③ 強週期 FCF 平滑方向修正:由"只取正值均值"改為"中位數且保留負值",避免景氣高點外推導致內在價值系統性偏高;④ DCF 預設假設中性化:g=8% / WACC=10% / 永續 2%(原 g=12%/WACC=9% 偏樂觀);⑤ 工程加固:report.py 頂層副作用移入 main(模組可被 import 單測)、抽出 metrics.extract_dcf_inputs 公共 API 消除對 _find/_latest_row 私有符號穿透、刪除重複 _to_float;⑥ 資料時效與健壯性:fetch_data.py 日期範圍動態化(回看約 5 年)、抓取後寫入 .meta.json(報告第 7 節提示新鮮度);⑦ 異常年報檢測升級為歷史掃描(detect_bad_annual_all,支援多年同時異常)並支援 --tax-rate 透傳;⑧ 文件誠實化:能力邊界明確"行業 CR5/管理層等定性由 agent 檢索填寫並標註來源、不得編造"。metrics.py 的 _find 欄位取值 bug(原按資料列順序返回首個匹配,易誤命中無效/佔位近似列如 OPERATE_NETCASH_BALANCE、LIAB_EQUITY_BALANCE,導致 ROIC/FCF/盈利質量/BVPS 計算錯誤;現改為按 FIELD_MAP 候選優先順序遍歷並跳過空值/nan);② 新增異常財報自動檢測(最新年報與最新季報存在邏輯矛盾時自動棄用該異常年報、改用上一期年報重算);③ 增強 ensure_env.py 依賴自檢——網路自適應選最快 PyPI 映象、遇 PEP 668 外部管理環境時自動建立 .venv 並在其中安裝依賴(指令碼經 os.execv 自動切換直譯器,Windows/macOS/Linux 行為一致);④ DCF 敏感性矩陣自動寫入第 4 節報告(不同 g/WACC 組合下的內在價值區間);⑤ 第 6 節自動給出賣出紀律(規則化參考,非指令);⑥ 第 5 節補充管理層資料支撐線索(用 ROIC 等硬指標提示判斷角度);⑦ 技術性異常轉通俗中文告警(fetch_data.py 的 _friendly_err 將 RemoteDisconnected/Expecting value 等轉成"資料來源連線中斷/介面返回空"並附重試建議);⑧ 新增集中 FAQ/避坑指南(README)與觸發表達示例(SKILL/README)。這個 Skill 質量較好,分析框架完整(六大模組),資料獲取省心(自動裝依賴、PEP 668 自動處理),對缺失資料誠實標註不造假,結論由資料派生而非空泛輸入,文件和 FAQ 非常詳細。主要缺點是港股只有行情沒有基本面、相對估值還不完整,以及依賴的 akshare 可能偶發介面波動。總體適合有一定分析需求的使用者,國內網路使用體驗最佳。