alphasift — 自動選股 Skill は何をしますか?
按策略篩選、評分並排序 A 股候選股票。
定位:全市場候選發現與橫向排序引擎。它位於 daily_stock_analysis 這類單股深度分析服務上游;DSA 只是可選 L3 後置分析器,不是主篩選依賴。
使用時機
- 使用者要列出當前可用策略
- 使用者要按
dual_low、volume_breakout這類策略篩選 A 股 - 使用者要拿到結構化 JSON 結果,供後續 agent 繼續分析
- 使用者要保存選股運行,並在之後用最新快照評估結果
- 使用者第一次接觸本專案,想用
alphasift quickstart一鍵看到全市場→候選→排名的最小閉環
前置條件
- 當前只支援
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 作為免費兜底
操作
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)
輸出
返回 ScreenResult JSON,核心欄位有:
strategymarketstrategy_versionsnapshot_countafter_filter_countpicksllm_rankedllm_market_viewllm_selection_logicllm_portfolio_riskllm_coveragepost_analyzersdaily_enrichedrisk_enabledportfolio_concentration_notesdegradationsnapshot_sourcesource_errors
每個 Pick 包含:
rankcodenamefinal_scorescreen_scoreranking_reasonrisk_summarypricechange_pctamounttotal_mvturnover_ratevolume_ratiope_ratiopb_ratioindustryconceptsboard_heat_scoreboard_heat_latest_scoreboard_heat_trend_scoreboard_heat_persistence_scoreboard_heat_cooling_scoreboard_heat_observationsboard_heat_stateboard_heat_summarychange_60dsignal_scoremacd_statusrsi_statusbreakout_20d_pctrange_20d_pctvolume_ratio_20dbody_pctpullback_to_ma20_pctconsolidation_days_20dfactor_scoresllm_confidencellm_sectorllm_themellm_tagsllm_catalystsllm_risksllm_thesisllm_style_fitllm_watch_itemsllm_invalidatorsrisk_scorerisk_levelrisk_penaltyrisk_flagsportfolio_penaltyportfolio_flagspost_analysis_statuspost_analysis_score_deltasdeep_analysis_statusdeep_analysis_summarydeep_analysis_resultdeep_analysis_signal_scoredeep_analysis_sentiment_scoredeep_analysis_operation_advicedeep_analysis_trend_predictiondeep_analysis_risk_flags
邊界
- 當前沒有獨立的遠端
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會額外估算最大回撤和最大浮盈