From 69c1a5434e69f22767eb225636b48a39138461f1 Mon Sep 17 00:00:00 2001 From: baobao Date: Wed, 21 Oct 2026 17:17:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B9=E6=A1=88=E5=89=AF=E6=9C=AC=E5=90=8C?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../交接_分红持续性研究数据产品_2026-10-21.md | 87 ++++++++++++ docs/交接_高股息阶段检测_2026-10-21.md | 7 + ...†红持续性研究数据产品开发规格_2026-10-21.md | 128 ++++++++++++++++++ docs/高股息阶段检测开发规格_2026-10-21.md | 7 + 4 files changed, 229 insertions(+) create mode 100644 docs/交接_分红持续性研究数据产品_2026-10-21.md create mode 100644 docs/分红持续性研究数据产品开发规格_2026-10-21.md diff --git a/docs/交接_分红持续性研究数据产品_2026-10-21.md b/docs/交接_分红持续性研究数据产品_2026-10-21.md new file mode 100644 index 0000000..fae6dc9 --- /dev/null +++ b/docs/交接_分红持续性研究数据产品_2026-10-21.md @@ -0,0 +1,87 @@ +# 分红持续性研究数据产品交接 + +2026-10-21,北京时间。用户批准专项研究,并要求基座沉淀可复用数据。 + +## 本地实现 + +基座新增独立研究包、归档表、只读批量及固定版本接口。 +沿用brain模型路由,六项研究分别保留支持、压力与未知。 +证据编号、原文摘录、数字和公司类型由程序检查。 +模型不改变基座质地,不形成股票评分、候选资格或买卖动作。 +金融企业类型以原始现金流表为准,必须保留资本约束证据。 +来源故障和模型失败保留上一份完整研究,另记检查和调用状态。 +输入不变复用;月度复查只检查已登记对象,自动开关默认关闭。 +新任务、手工脚本、日检、表定义与运行参数均已登记。 + +桥每日检查新增只读研究摘要。缺失、失败和到期分别展示。 +技术来源仍在详情,研究有支持也不改变investment_approved=false。 +PMS与择时系统仅同步文档,没有代码或参数变更。 + +## 真实材料核对 + +仅在178的backend容器执行只读查询,无模型调用、写库或容器操作。 +首个探针2026-10-21 16:54北京时间,随后冻结两家公司的真实材料。 +丽珠集团与海尔智家各有21行财务指标、22行重构报表。 +两家指标及原始现金流仅到2026一季度,重构报表已到半年报。 +丽珠读取6份年度或半年度报告,海尔读取7份,解析缓存均存在。 +当前匹配结果未见单独的分红实施公告,不能称公告覆盖完整。 +海尔的分红表存在同阶段同日期冲突,未擅自选取或相加。 + +模型输入选择年度财务及最近两期,并提取有偏移的文档节选。 +完整原料仍冻结。丽珠78条证据、67499字符,海尔82条、72155字符。 +两家达到单次语义研究的输入条件,但材料缺口未消除。 +本轮没有实际调用模型,没有生成这两家公司的专项研究结论。 + +## 验证与部署边界 + +本地标准库离线回归与桥契约测试结果见末节。 +假模型输出仅用于用例,不进入研究页面或任何生产表。 +曾发现测试文件根目录定位错误,修正后通过。 +桥缺省文案变化导致旧用例失败,已恢复“待核验”兼容语义。 +真实取材曾超过单次容量,已改为保留全量原料、精选有来源的输入。 +未来与未知日期材料不进入模型提示词,此项有专门回归。 + +本轮没有推送、远端拉取、初始化新表、重启或重建。 +新增接口与任务尚未在线生效,自动复查没有启用。 +不得把本地实现或真实只读取材称作生产研究已完成。 +部署前先核实际分支、队列及模型配置,不推断当前模型名仍与旧报告相同。 +178工作进程代码生效需四类worker一起重建;新增定时需beat加载新表。 +基座接口侧源码挂载会立即重载,远端拉取前核好整段提交。 +桥需重建或重启加载新接口消费模块,遵守容器操作授权边界。 +维护避开06:10及07:10。188不操作。 + +## 接续顺序 + +1. 准备部署并初始化研究表。先核只读接口,不启用自动批量。 +2. 从少量已取材公司完成真实模型研究,核对每条引用和反方。 +3. 补齐半年报和分红公告。不能用模型补写缺失事实。 +4. 通过真实保存、重复提交与旧版查询验收后,再启用月度复查。 +5. 继续分批补个股评析覆盖。此次没有自动完成155家的缺失研究。 + +暂停仅关闭专项复查,历史结果保留。PMS交易规则无需回退。 + +## 17:15本地验收记录 + +基座全量离线229项通过。桥研究与计划契约联合70项通过。 +两组都禁止socket联网,实际网络尝试均为零。 +桥仓要求的六组既有脚本另行通过,含XXL入口13例。 +XXL首次因临时运行环境缺fastapi未启动,改用已有隔离环境后通过。 +新增文件语法、空白与git diff --check通过。 +没有在生产容器运行旧测试副本。 + +查询另覆盖A、B、再次复用A的序列。 +用SQLite执行同一窗口查询,仅转换占位符与ANY语法。 +确认当前返回复用的A,早期截止仍返回B,固定A正文未改。 +该用例不代替生产PostgreSQL建表、索引与并发事务判收。 + +证据保存在开发机以下目录,SHA256SUMS包含八个文件摘要。 +`/Users/baobao/.codex/visualizations/2026/10/14/01a1396c-4e8e-7a21-ac34-8b7f6150dfe3/dividend-foundation-20261021/` +包含只读取材脚本、源探针、完整冻结材料、材料形状与三份测试日志。 +真实源材料没有写进Git仓库。假模型回答也没有作为研究产物发布。 + +本轮页面仅由离线HTML用例检查文案与旧字段兼容。 +新研究页面的浏览器验收、真实模型语义与实际数据库接口均待部署后完成。 + +本地功能提交:基座a5d4c02,桥238b5f7。 +方案与交接另作副本同步提交。没有推送或部署。 +PMS既有台账、探针和择时仓库已有未提交文件均未纳入本次提交。 diff --git a/docs/交接_高股息阶段检测_2026-10-21.md b/docs/交接_高股息阶段检测_2026-10-21.md index 2db6e57..d6013af 100644 --- a/docs/交接_高股息阶段检测_2026-10-21.md +++ b/docs/交接_高股息阶段检测_2026-10-21.md @@ -73,3 +73,10 @@ XXL日程尚未创建或启用,不能声称已经每日自动运行。 停止时只停独立研究任务,保留研究归档。 桥有源码挂载,回退须同步源码与进程,不能只换镜像标签。 + +## 2026-10-21 基座专项研究接续 + +用户批准将专项研究作为基座可复用数据产物。 +本地已新增存储、模型语义研究与只读接口,桥接收已有结果。 +最新事实见《交接_分红持续性研究数据产品_2026-10-21.md》。 +原阶段的164只覆盖、未部署和未自动研究边界仍有效。 diff --git a/docs/分红持续性研究数据产品开发规格_2026-10-21.md b/docs/分红持续性研究数据产品开发规格_2026-10-21.md new file mode 100644 index 0000000..a879c5e --- /dev/null +++ b/docs/分红持续性研究数据产品开发规格_2026-10-21.md @@ -0,0 +1,128 @@ +# 分红持续性研究数据产品开发规格 + +2026-10-21,北京时间。用户批准专项研究,并要求沉淀为基座数据。 + +## 目标与职责 + +基座为任意指定公司产出可复用的分红持续性研究。 +不以股息率、ST 或交易候选资格限制基座的研究范围。 +高股息初筛仍由桥执行。研究结果不修改个股质地,不进入融合断言。 +PMS 与其他流程经桥消费,当前批次不接交易。 + +## 数据契约 + +每份记录保留股票代码、契约版本、研究版本、固定引用、输入指纹。 +保留研究截止时刻、底层材料期、公开日期、模型名、用量和核验结果。 +输入包括五年财务指标、重构现金流、分红记录、已解析年报及分红公告。 +已有多视角评析作为观点来源。它不能替代公告与财务事实。 +公开日未知或晚于截止日的材料隔离。原料保留,不补造历史版本。 +只有日级公开日期时,明确不能证明当日盘前可得。 + +六项研究问题分别回答普通与特别分红、盈利持续性、支付能力、 +债务或资本约束、分红政策、压力情形。每项输出支持、压力或未知。 +每条判断带证据引用与原文摘录。支持与反方并存,不按模型票数表决。 +模型不能新增无来源金额、概率、股息预测或买卖建议。 +未核验的数字、无效引用或缺失关键材料使结论退回证据不足。 +金融企业必须讨论资本约束,不能直接用工业企业自由现金流判定。 +研究结论仅有“有支持”“存在压力”“证据不足”,均不是投资批准。 + +## 执行方式 + +沿用现有 brain 路由,经配置取实际模型,不写死厂商名称。 +确定性取材、模型语义研究、确定性检查与发布分开。 +没有足够财务与公告材料时不调用模型,保存缺口。 +输入、提示词、模型配置不变时复用研究,不重复付费。 +专项咨询锁防止并发重复调用。失败记录独立保存,旧完整结果可查。 +新增独立研究表保存冻结输入和结构化结果,仅核对时间可更新。 +查询不调用模型、不建表、不重装配。固定引用与按截止时刻查询均支持。 + +首版提供指定公司手工入队与批次入口,显式使用 review 队列。 +接口不降级为同步模型调用。批量上限和每日调用上限均受控。 +月度复查仅覆盖已登记研究的公司。每天20:35检查是否到期, +只有跨月者读材料;错开06:10、07:10及21:30行业催化。 +自动复查默认关闭,部署验收后再启用。重大事件可显式提前复核。 +月度材料未变时不重做研究。桥每日只接收已发布结果。 + +## 首批验收预判 + +现有材料可能不足。不得为了产出肯定结论降低证据要求。 +离线用例覆盖日期边界、累计流量、重复记录、缺公告、模型编造数字、 +无效引用、金融企业、模型截断、空回答重试、幂等与并发互斥。 +覆盖失败保留旧版、固定引用、查询零模型、月度复用与桥缺键兼容。 +用本地冻结真实材料检查输入形状,不把合成模型结果当真实研究。 +基座使用离线 unittest。按 akg-verify 核对契约与五处登记。 + +## 撤销与交付边界 + +关闭专项复查开关即可停止新调用。保留已发布结果及失败审计。 +本轮先完成本地代码与离线验证。部署、实际模型调用和生产判收分开记录。 +四仓同步规格与交接,决定台账记入桥。服务重建遵守既有授权边界。 + +## 开发者参考 + +新增 analysis/dividend_research 包与 dividend_research_store。 +表定义同步 db/postgres/init.sql,显式 init 入口建表。 +源读取使用基座既有代理连接,逐表查询,不在开发机连库。 +解析只读缓存,不临时解析 PDF,不绕过模型端点池。 +输出引用同时包含表名或文档身份、内容指纹与材料日期。 +桥以可选接口消费研究,错误与缺失分开显示,不改变研究池准入。 + +## 第一版实现与运行入口 + +新表为 dividend_research_runs。完整原料与研究结果保存为 JSON。 +job_runs 单列每次检查和模型尝试。只有 checked_at 允许原位更新。 +财务输入选年度和最近两期;未送入模型的季度原料仍完整保留。 +文档按分红与资本约束关键词取六处节选,每处保留原文偏移。 +有遗漏的相关段落明确列缺口,不声称已经通读全文。 +未来与日期不明原料只留审计,不进入模型上下文。 +同一分红的预案与实施分开,同阶段同日期冲突继续列待核验。 +公司类型取 gp_cashflow.comp_type,不让模型将金融企业改判为工业企业。 +类型与现金流字段口径依据:[供应商现金流文档](https://tushare.pro/document/2?doc_id=44)。 + +模型使用现有 brain 升级路由,不新增模型档位。 +单次最多16000输出token,空回答至多重试一次,总额32000。 +截断不重试。模型名、非敏感配置及每次使用量落账。 +每日最多五次单公司模型尝试,可通过环境变量明确调整。 +专项全局咨询锁串行处理。单家公司任务遇忙按分钟重试,最多三十次。 +首版仍需显式指定公司提交;不会自动为164家公司付费研究。 + +| 入口 | 行为 | +| --- | --- | +| GET /research/dividends?codes=代码列表 | 最多200家公司,只读摘要,支持带时区asof。 | +| GET /research/dividends/{ts_code} | 读最新研究,或用ref读取固定版本。 | +| GET /research/dividends/health | 只读存储、检查与模型尝试状态。 | +| POST /admin/dividend_research?ts_code=代码 | 显式投review队列,接口不跑模型。 | +| akg.dividend_research_batch | 20:35检查月度到期,默认关闭。 | + +月度开关 AKG_DIVIDEND_RESEARCH_MONTHLY_ENABLED 默认0。 +调用上限 AKG_DIVIDEND_RESEARCH_DAILY_MAX 默认5。 +桥的dividend_research_feed只调用GET,不自动提交模型任务。 +基座未部署或暂不可用时显示专项研究不可用,不改变高股息初筛。 +已有研究到月度复核期时显示待复核,不伪装为刚更新。 +材料恢复为历史输入时,允许复用该固定研究。 +最新与历史查询按当时已完成的核对选择,不只按首次建档时间。 +后来的复查时间不能倒灌旧截止时刻。 + +```bash +# 开发机 · astock-kg;预期测试全部OK,不连接数据库或模型 +PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=backend python3 -m unittest discover -s backend/tests -t backend +``` + +```bash +# 开发机 · akg-factor-bridge;预期研究及接口用例全部OK +PYTHONDONTWRITEBYTECODE=1 python3 -m unittest test_dividend_watch test_dividend_jobs test_dividend_research_feed +``` + +```bash +# 178基座机 · ~/project/astock-kg;代码部署后初始化,随后仅读健康 +docker compose exec -T -e PYTHONPATH=/app backend python /app/scripts/dividend_research_run.py --init +docker compose exec -T -e PYTHONPATH=/app backend python /app/scripts/dividend_research_run.py --health +``` + +```bash +# 178基座机 · ~/project/astock-kg;上线后显式提交研究,会使用模型并写研究结果 +docker compose exec -T -e PYTHONPATH=/app backend python /app/scripts/dividend_research_run.py --code 000513.SZ --enqueue +``` + +只有第一家真实研究完成,才能判收模型语义、用量和生产落库。 +本地合成模型与读取真实原料都不能替代这个判收。 diff --git a/docs/高股息阶段检测开发规格_2026-10-21.md b/docs/高股息阶段检测开发规格_2026-10-21.md index d132b06..4319f85 100644 --- a/docs/高股息阶段检测开发规格_2026-10-21.md +++ b/docs/高股息阶段检测开发规格_2026-10-21.md @@ -131,3 +131,10 @@ docker exec akg_factor_bridge python dividend_watch.py health 本轮没有到月度复查日的对象,没有重复读取三路财务分红资料。 公开日期只有日级精度,不能证明某份材料在当天盘前已可知。 因此本轮结果只用于当前截面研究,不进入历史策略效果统计。 + +## 2026-10-21 分红研究归属更新 + +用户批准将分红持续性专项研究沉淀为基座数据产品。 +实现与验收见《分红持续性研究数据产品开发规格_2026-10-21.md》。 +桥继续筛选和展示,新增只读研究消费,不调用模型、不改交易资格。 +本地代码已实现,但尚未部署或产生真实专项模型研究。