整合两个问题的系统性回答,涵盖手动操作流程和全自动方案
因子配置 → 策略定义 → 智能推荐 → 入选观测 → 持仓跟踪 → 定期复盘
↑ |
└────────── 因子/权重优化(闭环迭代)←──────────────────┘
目标:配置一组能同时反映"公司质地好"和"价格相对低"的因子
已有能力:
| 因子 | 类型 | 平台现状 | 用途 |
|---|---|---|---|
| ROE | 财务因子 | ✅ 已有 | 盈利质量 |
| NET_PROFIT_GROWTH | 财务因子 | ✅ 已有 | 成长性 |
| DEBT_RATIO | 财务因子 | ✅ 已有 | 偿债安全 |
| OPER_CASHFLOW_RATIO | 财务因子 | ✅ 已有 | 现金流健康 |
| GROSS_PROFIT_MARGIN | 财务因子 | ✅ 已有 | 毛利率竞争力 |
| MOM20/MOM60 | 技术因子 | ✅ 已有 | 动量/回撤 |
| VOL20 | 技术因子 | ✅ 已有 | 波动率 |
| RSI5 | 技术因子 | ✅ 已有 | 超卖识别 |
| 缠论买卖点 | 缠论因子 | ✅ 已有 | 底部信号 |
| SIZE | 技术因子 | ✅ 已有 | 市值规模 |
需补充:
| 因子 | 说明 | 开发量 |
|---|---|---|
| PE_PERCENTILE | PE 3年历史分位(< 30% = 低位) | 已有计算能力,需封装为因子 |
| PB_PERCENTILE | PB 3年历史分位 | 同上 |
| DIVIDEND_YIELD | 股息率(> 3% = 高股息) | 需新增,从分红数据计算 |
| FREE_CASHFLOW_YIELD | 自由现金流收益率 | 需新增,从现金流量表计算 |
| PRICE_52W_HIGH_PCT | 距52周高点回撤百分比 | 需新增,从stock_daily计算 |
操作方式:
- 进入"因子"页面 → 创建自定义因子
- 为新因子编写计算脚本(Python,复用现有因子计算框架)
- 触发计算,验证IC/IR
推荐因子权重方案("低价优质"策略):
质量维度(50%): ROE(15%) + NET_PROFIT_GROWTH(15%) + OPER_CASHFLOW_RATIO(10%) + DEBT_RATIO(10%)
估值维度(35%): PE_PERCENTILE(15%) + PB_PERCENTILE(10%) + DIVIDEND_YIELD(10%)
技术维度(15%): RSI5(5%) + 缠论买点(5%) + PRICE_52W_HIGH_PCT(5%)
方向: ROE/成长/现金流/股息 → 正向(越大越好);PE分位/PB分位/负债率/RSI/回撤 → 反向(越小越好)
操作:
- 进入"策略"页面 → 新建策略
- 选择上述因子组合,设定权重和方向
- 设阈值(如 PE_PERCENTILE < 30 强制过滤)
- 设 topN = 20(初始多选,后续精筛)
已有能力:策略CRUD、因子组合、阈值过滤全部就绪
需补充:
- 因子阈值过滤(当前选股支持阈值,但需要确认PE分位等新因子的阈值UI是否可用)
操作:
- 进入"推荐"页面 → 选择策略 → 点击"生成推荐"
- 系统自动执行:市场环境识别 → 多因子选股 → 深度分析 → 评分融合 → 行业分散 → 黑名单过滤 → 置信度控制
已有能力(全部就绪):
- ✅ 市场环境自适应权重(BULL/BEAR/SIDEWAYS)
- ✅ 黑名单过滤(自动+手动)
- ✅ 策略置信度控制
- ✅ IC/IR自适应权重
- ✅ 推荐结果持久化
推荐结果示例(预期格式):
| 排名 | 代码 | 名称 | 综合评分 | PE分位 | PB分位 | ROE | 缠论信号 | 行业 |
|---|---|---|---|---|---|---|---|---|
| 1 | 600519 | 贵州茅台 | 85.2 | 15% | 20% | 32% | 二买 | 食品饮料 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |
操作:推荐结果出来后,不直接买入,进入观测期
观测维度(逐只验证):
| 维度 | 操作 | 平台能力 |
|---|---|---|
| 财务深挖 | 进入"个股分析"→ 财务Tab | ✅ 三大报表+指标趋势 |
| 估值分位 | 查看 PE/PB 历史分位 | ✅ 已有API |
| 缠论确认 | 查看 K 线图 + 买卖点 | ✅ 已有 |
| 机构覆盖 | 查看研报数量和评级 | ✅ 已有 |
| 新闻情绪 | 查看近期新闻+情感分类 | ✅ 已有 |
| 资金流向 | 查看主力资金动向 | ✅ 已有 |
| 内外盘 | 查看买卖力度 | ✅ 已有 |
| 股东结构 | 查看十大股东变动 | ✅ 已有 |
| 大宗交易 | 查看是否有折价大宗 | ✅ 已有 |
需补充:
- Watchlist 功能:将推荐的股票加入"自选观察池",统一展示价格变动、信号触发
- 3~5日观测期倒计时:推荐后自动设定期限,到期提醒决策
操作:决定介入后,记录买入信息
已有能力:
- ✅ 推荐表现追踪(hit rate / 平均收益)
- ✅ 模拟盘(可模拟持仓和盈亏)
- ✅ 持仓预警(风控配置:止损/止盈/ATR移动止损)
需补充:
- 实盘仓位记录:当前模拟盘只模拟策略信号,不支持手动记录实际买卖
- 止盈/止损提醒推送:预警存在但只在前端展示,无主动推送
操作:
- 推荐页查看命中率、最佳/最差股票
- 回测页查看策略历史表现
- 置信度页查看策略质量变化
已有能力:
- ✅ 批次历史表现(含质量标签LOW/MED/HIGH)
- ✅ 策略置信度(4维度评分)
- ✅ 黑名单自动评估
- ✅ 回测归因(Brinson/因子风格/FF3)
- ✅ Alpha滚动监控
闭环:复盘结果 → 调整因子权重 → 更新策略 → 重新推荐
| 层次 | 已有能力 | 需开发能力 | 优先级 |
|---|---|---|---|
| 因子 | 39+因子 + IC/IR分析 | PE/PB分位因子化、股息率、52周回撤 | P0 |
| 策略 | 策略CRUD + 因子组合 | 阈值过滤UI增强 | P1 |
| 选股 | 多因子选股 + 缠论筛选 + 财务派系 | 无 | - |
| 推荐 | 6步管线 + 黑名单 + 置信度 | 无 | - |
| 观测 | 个股深度分析(8维度) | Watchlist看板 | P0 |
| 跟踪 | 推荐追踪 + 模拟盘 | 实盘仓位记录 | P1 |
| 复盘 | 命中率 + 归因 + 置信度 | 无 | - |
| 自动化 | 定时数据更新 | 每日自动推荐 + 推送 | P1 |
┌─────────────── 数据层 ──────────────┐
│ 日线(已有) + 财务(已有) + 情绪(已有) │
│ 分钟线(新增) + 实时行情(已有基础) │
│ 估值历史(已有计算) + 龙虎榜(已有) │
└──────────────┬──────────────────────┘
↓
┌─────────────── 规则引擎层 ───────────┐
│ 基本面过滤 → 估值分位 → 缠论识别 │
│ 量价异常 → 催化剂 → 黑名单 │
│ (全部复用问题1的因子和选股能力) │
└──────────────┬──────────────────────┘
↓
┌─────────────── 大模型推理层(新增) ───┐
│ 综合研判 → 买价区间 → 介入时机 │
│ 风险等级 → 逻辑链 → 持仓建议 │
└──────────────┬──────────────────────┘
↓
┌─────────────── 输出层 ──────────────┐
│ 股票代码+名称+买入价区间+逻辑+风险 │
└──────────────┬──────────────────────┘
↓
┌─────────────── 追踪层(增强) ─────────┐
│ 价格预警推送 + 目标价通知 │
│ 持仓盈亏 + 退出时机提醒 │
└──────────────────────────────────────┘
日线判方向(已有能力):
日线数据的用途是回答"这只股票是否处于低位、是否值得关注":
| 判断项 | 日线指标 | 逻辑 |
|---|---|---|
| 趋势方向 | MA20/MA60排列 | 均线空头→下行趋势,多头→上行趋势 |
| 是否低位 | PE/PB 3年分位 < 30% | 估值处于历史低位区间 |
| 回撤幅度 | 距52周高点回撤 > 20% | 价格大幅回落 |
| 底部信号 | 缠论底分型 / 一买二买 | 缠论识别到趋势转折 |
| 量价配合 | 缩量横盘后放量 | 底部吸筹特征 |
| 动量反转 | RSI < 30 或 MOM20拐头 | 超卖后动能恢复 |
以上全部基于日线,系统已具备。
分钟线判介入位置(需新增):
分钟线的用途是回答"今天/明天什么价位可以买":
| 判断项 | 分钟线指标 | 逻辑 |
|---|---|---|
| 精确支撑位 | 30分钟/60分钟缠论笔 | 日线"大概在底部"→分钟线"精确支撑在 X 元" |
| 分时买点 | 30分钟二买确认 | 日线出现底分型后,等30分钟级别二买确认 |
| 入场区间 | 分钟中枢下沿 ± 1% | 在中枢下方入场,中枢内部观望 |
| 当日时机 | 分时量价突破 | 开盘30分钟放量突破前日收盘价 → 当日可入 |
| 避免追高 | 分钟级别顶分型 | 出现顶分型 → 不追 |
具体操作逻辑:
日线判断: 缠论一买出现 + PE分位<30% + ROE>10% → "方向确认,值得关注"
↓
拉取30分钟K线(近20个交易日)
↓
分钟线判断:
- 当前30分钟级别是否有底分型? → 是:等待二买确认
- 中枢下沿价格? → 买入价 = 中枢下沿 × 0.99
- 止损价 = 中枢下沿 × 0.95(约2%止损)
↓
输出: 买入价区间 [中枢下沿×0.99, 中枢下沿×1.01]
分钟线数据采集方案:
- 不是全市场采集,只对规则引擎筛出的30只候选股拉取
- 数据源:腾讯证券
proxy.finance.qq.com接口(与北交所日线接口同源,支持1m/5m/15m/30m/60m频率) - 每只股票请求1次(拉近20交易日30分钟线 ≈ 960条),30只共30次请求
- 采集时间:每日 07:30 执行,耗时约1分钟
为什么需要实时推送:
场景:系统在早上8:30给出推荐——"XX股份,买入价 15.2~15.5 元"。 到了盘中,这只股票可能在10:15才跌到 15.3 元。
没有实时推送:你不知道价格到了,可能错过最佳买点 有实时推送:10:15 价格触达 15.3 → 即时提醒"目标价到达,可介入"
| 场景 | 无推送 | 有推送 |
|---|---|---|
| 买入价到达 | 不知道,可能错过 | 即时提醒 |
| 止损触发 | 晚发现,损失扩大 | 即时提醒 |
| 盘中突发利好 | 不知道 | 新闻信号触发提醒 |
腾讯实时接口可用性评估:
系统已经在用腾讯的两个接口:
| 接口 | URL | 用途 | 稳定性 | 限流 |
|---|---|---|---|---|
| 实时行情快照 | http://qt.gtimg.cn/q=sh600519 |
内外盘数据(已有) | ⭐⭐⭐⭐ 稳定运行数月 | 批量查询约500只/次,间隔0.5秒 |
| 历史K线 | https://proxy.finance.qq.com/ifzqgtimg/appstock/app/newfqkline/get |
北交所日线(已有) | ⭐⭐⭐⭐ 稳定 | 单次640条,间隔0.3秒 |
扩展到盘中监控的可行性:
盘中监控流程(09:30~15:00):
每60秒 → 批量查询候选池股票实时价格(qt.gtimg.cn)
→ 与目标买入价比较
→ 触达 → 生成推送消息
| 评估项 | 结论 |
|---|---|
| 接口可用 | ✅ 已在用,无需新接口 |
| 限流风险 | 30只候选 × 每60秒1次 = 0.5 QPS,远低于限流阈值 |
| 数据准确性 | ✅ 与东方财富/同花顺交叉验证过 |
| HTTPS问题 | |
| 备用方案 | AKShare stock_zh_a_spot_em() 可作为备用实时源 |
推送渠道方案:
| 渠道 | 实现难度 | 推荐度 | 说明 |
|---|---|---|---|
| 企业微信机器人 | 低 | ⭐⭐⭐⭐⭐ | Webhook 1行代码,免费,即时 |
| 钉钉机器人 | 低 | ⭐⭐⭐⭐ | 同上 |
| 邮件 | 低 | ⭐⭐⭐ | 适合每日报告,不适合盘中 |
| Telegram Bot | 中 | ⭐⭐⭐ | 需翻墙 |
| Server酱(PushPlus) | 低 | ⭐⭐⭐⭐ | 微信推送,免费额度够用 |
选型标准:
- 中文金融理解能力强
- API价格低(每日30只候选 × 约2k tokens = 约75k tokens/天)
- 推理能力够用(不需要旗舰级,但需要逻辑链生成)
- 国内可直连(无需代理)
对比分析:
| 模型 | 输入价格(/M tokens) | 输出价格(/M tokens) | 中文能力 | 推理能力 | 国内直连 | 综合推荐 |
|---|---|---|---|---|---|---|
| DeepSeek V4 Flash | $0.14 | $0.28 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ | 首选 |
| DeepSeek V4 Pro | $0.435 | $0.87 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ | 需要更强推理时备用 |
| Qwen3 Plus | ~¥0.5 | ~¥1.5 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ | 备选 |
| GPT-4o-mini | $0.15 | $0.60 | ⭐⭐⭐ | ⭐⭐⭐⭐ | ❌需代理 | 不推荐 |
| GLM-4 Flash | ~¥0.1 | ~¥0.1 | ⭐⭐⭐⭐ | ⭐⭐⭐ | ✅ | 降本备选 |
推荐方案:DeepSeek V4 Flash(日常)+ DeepSeek V4 Pro(关键判断)
理由:
- 中文金融理解能力顶级:DeepSeek在中文金融文本上的训练质量公认第一梯队,理解"底分型""中枢""估值分位"等术语零障碍
- 价格极低:Flash版本输入$0.14/M、输出$0.28/M,每日75k tokens约 ¥0.2/天
- 1M上下文窗口:一只股票的全量分析数据(日线+财务+缠论+新闻+研报)约3k tokens,30只合计90k,轻松装下
- 国内直连:api.deepseek.com 无需代理,延迟低
- Thinking模式:Pro版本支持深度推理模式,适合生成"为什么推荐"的逻辑链
- 缓存命中:DeepSeek Flash缓存命中输入仅$0.0028/M,每日Prompt模板相同,大部分输入可命中缓存
每日成本估算:
30只候选 × 2k tokens输入 × 1k tokens输出
= 60k 输入 + 30k 输出
Flash: 60k × $0.14/M + 30k × $0.28/M = $0.0084 + $0.0084 ≈ $0.017 ≈ ¥0.12/天
Pro: 60k × $0.435/M + 30k × $0.87/M = $0.026 + $0.026 ≈ $0.052 ≈ ¥0.37/天
月成本: Flash ¥3.6 / Pro ¥11.1
Prompt模板设计(核心):
你是A股价值投资分析师。基于以下数据,给出投资建议。
【股票信息】
代码: {code} 名称: {name} 行业: {industry}
【基本面】
ROE: {roe}% 净利润增长: {profitGrowth}% 负债率: {debtRatio}%
毛利率: {grossMargin}% 经营现金流/净利润: {ocfRatio}%
PE(TTM): {pe} PB: {pb} 股息率: {dividendYield}%
PE 3年分位: {pePercentile}% PB 3年分位: {pbPercentile}%
【技术面】
缠论信号: {chanSignal} RSI5: {rsi}
距52周高点: {high52wPct}% 20日换手率: {turnover}%
30分钟支撑位: {support30m} 30分钟压力位: {resist30m}
【市场面】
机构覆盖度: {instCoverage} 近期研报数: {researchCount}
新闻情绪: {newsSentiment} 主力资金: {moneyFlow}
龙虎榜: {dragonTiger}
请输出JSON:
{
"recommendation": "BUY"/"WATCH"/"SKIP",
"buy_price_range": {"low": xx.xx, "high": xx.xx},
"stop_loss": xx.xx,
"target_price": xx.xx,
"risk_level": "LOW"/"MEDIUM"/"HIGH",
"logic": "3~5句话的投资逻辑",
"position_advice": "仓位建议(1~5成)",
"catalysts": ["催化剂1", "催化剂2"],
"risks": ["风险1", "风险2"]
}
| 时间 | 任务 | 数据源 | 能力现状 |
|---|---|---|---|
| 06:00 | 日线+财务+情绪数据自动更新 | Baostock/东财/AKShare | ✅ 已有定时任务 |
| 07:00 | 因子值计算(含新增的估值分位因子) | ClickHouse本地计算 | ✅ 已有计算引擎 |
| 07:15 | 规则引擎筛选 → 30只候选 | 已有选股+筛选 | ✅ 复用问题1 |
| 07:30 | 拉取候选股30分钟K线 | 腾讯接口(新增) | |
| 07:45 | 缠论分钟级分析 | 复用缠论引擎 | |
| 08:00 | 大模型推理 → 买价+逻辑+风险 | DeepSeek API(新增) | |
| 08:30 | 生成推荐 + 推送 | 推送服务(新增) | |
| 09:30~15:00 | 盘中实时监控(候选股价格 vs 目标价) | 腾讯实时行情(已有) | |
| 触达时 | 买入价到达 → 即时推送 | 推送渠道 | |
| 15:00 | 收盘持仓复盘 | 已有追踪 | ✅ 增强即可 |
| 18:00 | 每日报告推送 | 汇总数据 |
问题1(手动流程)是问题2(全自动方案)的基础和子集。
问题1: 人操作 → 平台辅助 → 人决策
问题2: 平台全自动 → 人只看结果
两者不是平行方案,而是:
问题1的每一步 → 问题2自动化该步骤 → 叠加大模型推理 → 输出可操作结果
递进关系:
| 问题1的步骤 | 问题2的自动化升级 | 新增了什么 |
|---|---|---|
| 手动配置因子 | 因子自动计算(已有) | 无,直接复用 |
| 手动定义策略 | 策略预配置+定时触发 | 定时任务调度 |
| 手动点"生成推荐" | 每日07:15自动执行 | Cron调度 |
| 手动逐只看分析 | 大模型批量推理 | LLM推理层 |
| 手动判断买价 | 分钟线+缠论→买价区间 | 分钟级分析 |
| 手动盯盘 | 实时价格监控+推送 | 监控循环+推送 |
| 手动记录持仓 | 系统自动记录 | 仓位管理 |
| 手动复盘 | 自动生成每日报告 | 报告模板 |
| 能力 | 问题1中使用 | 问题2中复用 | 是否需要增强 |
|---|---|---|---|
| 因子计算引擎 | ✅ 手动触发 | ✅ 定时自动触发 | 加Cron |
| 多因子选股 | ✅ 手动执行 | ✅ 自动执行 | 无 |
| 缠论引擎 | ✅ 日线级别 | ✅ 扩展到分钟级 | 需增强 |
| 估值分位计算 | ✅ 已有 | ✅ 直接用 | 无 |
| 黑名单 | ✅ 已有 | ✅ 直接用 | 无 |
| 置信度控制 | ✅ 已有 | ✅ 直接用 | 无 |
| 推荐管线(6步) | ✅ 手动触发 | ✅ 自动执行 | 加Cron |
| 追踪系统 | ✅ 手动查看 | ✅ 自动推送结果 | 加推送 |
| 个股深度分析 | ✅ 手动查看 | ✅ 作为LLM输入 | 无 |
| 腾讯实时接口 | ✅ 内外盘数据 | ✅ 盘中监控 | 扩展用途 |
| 新闻情绪 | ✅ 手动查看 | ✅ 作为LLM输入 | 无 |
| 机构覆盖 | ✅ 手动查看 | ✅ 作为LLM输入 | 无 |
Phase 1 — 基础补齐(3天)
├─ PE/PB分位因子化(从AnalysisService提取,注册为可用因子)
├─ 新增因子:股息率、52周回撤、自由现金流收益率
└─ Watchlist看板(前端页面 + 后端CRUD)
Phase 2 — 自动化推荐(2天)
├─ 定时任务:每日07:15自动执行推荐管线
├─ 策略预配置:内置"低价优质"策略模板
└─ 每日推荐结果推送(企业微信/钉钉/Server酱)
Phase 3 — 大模型推理(3天)⭐ 核心突破
├─ DeepSeek API接入服务(Java HttpClient)
├─ Prompt模板设计+调优
├─ 推理结果解析+持久化
└─ 前端展示:买价区间+逻辑链+风险等级
Phase 4 — 分钟线+盘中监控(2天)
├─ 候选股30分钟K线采集(腾讯接口)
├─ 缠论引擎扩展到分钟级
├─ 盘中监控循环(qt.gtimg.cn + 目标价比较)
└─ 买入价到达即时推送
Phase 5 — 持仓闭环(3天)
├─ 仓位记录(买入价/数量/日期)
├─ 持仓盈亏追踪
├─ 止损/止盈/退出信号提醒
└─ 每日报告自动推送
总计约13天,Phase 3完成后系统就能"说出买什么、什么价、为什么"。
URL: http://qt.gtimg.cn/q=sh600519,sz000001
返回格式: v_sh600519="1~贵州茅台~600519~1320.92~1325.00~1321.00~..."
字段顺序(用~分隔):
[3]当前价 [4]昨收 [5]今开 [6]成交量 [7]外盘 [8]内盘
[9]买一价 [10]买一量 ... [19]卖一价 [20]卖一量
[30]换手率 [31]PE [32]振幅 [38]总市值 [39]流通市值
[43]PB [44]涨停价 [45]跌停价 [46]量比
批量限制: 约500只/次
频率: 0.5秒间隔即可稳定
注意事项: 用HTTP而非HTTPS(Windows下HTTPS握手慢7秒)
URL: https://proxy.finance.qq.com/ifzqgtimg/appstock/app/newfqkline/get
参数: param=sh600519,m30,2026-06-01,2026-06-12,640,qfq
频率: 1m/5m/15m/30m/60m
限制: 单次640条
延迟: ~0.3秒/次
- 已持续使用3个月+,未出现封禁或限流
- 双数据源热备(腾讯+AKShare/东财)已有先例(内外盘脚本中实现)
- 盘中监控仅30只/分钟级轮询,压力极小