純 Python 標準庫核心,零 pip 依賴。覆蓋 12 個全球市場 + 股票/基金/指數/債券/商品/期貨/貨幣基金/可轉債。 資料來源:騰訊 + 東方財富(免費無 Key)+ akshare(可選增強,未裝自動降級)。
| 市場 | 程式碼格式 | 示例 | 資料來源 |
|---|---|---|---|
| A股 | 6 位數字 / cn: 字首 |
600519 cn:600519 |
騰訊/東財 |
| 港股 | hk: 字首 / .HK 字尾 |
hk:00700 00700.HK |
騰訊 |
| 美股 | us: 字首 / .US 字尾 |
us:AAPL AAPL.US |
騰訊/東財 |
| 全球指數 | idx: 字首 |
idx:N225 idx:SPX idx:上證指數 |
騰訊 |
| 商品期貨 | 品種:交易所 |
gold:comex crude:wti |
騰訊 |
| 基金/ETF | 6 位數字 / fund: 字首 |
110022 fund:510300 |
天天基金/akshare |
| 可轉債 | 6 位數字(11/12 開頭自動識別) | 128046 |
東財 |
| 債券 | 程式碼 / bond: 字首 |
bond:國債 |
akshare |
| 限制 | 說明 |
|---|---|
| 🔴 需國內直連 | 資料來源為騰訊/東財國內介面,開啟代理反而會失敗(會走海外 IP 被拒) |
| 🔴 非即時資料 | 騰訊/東財介面延遲約 3~5 秒,非交易時段返回收盤價 |
| 🟡 評分≠盈利預測 | 預測評分表示歷史上相似條件下約 X% 機率上漲,不保證未來 |
| 🟡 不構成投資建議 | 僅供學習參考,買賣決策自行負責 |
| 🟡 akshare 可選 | 部分高階功能(基金淨值/債券/可轉債/宏觀)需要 pip install akshare,未裝自動降級 |
# 離線自檢 / 單股預測 / 批次多市場
python scripts/stock_predict.py --test
python scripts/stock_predict.py 600519
python scripts/stock_predict.py "600519,hk:00700,us:AAPL" --json
# 統一全資產量化分析(任意金融產品)
python -c "from stock_researcher import quant_analyze_asset; print(quant_analyze_asset('600519'))"
# v9.0 深度板塊/指數/體制感知預測
python scripts/stock_predict.py --sector-ranking cn # 板塊RPS相對強度排名
python scripts/stock_predict.py --index-regime sh000001 # 市場體制(牛/熊/震盪)
python scripts/stock_predict.py --scenario # 宏觀情景機率加權
python scripts/stock_predict.py --topdown cn # 自上而下市場全景
# 板塊:相對強度 + 寬度 + 離散度 + 主題 + 輪動週期
from stock_researcher import rps_ranking, analyze_breadth, analyze_dispersion, \
list_themes, analyze_theme, detect_cycle_stage
ranking = rps_ranking("cn") # RPS 百分位排名(真實成分股 vs 滬深300)
b = analyze_breadth("電子") # 寬度:%在MA20/50/200、Zweig推動、背離
d = analyze_dispersion("電子") # 離散度:橫截面σ、龍頭-落後差、齊漲/分化
themes = list_themes("cn") # AI算力/人形機器人/低空經濟/固態電池...
t = analyze_theme("AI算力", "cn") # 主題板塊強度+寬度+離散度+資金
stage = detect_cycle_stage("cn") # 美林時鐘:早/中/晚週期/衰退機率
# 指數:體制 + 波動率 + 結構 + 內含 + 估值分位
from stock_researcher import classify_market_regime, analyze_volatility, \
analyze_market_structure, analyze_market_internals, classify_index_valuation
reg = classify_market_regime("sh000001") # 牛/熊/震盪 + 機率
vol = analyze_volatility("sh000001") # 波動率體制(低/擴張/高/壓縮)
ms = analyze_market_structure("sh000001") # 高低點結構 + 阻力/支撐
mi = analyze_market_internals("sh000300") # 漲跌家數 + McClellan(混合資料策略)
iv = classify_index_valuation("sh000300") # 真實 PE 歷史分位(多級降級不編造)
# 體制感知預測(regime="auto" 一鍵開啟;預設 None 與 v8.0 行為一致)
from stock_researcher.fusion.multi_horizon_forecaster import MultiHorizonForecaster
fc = MultiHorizonForecaster().forecast_stock("600519", regime="auto")
print(fc.regime, fc.horizons["1M"].regime, fc.horizons["1M"].consensus)
# 宏觀情景 + 校準
from stock_researcher import analyze_scenarios, calibrate_confidence
rep = analyze_scenarios(base_return=0.08, base_vol=0.20) # 6情景機率加權+尾部
adj = calibrate_confidence(0.7, horizon="1M") # 歷史校準後置信度
# 自上而下全景(三支柱一條線)
from stock_researcher import build_topdown
print(build_topdown("cn").summary)
# v9.2 定期報告解讀(年報/半年報/季報 同比環比 + 亮點風險 + 中文報告)
from stock_researcher import interpret_report, format_report
rep = interpret_report("600519", period="2024") # "2024"=年報;"2025Q3"/"2025H1"/"2024-06-30" 亦可
print(rep.verdict, rep.metrics["revenue_yoy"], rep.metrics["net_profit_yoy"])
print(format_report(rep))
# ① Python 直譯器(Windows 優先用 py launcher 定位)
python --version 2>/dev/null || py --version 2>/dev/null || echo "NO_PYTHON"
# ② 可選依賴探測(決定降級路徑)
python -c "import akshare" 2>/dev/null && echo "AKSHARE_OK" || echo "AKSHARE_MISSING"
python -c "import numpy, sklearn" 2>/dev/null && echo "ML_OK" || echo "ML_MISSING"
# ③ 資料來源連通性(騰訊/東財需國內直連,開代理會失敗)
python scripts/stock_predict.py --test
| 檢測結果 | 決策 |
|---|---|
NO_PYTHON |
Windows 用 py -3.11;Linux/macOS 用 python3;py --list 檢視可用版本 |
AKSHARE_MISSING |
基金淨值/債券/可轉債/宏觀走降級路徑(自動跳過,不崩潰);其餘功能不受影響 |
ML_MISSING |
短期(1d/3d/5d) ML 機率疊加自動跳過(no-op),主預測鏈路仍可用 |
--test 失敗/超時 |
疑似開了代理/VPN → 提示使用者關閉代理後重試;或用純離線函式(不聯網的量化/回測/組合最佳化) |
| 需求 | 入口 | 命令/呼叫 |
|---|---|---|
| 單股/多市場預測 | CLI | python scripts/stock_predict.py 600519 |
| 全資產量化 | quant_analyze_asset(code) |
股票/基金/指數/債券/商品/可轉債統一收口 |
| 板塊深度 | rps_ranking/analyze_breadth/analyze_dispersion/analyze_theme |
v9.0 深度板塊 |
| 指數深度 | classify_market_regime/analyze_volatility/analyze_market_internals/classify_index_valuation |
v9.0 深度指數 |
| 價值投資 | ValueInvestingDecision().analyze(code) |
DCF/護城河/財務健康/管理層/行業 |
| 基金評分 | score_fund_v3(code) |
基金十維評分 |
| 組合最佳化/回測 | allocate_portfolio/BacktestEngine |
純 stdlib MVO/風險平價/VaR |
| 定期報告解讀 | interpret_report(code, period) |
年報/半年報/季報 同比環比+亮點風險(v9.2) |
批次/快速場景優先加
--simple --quick(跳過蒙特卡洛 + 全球風險偏好,提速約 60%)。
| 引數 | 預設值 | 說明 |
|---|---|---|
market |
cn |
可選 cn/hk/us;港股美股需 hk:/us: 字首 |
asset_type |
自動識別 | 可轉債 11/12 開頭、6 位數字=基金/股票、gold=商品 |
top_n |
20(篩選)/ 5(板塊) | 返回前 N 條 |
horizon |
1d~6M 全週期 | MultiHorizonForecaster 預設輸出 1d/3d/5d/1M/3M/6M |
regime |
None(=v8.0 行為) |
傳 "auto" 開啟體制感知預測(熊市動量折扣+共識度校準) |
strict |
False |
True 拒絕估算值(estimated)只保留 actual/derived |
distribution |
normal |
蒙特卡洛可選 t(肥尾)+ use_jumps=True(跳躍擴散) |
track |
False |
True 寫入 PredictionTracker(進化閉環) |
| 快取 TTL | 300 秒 | config/settings.json 的 cache.ttl |
每次分析按以下模板輸出,資料缺失時如實標註,不編造:
data_freshness)regime 開啟時附體制標籤)| 能力 | 入口 | 說明 |
|---|---|---|
| 統一全資產量化 🆕 | quant_analyze_asset(code) |
一個 API 量化股票/基金/指數/債券/商品/可轉債,輸出指標+場景+預測+專屬分析 |
| 組合最佳化 🆕 | allocate_portfolio / mean_variance_optimize |
MVO(Frank-Wolfe)/ 最大Sharpe / 風險平價 / 組合 VaR-ES,純 stdlib |
| 蒙特卡洛增強 🆕 | quick_scenario_forecast(..., distribution='t', use_jumps=True) |
跳躍擴散 + 肥尾 t 分佈(預設保持 GBM) |
| ML 預測疊加 🆕 | MultiHorizonForecaster.forecast_stock(track=True) |
短期(1d/3d/5d) ML 機率疊加 + 進化閉環記錄 |
| 債券量化 🆕 | analyze_bond / bond_price |
定價/久期/凸性/YTM/信用利差/收益率曲線形態 |
| 貨幣基金 🆕 | MoneyFundAnalyzer |
7 日年化水平+穩定性+規模評分 |
| 可轉債 🆕 | ConvertibleBondAnalyzer |
轉股價值/溢價率/雙低指數/股性/強贖 |
| 板塊相對強度 RPS 🆕 | SectorRelativeStrength / rps_ranking(market) |
成分股構造板塊代理指數 → 相對基準 5/20/60/120d RS + Mansfield RPS 百分位排名 + RS 趨勢 |
| 板塊寬度 🆕 | SectorBreadth / analyze_breadth(sector) |
%在MA20/50/200之上、新高新低、Zweig 寬度推動、價格-寬度背離、健康度 |
| 板塊離散度 🆕 | SectorDispersion / analyze_dispersion(sector) |
橫截面σ、龍頭-落後差、集中度、偏度、齊漲/齊跌/分化 |
| 主題概念板塊 🆕 | list_themes / analyze_theme / rank_themes |
AI算力/人形機器人/低空經濟/固態電池/氫能/創新藥等跨行業概念(cn/hk/us) |
| 輪動週期階段 🆕 | RotationCycleDetector / detect_cycle_stage |
美林時鐘:早/中/晚週期/衰退機率 + 受益/迴避板塊 |
| 市場體制分類 🆕 | MarketRegimeClassifier / classify_market_regime(code) |
牛/熊/震盪 + 機率(MA200斜率+回撤+52周位置),體制切換訊號 |
| 波動率體制 🆕 | VolatilityRegimeAnalyzer |
20/60d 年化已實現波動、低/擴張/高/壓縮標籤、vol-of-vol、歷史分位 |
| 市場結構 🆕 | MarketStructureAnalyzer |
擺動高低點、HH-HL趨勢結構、阻力/支撐關鍵位、破位訊號、ATR |
| 市場內含 🆕 | MarketInternalsAnalyzer |
漲跌家數、新高新低、McClellan 震盪子、寬度超買超賣(混合資料策略) |
| 指數估值分位 🆕 | IndexValuation / classify_index_valuation(code) |
指數級 PE/PB 真實歷史分位(多級降級,無分位不編造) |
| 體制感知預測 🆕 | MultiHorizonForecaster.forecast_stock(regime="auto") |
體制條件化權重 + 熊市動量折扣 + 訊號共識度置信調整 |
| 宏觀情景 🆕 | MacroScenarioEngine / analyze_scenarios |
6 命名情景(軟著陸/硬著陸/通脹/地緣/刺激/衰退)機率加權 + 尾部 VaR |
| 預測校準 🆕 | PredictionCalibrator / calibrate_confidence |
歷史命中率分桶可靠性曲線 + Brier + 保序迴歸置信度校準 |
| 自上而下全景 🆕 | TopDownReport / build_topdown(market) |
宏觀體制→受益板塊(RPS)→指數健康→倉位傾向+風險提示,三支柱串成一條 |
| 定期報告解讀 🆕 | interpret_report(code, period) / FinancialReportInterpreter |
年報/半年報/季報 同比(YoY)/環比(QoQ) + 業績亮點/風險(增收不增利/經營槓桿/盈利質量/槓桿變化)+ 中文解讀報告 |
| 多週期漲跌預測 | MultiHorizonForecaster |
1d~6M 十維訊號融合(技術/資金/政策/輿情/宏觀等) |
| 因子庫 | FactorLibrary / EnhancedFactorLibrary |
5 類基礎因子 + v7.6 四因子(動量反轉/資金流/波動率/日曆) |
| 策略回測 | Backtester / BacktestEngine |
RSI/MACD/雙均線 P&L 模擬 + 漫步前向命中率 |
| 價值投資 | ValueInvestingDecision |
DCF/護城河/財務健康/管理層/行業五維 |
| 五維聚合 | FiveDimAnalyzer |
政策+資金+財經+論壇+輿情 |
| 修復/增強 | 說明 |
|---|---|
| PE/PB 真實歷史分位 🆕 | fundamental.get_valuation 拉 250 期歷史 → analyzer 真實分位(此前 pageSize=1 死程式碼) |
| 財務時效 🆕 | 補 report_date → data_freshness 校驗生效(此前恆 unknown) |
| 資金流真實化 🆕 | 東財 f62 主力淨流入(此前騰訊硬編碼 0 / 編造趨勢資料) |
| DCF 債務/利息 🆕 | 資產負債表貸款欄位探測 + 財務費用別名 → WACC 債務權重不再恆 0 |
| safe_float 1e15 🆕 | 大市值/大營收不再被清零(茅臺 1500 億營收) |
| 多源管理器 🆕 | 騰訊+新浪+東財真實冗餘降級(此前僅騰訊單源) |
| 宏觀對映 🆕 | GDP/CPI/PPI/PMI/M2 獨立 reportName(此前全指 GDP) |
| 港美股分頁 🆕 | 全列表翻頁拉全 |
| akshare 可選 🆕 | 基金淨值/債券/可轉債/宏觀/港美股財務(未裝自動降級) |
# 組合最佳化(純 stdlib,不依賴 numpy/scipy)
from stock_researcher.quantitative.portfolio_models import mean_variance_optimize, allocate_portfolio
weights = mean_variance_optimize(returns_matrix, risk_aversion=2.5)["weights"]
port = allocate_portfolio(returns_matrix, method="risk_parity")
# 蒙特卡洛增強(跳躍擴散 + 肥尾 t)
from stock_researcher.quantitative.scenario_simulator import quick_scenario_forecast
r = quick_scenario_forecast(prices, distribution="t", use_jumps=True, dof=5)
# ML 預測疊加 + 進化閉環
from stock_researcher.fusion.multi_horizon_forecaster import MultiHorizonForecaster
fc = MultiHorizonForecaster().forecast_stock("600519", track=True) # track 寫入 PredictionTracker
from stock_researcher import quant_analyze_asset
r = quant_analyze_asset("600519") # 股票
r = quant_analyze_asset("128046") # 可轉債(11/12 開頭自動識別)
r = quant_analyze_asset("gold") # 商品
r = quant_analyze_asset("510300", asset_type="fund") # ETF
# 返回:metrics(QuantMetrics) + scenario(蒙特卡洛) + forecast(多週期) + asset_specific
scripts/stock_predict.py:CLI 七維評分(趨勢/動量/量價/波動/機率/環境/黃金)+ 蒙特卡洛,零依賴單股快速預測fusion/multi_horizon_forecaster:主預測鏈路,十維訊號融合 1d~6M,v8.0 疊加 ML 短期機率 + 進化閉環core/prediction_engine:三維預測(情緒/估值/歷史/技術)+ GBM 蒙特卡洛小蔥技能7w4.net有更新,你可以訪問看下。
quant_analyze_asset 統一收口全資產預測| 模組 | import | 關鍵函式 |
|---|---|---|
| 資料 | stock_researcher.data |
MarketData / FundamentalData / MoneyFlowData / source_manager / akshare_provider |
| 量化 | stock_researcher.quantitative |
compute_quant_metrics / quant_analyze_asset / allocate_portfolio / analyze_bond / MoneyFundAnalyzer / ConvertibleBondAnalyzer / quick_scenario_forecast |
| 預測 | stock_researcher.fusion |
MultiHorizonForecaster |
| 價值 | stock_researcher.value_investing |
ValueInvestingDecision |
| 基金 | pkg.fund_analyzer |
score_fund_v3 / fetch_fund_nav / predict_fund_multi_horizon |
scripts/stock_researcher/
├── data/ # 資料來源(騰訊/東財/新浪/akshare 可選)+ 多源管理器 + 資料質量
│ # + v9.0: macro_series 宏觀序列 / index_constituents 指數成分
├── quantitative/ # 量化(指標/因子/組合最佳化/MC/回測/債券/貨基/可轉債/全資產入口)
│ # + v9.0: scenario_engine 宏觀情景引擎
├── fusion/ # 十維訊號融合多週期預測(含 ML overlay + 進化閉環)
│ # + v9.0: regime_overlay 體制權重 / signal_consensus 共識度
├── core/ # 分析器/預測引擎/技術/估值
├── value_investing/ # DCF/護城河/財務健康
├── funds/ # 基金量化
├── index_analysis/ # 指數:IndexAnalyzer + v9.0: 體制/波動率/結構/內含/估值分位
├── sector_analysis/ # 板塊:Analyzer/Rotation + v9.0: RPS/寬度/離散度/主題/輪動週期
├── evolution/ # 回測 + 預測追蹤(進化閉環)+ v9.0: calibration 預測校準
├── analysis/ # 五維聚合/資產推演 + v9.0: top_down 自上而下全景
├── sentiment/ agents/ screening/ advisor/ tracker/ # 輿情/大師/篩選/投顧/跟蹤
├── research/ # 券商研報/宏觀訊號 + v9.2: financial_report 定期報告解讀
scripts/stock_predict.py # CLI 預測引擎(零依賴,v9.0 新命令 --sector-ranking 等)
pkg/fund_analyzer.py # 基金深度分析
tests/ # 501 測試(python runtests.py)
A: 騰訊/東財資料來源只接受國內 IP,開啟代理反而會失敗。解決方案:關閉代理後再執行,或設定代理繞過國內地址。
A: 必須加市場字首:
python scripts/stock_predict.py hk:00700 # 港股騰訊
python scripts/stock_predict.py us:AAPL # 美股蘋果
python scripts/stock_predict.py "600519,hk:00700,us:AAPL" # 批次
A: 用 idx: 字首 + 指數程式碼:
python scripts/stock_predict.py idx:N225 # 日經225
python scripts/stock_predict.py idx:SPX # 標普500
python scripts/stock_predict.py idx:上證指數 # 中文名也行
A: 不是。 評分 70 表示歷史上相似條件下約 70% 的情況上漲,不保證未來。請結合基本面、政策、市場情緒綜合判斷。
A: 不是。騰訊/東財介面延遲約 3~5 秒,非交易時段返回上一交易日收盤價。不適合做高頻交易參考。
A: akshare 是可選依賴,未安裝時自動降級。如需使用:
pip install akshare
A: 使用 --quick 模式跳過蒙特卡洛模擬和全球風險偏好獲取,速度提升約 60%:
python scripts/stock_predict.py 600519 --simple --quick
A: 執行離線自檢:
python scripts/stock_predict.py --test
📘 更多問題請檢視 README.md 或執行
python runtests.py驗證環境。
⚠️ 本工具僅供學習參考,不構成任何形式的投資建議。 股市有風險,投資需謹慎。
這個 Skill 功能非常豐富,覆蓋股票、基金、債券、黃金等多個市場的分析預測,做得好的地方是零依賴核心設計(不用裝很多包就能用)和分層可選的增強功能。但整體比較複雜,新手可能不太容易上手,而且文件標註了需要國內直連環境,海外使用者使用會有問題。程式碼規模較大,後續維護和更新可能會比較費力。總體質量中上,功能全面但有一定學習門檻。