Skip to content

Latest commit

 

History

History
525 lines (403 loc) · 21.3 KB

File metadata and controls

525 lines (403 loc) · 21.3 KB

低价优质股:完整操作方案

整合两个问题的系统性回答,涵盖手动操作流程和全自动方案


第一部分:问题1 — 手动操作全流程

一、总览:从因子到复盘的完整链路

因子配置 → 策略定义 → 智能推荐 → 入选观测 → 持仓跟踪 → 定期复盘
   ↑                                                    |
   └────────── 因子/权重优化(闭环迭代)←──────────────────┘

二、每一步操作详解

Step 1:因子配置(筛选"优质+低价"的因子组合)

目标:配置一组能同时反映"公司质地好"和"价格相对低"的因子

已有能力

因子 类型 平台现状 用途
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计算

操作方式

  1. 进入"因子"页面 → 创建自定义因子
  2. 为新因子编写计算脚本(Python,复用现有因子计算框架)
  3. 触发计算,验证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/回撤 → 反向(越小越好)

Step 2:策略定义

操作

  1. 进入"策略"页面 → 新建策略
  2. 选择上述因子组合,设定权重和方向
  3. 设阈值(如 PE_PERCENTILE < 30 强制过滤)
  4. 设 topN = 20(初始多选,后续精筛)

已有能力:策略CRUD、因子组合、阈值过滤全部就绪

需补充

  • 因子阈值过滤(当前选股支持阈值,但需要确认PE分位等新因子的阈值UI是否可用)

Step 3:智能推荐

操作

  1. 进入"推荐"页面 → 选择策略 → 点击"生成推荐"
  2. 系统自动执行:市场环境识别 → 多因子选股 → 深度分析 → 评分融合 → 行业分散 → 黑名单过滤 → 置信度控制

已有能力(全部就绪)

  • ✅ 市场环境自适应权重(BULL/BEAR/SIDEWAYS)
  • ✅ 黑名单过滤(自动+手动)
  • ✅ 策略置信度控制
  • ✅ IC/IR自适应权重
  • ✅ 推荐结果持久化

推荐结果示例(预期格式):

排名 代码 名称 综合评分 PE分位 PB分位 ROE 缠论信号 行业
1 600519 贵州茅台 85.2 15% 20% 32% 二买 食品饮料
... ... ... ... ... ... ... ... ...

Step 4:入选观测(从推荐池到确认介入)

操作:推荐结果出来后,不直接买入,进入观测期

观测维度(逐只验证):

维度 操作 平台能力
财务深挖 进入"个股分析"→ 财务Tab ✅ 三大报表+指标趋势
估值分位 查看 PE/PB 历史分位 ✅ 已有API
缠论确认 查看 K 线图 + 买卖点 ✅ 已有
机构覆盖 查看研报数量和评级 ✅ 已有
新闻情绪 查看近期新闻+情感分类 ✅ 已有
资金流向 查看主力资金动向 ✅ 已有
内外盘 查看买卖力度 ✅ 已有
股东结构 查看十大股东变动 ✅ 已有
大宗交易 查看是否有折价大宗 ✅ 已有

需补充

  • Watchlist 功能:将推荐的股票加入"自选观察池",统一展示价格变动、信号触发
  • 3~5日观测期倒计时:推荐后自动设定期限,到期提醒决策

Step 5:持仓跟踪

操作:决定介入后,记录买入信息

已有能力

  • ✅ 推荐表现追踪(hit rate / 平均收益)
  • ✅ 模拟盘(可模拟持仓和盈亏)
  • ✅ 持仓预警(风控配置:止损/止盈/ATR移动止损)

需补充

  • 实盘仓位记录:当前模拟盘只模拟策略信号,不支持手动记录实际买卖
  • 止盈/止损提醒推送:预警存在但只在前端展示,无主动推送

Step 6:定期复盘

操作

  1. 推荐页查看命中率、最佳/最差股票
  2. 回测页查看策略历史表现
  3. 置信度页查看策略质量变化

已有能力

  • ✅ 批次历史表现(含质量标签LOW/MED/HIGH)
  • ✅ 策略置信度(4维度评分)
  • ✅ 黑名单自动评估
  • ✅ 回测归因(Brinson/因子风格/FF3)
  • ✅ Alpha滚动监控

闭环:复盘结果 → 调整因子权重 → 更新策略 → 重新推荐


三、问题1总结:能力清单

层次 已有能力 需开发能力 优先级
因子 39+因子 + IC/IR分析 PE/PB分位因子化、股息率、52周回撤 P0
策略 策略CRUD + 因子组合 阈值过滤UI增强 P1
选股 多因子选股 + 缠论筛选 + 财务派系 -
推荐 6步管线 + 黑名单 + 置信度 -
观测 个股深度分析(8维度) Watchlist看板 P0
跟踪 推荐追踪 + 模拟盘 实盘仓位记录 P1
复盘 命中率 + 归因 + 置信度 -
自动化 定时数据更新 每日自动推荐 + 推送 P1


第二部分:问题2 — 全自动方案(混合方案C细化)

一、系统架构(5层)

┌─────────────── 数据层 ──────────────┐
│ 日线(已有) + 财务(已有) + 情绪(已有) │
│ 分钟线(新增) + 实时行情(已有基础)     │
│ 估值历史(已有计算) + 龙虎榜(已有)     │
└──────────────┬──────────────────────┘
               ↓
┌─────────────── 规则引擎层 ───────────┐
│ 基本面过滤 → 估值分位 → 缠论识别     │
│ 量价异常 → 催化剂 → 黑名单           │
│ (全部复用问题1的因子和选股能力)      │
└──────────────┬──────────────────────┘
               ↓
┌─────────────── 大模型推理层(新增) ───┐
│ 综合研判 → 买价区间 → 介入时机       │
│ 风险等级 → 逻辑链 → 持仓建议         │
└──────────────┬──────────────────────┘
               ↓
┌─────────────── 输出层 ──────────────┐
│ 股票代码+名称+买入价区间+逻辑+风险   │
└──────────────┬──────────────────────┘
               ↓
┌─────────────── 追踪层(增强) ─────────┐
│ 价格预警推送 + 目标价通知            │
│ 持仓盈亏 + 退出时机提醒              │
└──────────────────────────────────────┘

二、关键节点详解

节点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分钟

节点2:为什么需要实时推送?腾讯实时接口可用性

为什么需要实时推送

场景:系统在早上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问题 ⚠️ qt.gtimg.cn 用 HTTP 更快(HTTPS在Windows下SSL握手慢~7秒)
备用方案 AKShare stock_zh_a_spot_em() 可作为备用实时源

推送渠道方案

渠道 实现难度 推荐度 说明
企业微信机器人 ⭐⭐⭐⭐⭐ Webhook 1行代码,免费,即时
钉钉机器人 ⭐⭐⭐⭐ 同上
邮件 ⭐⭐⭐ 适合每日报告,不适合盘中
Telegram Bot ⭐⭐⭐ 需翻墙
Server酱(PushPlus) ⭐⭐⭐⭐ 微信推送,免费额度够用

节点3:大模型选用哪家的API

选型标准

  1. 中文金融理解能力强
  2. API价格低(每日30只候选 × 约2k tokens = 约75k tokens/天)
  3. 推理能力够用(不需要旗舰级,但需要逻辑链生成)
  4. 国内可直连(无需代理)

对比分析

模型 输入价格(/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(关键判断)

理由

  1. 中文金融理解能力顶级:DeepSeek在中文金融文本上的训练质量公认第一梯队,理解"底分型""中枢""估值分位"等术语零障碍
  2. 价格极低:Flash版本输入$0.14/M、输出$0.28/M,每日75k tokens约 ¥0.2/天
  3. 1M上下文窗口:一只股票的全量分析数据(日线+财务+缠论+新闻+研报)约3k tokens,30只合计90k,轻松装下
  4. 国内直连:api.deepseek.com 无需代理,延迟低
  5. Thinking模式:Pro版本支持深度推理模式,适合生成"为什么推荐"的逻辑链
  6. 缓存命中: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完成后系统就能"说出买什么、什么价、为什么"。


附录:腾讯实时接口技术细节

qt.gtimg.cn 实时行情快照

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秒)

proxy.finance.qq.com 分钟K线

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只/分钟级轮询,压力极小