选股报告PDF自动生成器实战:HTML模板+Edge无头打印双引擎,四表合并买入参考总表

项目概览

「小舟选股PDF报告生成器 v8.4」是科学小舟团队为「小舟AI选股系统」打造的选股结果自动化交付模块,2026年7-8月持续迭代至统一版。生成器以「HTML模板 + Edge无头打印」为主引擎、ReportLab 为降级备用,把每日选股结果(A/B/C/D四表候选、大盘指数、板块热度、个股新闻)渲染成排版精美的PDF选股报告,并首创「买入参考总表」——将四表合并去重、按短线分排序、自动标注买入等级,实现「一键选股、自动出报告、直接可读」的完整交付链。

一、双引擎架构:Edge主引擎 + ReportLab降级

PDF生成采用「双保险」设计,主引擎失败时自动降级,保证报告必出:

  • 主引擎:HTML模板 + Edge无头打印——用HTML/CSS排版(表格、徽章、配色全部用CSS实现),调用本机 Microsoft Edge 的 headless 模式把HTML渲染成PDF,排版效果与网页一致、精美可控
  • 降级引擎:ReportLab——当Edge不可用(非Windows/路径缺失/渲染失败)时,自动切换到 ReportLab 程序化绘图生成PDF,保证报告不缺席
  • 自动探测:IS_WINDOWS 判断平台、EDGE_PATH 定位 Edge 安装路径,找不到则走降级分支,全程无需人工干预

二、买入参考总表:A/B/C/D四表合并去重

系统把四路候选(A表孕线候选、B表热点候选、C表基础评分、D表短线策略)合并成一张「买入参考总表」,去重逻辑严谨:

  • 同代码合并:同一只股票在多个表中出现时只保留一条,短线分取最高值,并补齐缺失字段(名称/板块/涨幅/量比/现价)
  • 来源追溯:每条记录标注来源组合(A / B / A+B / B+C…),候选来自哪几路一目了然
  • 排序规则:按短线分 short_term_score 降序排列,评分高的排前面
# 合并逻辑核心:同代码保留短线分最高的一条,并汇总来源
merged = {}
for lst, src in [(top_a, "A"), (top_b, "B"), (top, "C"), (top_d, "D")]:
    for c in lst:
        code = c.get("code", "")
        if code not in merged:
            merged[code] = dict(c)
        # 短线分取最高,补齐缺失字段
        if new_sts > merged[code].get("short_term_score", 50):
            merged[code]["short_term_score"] = new_sts
        merged[code]["_src"].add(src)
items = sorted(merged.values(),
               key=lambda x: x.get("short_term_score", 50), reverse=True)

三、买入等级自动标注:🟢首选 / 🟡次选 / ⚪观察

总表每条记录按短线分自动标注买入等级,并用颜色区分,报告可读性大幅提升:

  • 🟢 首选(短线分≥70):绿色标注,短线信号最强的候选
  • 🟡 次选(60~70):橙色标注,可重点关注
  • ⚪ 观察(<60):灰色标注,仅跟踪观察
  • 前三名保底:排名前3的候选即使评分不足也强制至少「🟡次选」,避免榜单头部出现灰色
  • 排名徽章:前3名用 🥇🥈🥉 徽章,其余用数字排名,视觉层级清晰
# 买入等级判定
if sts >= 70:  lv, lv_color = "🟢 首选", "#16A34A"
elif sts >= 60: lv, lv_color = "🟡 次选", "#D97706"
else:          lv, lv_color = "⚪ 观察", "#9CA3AF"
# 前三名强制至少次选
if i < 2 and lv == "⚪ 观察":
    lv, lv_color = "🟡 次选", "#D97706"

四、报告内容矩阵:选股、大盘、板块、新闻一册装

PDF报告不是简单的候选列表,而是完整的每日决策手册:

  • 候选明细表:排名/代码/名称/现价/板块/短线分/涨幅/量比/来源/买入等级10列完整展示
  • 大盘指数区:当日主要指数表现(午盘/收盘分时标注)
  • 市场概况:上涨/下跌家数、涨跌停统计
  • 板块热度:热门板块排行与强弱分布
  • 个股新闻:候选股相关新闻事件(stock_news)
  • 多日复盘:multi_day_review 历史回顾区,连续多日候选表现对比
  • 模式自适应:午盘(1300-1445)/收盘不同时间标签,支持报告类型 report_type 切换与 data_note 数据说明标注

五、交付链自动化:从选股到报告一键完成

PDF生成器深度嵌入选股主流程:一键选股 v8.4 跑完四表候选后自动调用 generate_pdf() 生成报告,输出到 选股报告/ 目录,配合 cron 定时任务实现「午盘选股→自动出报告→收盘复盘→再出报告」的全自动运转。报告目录通过 config.json 的 report_dir 配置,支持多环境切换。

项目成果

✅ HTML模板+Edge无头打印双引擎,PDF排版精美、降级不缺席。✅ 买入参考总表四表合并去重、来源可追溯、短线分排序。✅ 🟢🟡⚪三级买入等级自动标注,报告即决策。✅ 候选/大盘/板块/新闻/复盘一册装,每日决策手册化。✅ 嵌入一键选股主流程,午盘收盘全自动出报告。

项目说明:本文基于 D:\AI-Win专属工作区\小舟+hermes股票系统 目录下 脚本\v8.4\generate_pdf_v84.py、脚本\v8.4\generate_pdf_reportlab.py、脚本\v8.4\config.json、选股报告\ 目录等实际项目文件撰写,为科学小舟团队真实开发项目。

— 分享本文 —

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注