# === LLM 配置 === # 兼容 daily_stock_analysis 的 LiteLLM 配置优先级: # LITELLM_CONFIG > LLM_CHANNELS > LITELLM_MODEL/OPENAI|GEMINI|DEEPSEEK|OLLAMA # 极简方式:填一个供应商 key 即可 # GEMINI_API_KEY= # DEEPSEEK_API_KEY= # OPENAI_API_KEY= # OPENAI_BASE_URL= # OLLAMA_API_BASE=http://localhost:11434 # 推荐方式:显式指定 LiteLLM 模型名 # LITELLM_MODEL=gemini/gemini-2.5-flash # LITELLM_FALLBACK_MODELS=openai/gpt-4o-mini,anthropic/claude-3-5-sonnet # 兼容旧变量 # LLM_API_KEY=your_api_key # LLM_MODEL=gemini/gemini-2.5-flash # LLM_BASE_URL= # 多渠道模式 # LLM_CHANNELS=primary # LLM_PRIMARY_PROTOCOL=openai # LLM_PRIMARY_BASE_URL=https://api.deepseek.com/v1 # LLM_PRIMARY_API_KEYS=sk-xxx,sk-yyy # LLM_PRIMARY_MODELS=deepseek-chat,deepseek-reasoner # 高级 LiteLLM Router YAML # LITELLM_CONFIG=./litellm_config.yaml # === 可选 === # LLM_CONTEXT= # LLM_TEMPERATURE=0.2 # LLM_JSON_MODE=true # LLM_SILENT=true # LLM_RANK_WEIGHT=0.40 # LLM_CANDIDATE_MULTIPLIER=6 # LLM_MAX_CANDIDATES=30 # LLM_MAX_RETRIES=1 # LLM_MIN_COVERAGE=0.60 # LLM_CONTEXT_MAX_CHARS=4000 # LLM_CANDIDATE_CONTEXT_ENABLED=false # LLM_CANDIDATE_CONTEXT_MAX_CANDIDATES=8 # LLM_CANDIDATE_CONTEXT_PROVIDERS=news,fund_flow,announcement # LLM_CANDIDATE_CONTEXT_NEWS_LIMIT=3 # LLM_CANDIDATE_CONTEXT_ANNOUNCEMENT_LIMIT=3 # LLM_CANDIDATE_CONTEXT_CACHE_ENABLED=true # LLM_CANDIDATE_CONTEXT_CACHE_TTL_HOURS=24 # 未显式设置 SNAPSHOT_SOURCE_PRIORITY 时:无 Tushare token 默认 efinance,akshare_em,em_datacenter; # 有 token 默认 tushare,efinance,akshare_em,em_datacenter。Tushare 数据为最近交易日日线与 daily_basic,不是实时盘口 # SNAPSHOT_SOURCE_PRIORITY=efinance,akshare_em,em_datacenter # ALPHASIFT_FALLBACK_SNAPSHOT_PATH=./data/snapshot.last_good.json # TUSHARE_TOKEN= # TUSHARE_API_URL=http://api.waditu.com # 可选:固定 Tushare 交易日,格式 YYYYMMDD,便于复现实验 # TUSHARE_TRADE_DATE= # 稳定行业/概念锚点:优先使用本地映射文件;可选 akshare 板块反查默认关闭 # INDUSTRY_MAP_FILES=./data/industry_map.csv # INDUSTRY_PROVIDER=none # INDUSTRY_PROVIDER_MAX_BOARDS=80 # INDUSTRY_PROVIDER_CACHE_DIR=./data/industry_provider_cache # INDUSTRY_PROVIDER_CACHE_TTL_HOURS=24 # L3 后置分析器,默认启用本地 scorecard;设为 none 可关闭 # 可选:scorecard,dsa,external_http # POST_ANALYZERS=scorecard # POST_ANALYSIS_MAX_PICKS=3 # POST_ANALYZER_URL=http://localhost:9000/rank # POST_ANALYZER_TIMEOUT_SEC=120 # DSA 是可选 L3 分析器之一,不是默认依赖 # DSA_API_URL=http://localhost:8000 # DSA_REPORT_TYPE=detailed # DSA_MAX_PICKS=3 # DSA_TIMEOUT_SEC=120 # DSA_FORCE_REFRESH=false # DSA_NOTIFY=false # 日 K 增强默认关闭;策略必需日 K 字段时会自动启用候选级增强 # DAILY_ENRICH_ENABLED=false # DAILY_ENRICH_MAX_CANDIDATES=100 # DAILY_LOOKBACK_DAYS=120 # DAILY_SOURCE=akshare # 可选:tushare 使用 Tushare Pro 前复权日线;auto 在有 TUSHARE_TOKEN 时优先用 tushare # TUSHARE_DAILY_ADJ=qfq # DAILY_FETCH_RETRIES=2 # DAILY_FETCH_MAX_WORKERS=1 # DAILY_HISTORY_CACHE_DIR=./data/daily_history # DAILY_HISTORY_CACHE_TTL_HOURS=24 # 独立风险层 # RISK_ENABLED=true # RISK_MAX_PENALTY=12 # RISK_VETO_HIGH=false # LLM 行业/主题风险桶驱动的组合分散层 # PORTFOLIO_DIVERSITY_ENABLED=true # PORTFOLIO_MAX_SAME_LLM_SECTOR=1 # PORTFOLIO_CONCENTRATION_PENALTY=4 # T+N 评估收益扣除的往返成本,单位 bps # EVALUATION_COST_BPS=0 # 形态后验验证阈值:用于 evaluate/evaluate-batch 标记突破延续或失败 # EVALUATION_FOLLOW_THROUGH_PCT=3 # EVALUATION_FAILED_BREAKOUT_PCT=-3 # 可选:评估时抓取日 K 路径,计算最大回撤和最大浮盈;会增加外部请求 # EVALUATION_PRICE_PATH_ENABLED=false # EVALUATION_PRICE_PATH_LOOKBACK_DAYS=90 # ALPHASIFT_DATA_DIR=./data # STRATEGIES_DIR=./strategies