Communitygithub.com

alphasift — 自動選股 Skill

按策略篩選、評分並排序 A 股候選股票。提供 CLI 與 Python 介面,支援多種選股策略與後驗評估。

alphasift — 自動選股 Skill 是什麼?

alphasift 是一個專為全市場候選股票發現與橫向排序設計的自動選股工具,定位在 `daily_stock_analysis` 等單股深度分析服務的上游。它支援多種策略(如雙低、放量突破、縮量回踩等),可透過 CLI 或 Python 介面執行篩選,並輸出結構化 JSON 結果供後續 agent 分析。該工具包含完整的評分、風險評估、投資組合分散層,並可選用 LLM 進行排序與市場觀點生成。支援運行記錄保存、T+N 後驗評估(含最大回撤與浮盈估算),以及透過 post-analyzer 擴充後置分析(如本地 scorecard 或外部 DSA)。策略可透過 YAML profile 自訂,日 K 資料來源支援 akshare 與 baostock 自動降級。

相容平台~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add ZhuLinsen/alphasift

在你喜歡的 AI 中提問

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

說明文件

alphasift — 自動選股 Skill 是做什麼的?

按策略篩選、評分並排序 A 股候選股票。

定位:全市場候選發現與橫向排序引擎。它站在 daily_stock_analysis 這類單股深度分析服務上游;DSA 只是可選 L3 後置分析器,不是主篩選依賴。

Use When

  • 用戶要列出當前可用策略
  • 用戶要按 dual_low、volume_breakout 這類策略篩選 A 股
  • 用戶要拿到結構化 JSON 結果,供後續 agent 繼續分析
  • 用戶要保存選股運行,並在之後用最新快照評估結果
  • 用戶第一次接觸本專案,想用 alphasift quickstart 一鍵看到全市場→候選→排名的最小閉環

Preconditions

  • 當前只支援 market="cn"
  • 需要在倉庫根目錄安裝套件:pip install -e .
  • 如需 LLM 排序,可設定 LITELLM_MODEL、LLM_CHANNELS、LITELLM_CONFIG 或舊變數 LLM_API_KEY/LLM_MODEL/LLM_BASE_URL
  • 可直接複用 daily_stock_analysis 的 LiteLLM 配置字段,包括 OPENAI_*、GEMINI_*、DEEPSEEK_API_KEY、OLLAMA_API_BASE
  • 策略 YAML 可透過 scoring_profile、risk_profile、portfolio_profile、scorecard_profile 覆蓋預設規則
  • 策略 YAML 可透過 event_profile 配置偏好/規避事件、公告類別和候選上下文來源權重
  • LLM 會輸出候選行業/主題標籤;如候選提供 industry/concepts/board_heat_score/board_heat_trend_score,會作為 LLM、主題熱度因子與組合分散層錨點;history sidecar 可回填持續性、降溫和狀態字段。默認組合分散層會用這些標籤映射風險桶,降低同一擁擠交易重複佔位
  • L3 默認啟用本地 scorecard 後置評分器,也可追加 dsa 或 external_http
  • 如需 DSA 後置分析,設定 DSA_API_URL,默認呼叫 POST /api/v1/analysis/analyze
  • 依賴日 K 的策略會在 L1 後自動對 Top N 候選做日 K 增強
  • 日 K 資料來源 DAILY_SOURCE 支援 akshare(預設)、baostock 或 auto,auto 會在 akshare 失敗時自動降級到 baostock 作為免費兜底

Operations

1. 列出策略

alphasift strategies

1.1 一鍵演示(無 API key)

alphasift quickstart
alphasift quickstart --strategy balanced_alpha --max-output 8

2. 執行選股

alphasift screen dual_low --no-llm
alphasift screen volume_breakout --max-output 10
alphasift screen balanced_alpha --no-llm
alphasift screen capital_heat
alphasift screen balanced_alpha --context "今日券商板塊放量,低估值金融獲得資金回流"
alphasift --env-file /home/ubuntu/daily_ai_assistant/.env screen balanced_alpha
alphasift screen balanced_alpha --explain
alphasift screen balanced_alpha --candidate-context-file candidate_context.csv
alphasift screen dual_low --no-post-analysis
alphasift screen shrink_pullback --no-llm
alphasift screen dual_low --post-analyzer dsa
alphasift audit
alphasift industry-cache --output data/industry_map.csv --explain
alphasift screen dual_low --no-llm --save-run
alphasift runs
alphasift evaluate <run_id> --explain
alphasift evaluate-batch --limit 20 --explain
alphasift evaluate <run_id> --with-price-path --explain

3. Python 呼叫

from alphasift import evaluate_saved_run, evaluate_saved_runs, list_strategies, screen

list_strategies()
screen("dual_low", market="cn", use_llm=False)
evaluate_saved_run("<run_id>")
evaluate_saved_runs(limit=20)

Output

返回 ScreenResult JSON,核心字段有:

  • strategy
  • market
  • strategy_version
  • snapshot_count
  • after_filter_count
  • picks
  • llm_ranked
  • llm_market_view
  • llm_selection_logic
  • llm_portfolio_risk
  • llm_coverage
  • post_analyzers
  • daily_enriched
  • risk_enabled
  • portfolio_concentration_notes
  • degradation
  • snapshot_source
  • source_errors

每個 Pick 包含:

  • rank
  • code
  • name
  • final_score
  • screen_score
  • ranking_reason
  • risk_summary
  • price
  • change_pct
  • amount
  • total_mv
  • turnover_rate
  • volume_ratio
  • pe_ratio
  • pb_ratio
  • industry
  • concepts
  • board_heat_score
  • board_heat_latest_score
  • board_heat_trend_score
  • board_heat_persistence_score
  • board_heat_cooling_score
  • board_heat_observations
  • board_heat_state
  • board_heat_summary
  • change_60d
  • signal_score
  • macd_status
  • rsi_status
  • breakout_20d_pct
  • range_20d_pct
  • volume_ratio_20d
  • body_pct
  • pullback_to_ma20_pct
  • consolidation_days_20d
  • factor_scores
  • llm_confidence
  • llm_sector
  • llm_theme
  • llm_tags
  • llm_catalysts
  • llm_risks
  • llm_thesis
  • llm_style_fit
  • llm_watch_items
  • llm_invalidators
  • risk_score
  • risk_level
  • risk_penalty
  • risk_flags
  • portfolio_penalty
  • portfolio_flags
  • post_analysis_status
  • post_analysis_score_deltas
  • deep_analysis_status
  • deep_analysis_summary
  • deep_analysis_result
  • deep_analysis_signal_score
  • deep_analysis_sentiment_score
  • deep_analysis_operation_advice
  • deep_analysis_trend_prediction
  • deep_analysis_risk_flags

Boundaries

  • 當前沒有獨立的遠端 get_result 服務;本地用 --save-run、runs、evaluate、evaluate-batch 管理運行記錄
  • audit 用於自檢策略 profile 覆蓋、已知能力短板和下一步優先級
  • --candidate-context-file 支援 CSV/JSON/JSONL,透過 code 對齊候選級新聞、公告、資金流或研究摘要,只注入當前候選池相關行;可選抓取會附帶 source_count、source_confidence、source_weight_score、context_summary 和公告類別
  • 候選級上下文會識別粗粒度事件標籤和負面風險標籤,供 LLM 橫向排序參考
  • industry-cache 會快取行業/概念映射和板塊熱度字段,並寫入 history sidecar;後續載入映射時可回填板塊熱度滾動趨勢、持續性、降溫和狀態字段,供 LLM 上下文與 theme_heat 因子使用
  • 組合分散層優先使用 LLM 返回的行業/主題標籤,也可回退到候選 industry 字段;兩者都缺失時不會改變規則分數
  • L3 後置分析器只在最終候選上運行,不參與全市場初篩;本地 scorecard 默認啟用,DSA 只是其中一個可追加後端
  • T+N 評估基於保存價和評估時最新快照價,不等同完整復權回測;可扣減交易成本並輸出突破/回踩形態後驗標籤;--with-price-path 會額外估算最大回撤和最大浮盈

相關技能