# stock-quant-new **Repository Path**: halo/stock-quant-new ## Basic Information - **Project Name**: stock-quant-new - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-01 - **Last Updated**: 2026-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # A股智能选股平台 以 LLM 做编排与解读、以确定性代码做计算与排序的沪深两市多因子选股系统。 完整方案见 [`docs/方案书.html`](docs/方案书.html)。 --- ## 核心设计约束 **LLM 不算数。** 分数和排名全部由 Python 计算,LLM 只负责三件事:写因子代码、做文本情绪打分、生成归因研报。 检验标准:同样输入跑两遍,TOP 20 名单和分数必须完全一致。 --- ## 快速开始 ```bash pip install -r requirements.txt # 冒烟测试(用模拟数据验证打分链路,不需要联网) python tests/test_scorer.py # 首次建库 + 全量拉取,约 40 分钟 python -m src.data.loader # 日常:收盘后跑一次 python run_daily.py # 只重算分数不拉数据(调参时用) python run_daily.py --skip-update --top 30 ``` --- ## 六维因子权重 | 大类 | 权重 | 作用 | 代表因子 | |---|---:|---|---| | 技术趋势 | 25 | 选时 | ma_bull、mom_60d、week_macd | | 盈利质量 | 20 | 选股 | roe_ttm、ocf_to_profit | | 成长性 | 20 | 选股 | rev_yoy、profit_accel | | 估值 | 15 | 选股 | pe_ttm、pb_pct_5y | | 资金流 | 12 | 选时 | north_net_20d、main_net_5d | | 市场情绪 | 8 | 选时 | llm_news_score | 权重定义在 `config.py`,为工程先验值,须经回测验证后调整。 --- ## 打分流水线 ``` raw → winsorize_mad(3) → neutralize(行业, log市值) → to_percentile → 加权 → 0-100 ``` 不做行业中性,估值因子会把持仓塞满银行地产;不做市值中性,成长因子会把你推向微盘股。 --- ## 一票否决 分数再高,触发以下任一条件即移出推荐榜、转入观察池: - 收盘价跌破 60 日线(最重要,避免好公司买在半山腰) - PE-TTM > 150 或为负(成长分 > 90 可豁免) - ROE-TTM 为负 - 商誉 / 净资产 > 30% - 近 10 日跌停 ≥ 3 次 --- ## 三个必须避开的坑 | 坑 | 对策 | |---|---| | **未来函数** | 财务数据一律走 `point_in_time_financial()`,按 `ann_date` 公告日过滤。禁止直接 join `financial` 表 | | **幸存者偏差** | 保留退市股,`get_universe()` 按 `delist_date` 做时点过滤 | | **过拟合** | 权重用先验值,调参不超过 3 轮,样本外留最近 1 年 | --- ## 实施路线 Step 1 数据落库 → Step 2 因子库 → **Step 3 单因子 IC 检验(闸门)** → Step 4 合成打分器 → **Step 5 组合回测(闸门)** → Step 6 HTML 看板 → Step 7 接入 LLM Step 3 和 Step 5 不能跳过。没有回测过的评分体系,是把主观判断包装成数字,比拍脑袋更危险 —— 因为它看起来很科学。 --- ## 目录结构 ``` config.py 全部参数:权重、阈值、过滤规则、回测成本 run_daily.py 每日主流程入口 src/data/schema.sql 9 张表 DDL src/data/loader.py 落库 / 增量 / 重采样 / 时点股票池 src/factors/ 技术因子、基本面因子(纯函数) src/scoring/scorer.py 去极值 / 中性化 / 百分位 / 合成 / 否决 / IC 检验 src/backtest/engine.py T+1 回测 / 绩效指标 / 分层回测 src/llm/sentiment.py 情绪 Prompt / 容错解析 / 研报 Prompt tests/test_scorer.py 冒烟测试 ``` --- ## 免责声明 本项目输出的是候选池,不是买入指令。分数高只代表历史统计规律下胜率占优。 本内容仅供信息整理与分析参考,不构成投资建议。