diff --git a/docs/交接_高股息阶段检测_2026-10-21.md b/docs/交接_高股息阶段检测_2026-10-21.md new file mode 100644 index 0000000..2db6e57 --- /dev/null +++ b/docs/交接_高股息阶段检测_2026-10-21.md @@ -0,0 +1,75 @@ +# 高股息阶段检测交接 + +2026-10-21,北京时间。 +本次接用户“每日查股息,其他资料按月或季度查”的确认。 +完整规格见《高股息阶段检测开发规格_2026-10-21.md》。 + +## 已完成 + +桥已实现独立扫描、月度资料复用和新入池补查。 +季度评析到期列入研究需求,日常接收已有的新评析。 +先排除ST及退市名称,未知名称或上市状态隔离。 +股息使用月表dv_ttm,dv_ratio不作为缺失值替代。 +固定输入、内容指纹、单写入锁与原子入口均已实现。 +来源失败保留上一份结果,日检明确本次检查失败。 +支持原文副本、各视角评价、反方和材料期查看。 +所有持续性结论仍待公告和支付能力专项核验。 + +独立XXL入口不占每日计划修订锁。 +现有XXL默认链、计划、PMS与择时参数均未改。 +不调用模型,不提交研究股票池,不生成交易动作。 +不需要新常驻容器,先复用桥的独立子进程。 + +## 实测与保存位置 + +155容器只读试跑冻结时刻为16:00:40,行情日10-20。 +5568行中,171只滚动股息不低于5%。 +排除ST八菱1只,6只名称缺失,研究池164只。 +2只质地好、3只中、4只差,155只缺评析。 +9份当前报告原文已保存。旧报告均明确为当前读取副本。 +财务3447行、现金流3444行、分红3876行通过公开日期过滤。 +这些只是当前数据源记录,不证明公告与财务材料完整。 + +结果位于开发机目录: +`/Users/baobao/.codex/visualizations/2026/10/14/01a1396c-4e8e-7a21-ac34-8b7f6150dfe3/dividend-watch-20261021/`。 +latest.json指向本轮最后结果。versions保留各次本地研发归档。 +bundle.json含完整输入与结果,report.html是可读报告。 +这些是研发试跑记录,不是已在生产调度发布的每日样本。 +原211只Excel实验文件另保留,没有改写历史核查。 + +新增36项研究与调度测试通过。 +合并现有版本和查询测试,共63项禁网回归通过。 +原XXL入口13项测试通过。 +初次扩展回归遇到本地Python3.9和不完整日历依赖。 +已改用捆绑Python3.12与现有完整日历包,未调整业务代码迁就测试。 +测试日志在开发机 `/private/tmp/dividend-20261021/`。 +同月第二次真实只读检查耗时2.438秒。 +164家财务资料摘要和9份报告副本均未改变,月内复用通过。 +最终页面搜索丽珠集团仅显示该公司,状态筛选正确,浏览器错误为空。 + +## 部署状态 + +本轮只读核实155桥提交5586016。 +容器运行镜像为sha256:55f57b42951d2dd8a6ff871b05cf62db6216fa965c4912fb0b365219db9551b9。 +容器启动时刻为UTC 2026-10-21 02:13:24.98567122。 +服务器已有.env备份及data未跟踪文件,没有清理。 +本次未推送、未远端拉取、未重启容器。 +独立任务入口尚未在运行中的API加载。 +XXL日程尚未创建或启用,不能声称已经每日自动运行。 +178和188没有部署操作,PMS没有代码或参数变更。 + +## 后续顺序 + +1. 先补资料和个股评析覆盖。优先核验2只已有好结论的公司。 + 明确普通分红、特别分红、半年报缺口及支付能力。 + 金融企业另核资本约束,不套工业企业现金流阈值。 +2. 对155只未覆盖者分批研究,保存观点分歧与未知事项。 + 不将自动请求清单误报为已经完成的模型评析。 +3. 部署前运行候选镜像禁网测试,保存现有计划归档和参数摘要。 + 核实桥运行中没有未完成修订,再使API加载新入口。 +4. 使用既有XXL平台单建研究日检,交易日北京时间08:05。 + 先核平台调度守卫。不得用Codex心跳或宿主cron替代。 + 首次正常调度核对回调、日检、月度复用与原计划无变化。 + +停止时只停独立研究任务,保留研究归档。 +桥有源码挂载,回退须同步源码与进程,不能只换镜像标签。 diff --git a/docs/高股息持续配置实验规格_2026-10-21.md b/docs/高股息持续配置实验规格_2026-10-21.md index 7847edd..5055ab4 100644 --- a/docs/高股息持续配置实验规格_2026-10-21.md +++ b/docs/高股息持续配置实验规格_2026-10-21.md @@ -113,3 +113,12 @@ 当前已抽查部分公告,未完成全部公司的公告级审核。 正常和压力分红、买入价格以及可执行组合仍待研究。 本轮没有新增业务表、任务、参数或交易指令,不涉及部署。 + +## 同日第二阶段决定 + +用户要求改成持续阶段检测。股息每日查,其他材料按月或季度查。 +新入口改用gp_stock_factor_pro对应月份表,全市场扫描。 +ST直接排除,不再保留为新的研究候选。旧核查记录保持。 +实现与最新状态见《高股息阶段检测开发规格_2026-10-21.md》 +及《交接_高股息阶段检测_2026-10-21.md》。 +第二阶段已有本地代码和真实只读试跑,尚未部署或开启自动日程。 diff --git a/docs/高股息阶段检测开发规格_2026-10-21.md b/docs/高股息阶段检测开发规格_2026-10-21.md new file mode 100644 index 0000000..d132b06 --- /dev/null +++ b/docs/高股息阶段检测开发规格_2026-10-21.md @@ -0,0 +1,133 @@ +# 高股息阶段检测开发规格 + +2026-10-21,北京时间。承接高股息实验。 +用户明确要求排除 ST,股息每日查,其他材料按月或季度查。 +本方案替代旧实验中将 ST 留作研究样本的安排。 +原始核查结果保留,不改写已保存的历史。 + +## 目标与边界 + +建立独立研究清单,回答股息是否够高、公司是否值得研究、分红能否持续。 +筛选放在 akg-factor-bridge。基座继续提供事实和多视角评析。 +复用桥容器的独立命令,不新增常驻容器。 +本流程不修改每日计划、因子、股票池、PMS 或交易参数。 + +## 检测节奏 + +| 内容 | 节奏 | 工作 | +| --- | --- | --- | +| 股息与风险名称 | 每交易日北京时间 08:05 | 检查上一交易日全市场数据、ST、上市状态及股息变化。避开盘前链和计划生成。 | +| 财务与分红事实 | 每月首次成功运行;新进入者立即补查 | 读取五年年度财务、现金流和分红公告。失败不推进复查日期。 | +| 完整个股研究 | 每季度列出复核需求;重大反方变化提前列出 | 复用现有多视角结论,保存支持、反方与未知事项。缺材料时列补查清单。 | + +每天接收已有的新评析,不每天重新调用模型。 +月度取数完成不等于完成季度深度研究。 +第一版输出研究需求,不自动批量生成数百份模型评析。 +持续性专项结论须有普通分红、盈利、现金或资本约束证据。 +没有这些证据时,只能列为待核验,不能宣称大概率持续。 + +## 取数与判断 + +1. 表名由预期行情日期生成,当前为 gp_stock_factor_pro_202610。 + 月初使用上一交易日所属月份,禁止永久写死 202610。 + 日期不对、表缺失、重复代码或整路来源失败,停止本次发布。 +2. 使用 dv_ttm,单位为百分数,入口暂用不低于 5%。 + dv_ratio 只作上一自然年度对照,不填补缺失的 dv_ttm。 + TTM 是历史观察值,不是未来承诺。 + 字段定义见 https://tushare.pro/document/2?doc_id=32。 +3. 名称从 gp_code_all 单表读取,在内存合并。 + ST、*ST、SST、S*ST 及退市名称先排除。 + 名称或上市状态不明的股票隔离,不能因缺名单而放行。 +4. 所有观点保留实际财务材料期、评析时间、来源和未知事项。 + 不以视角赞成数量代替研究,不更改基座质地算法。 +5. 先分成质地较好待核验、观点有分歧、已有明确风险、待补评析。 + 这四类不是投资评级。分红持续性在专项证据齐备前保持待核验。 +6. 金融企业不套用工业企业现金流阈值。 + 特别分红、资本开支、债务及母子公司资金上划单独核验。 + 旧半年报缺口不能用报告生成时间掩盖。 + +## 输出、故障与撤销 + +独立目录保存输入、完整结果、可读报告和研究需求清单。 +每次成功发布只追加,固定内容指纹,最后原子切换 latest。 +相同有效输入与配置不重复归档。源失败保留旧结果,同时明确检查失败。 +旧结果不能以最新日期展示。缺值不归零。 +原始报告按读取时点冻结。旧无固定引用报告只称当前读取副本。 +不得将副本冒充原历史时点的完整材料。 + +只新增独立 XXL 入口,不加入默认 build、plan、push-pool 链。 +研究任务使用独立运行锁,不占五分钟计划修订的锁。 +统一调度启用前须验证本地、真实只读取数和接口加载。 +手工入口与日检入口随实现登记。停止独立任务即可撤销。 +历史研究记录保留,交易系统无需回退。 + +## 实施前预判与验收 + +预判高股息池的完整评析覆盖不足,不能把未覆盖当基本面良好。 +预判北交所新代码与名称主表可能不同步,先隔离再补源。 +测试覆盖 ST 与缺名称、5% 边界、月切换、日期落后、重复记录、 +旧财务期、反方观点、月度复用、新进入者、源失败、发布中断和幂等。 +只读实跑核对各组数量相加、研究来源及历史文件不变。 +显示主要保留股息、经营依据、风险和待核验材料。 +技术标识置于详情,不堆在研究卡上。 + +## 开发者参考 + +纯逻辑和文件发布使用标准库。数据库读取复用桥 db 连接。 +153 代理逐表查询,禁止联表。所有查询有确定顺序。 +冻结截止时间含时区。当前截面不冒充可回测的历史版本。 +月度财务来源为 gp_fina_indicator、gp_cashflow、gp_dividend。 +公开日期晚于研究截止时间的材料不进入判断。 +新增内容缺键按未知处理。先保存来源再形成报告。 +无新业务数据库表,无模型调用,无交易写入。 + +## 第一版实现与入口 + +桥新增 dividend_watch.py、dividend_sources.py、dividend_jobs.py。 +研究报告路径为 GET /research/dividend。 +日检路径为 GET /research/dividend/health。 +独立任务入口为 /api/v1/xxl/dividend-watch。 +使用既有任务鉴权和完成回调,任务执行成功才回调成功。 +第一版没有在 XXL 创建或开启日程。 +任务进程中断后,重新检查归档与日检,不把任务消失视为成功。 + +```bash +# 开发机 · akg-factor-bridge;预期全部 OK,不连接外部服务 +PYTHONDONTWRITEBYTECODE=1 python3 -m unittest test_dividend_watch test_dividend_jobs +``` + +```bash +# 155 桥机 · ~/project/akg-factor-bridge;代码部署后使用 +docker exec akg_factor_bridge python dividend_watch.py scan +docker exec akg_factor_bridge python dividend_watch.py health +``` + +第二条预期 ok=true,且行情日期是上一完整交易日。 +资料缺失会进入核查事项,不代表研究已通过。 +健康表示本次观察已完整保存,不表示投资资格通过。 +月度资料完成取数,与季度研究完成审核是两个状态。 +尚无自动补齐个股评析、专项分红审核或自动交易功能。 + +## 2026-10-21 真实只读试跑 + +北京时间16:00:40冻结输入。来源行情日2026-10-20。 +月表5568行,滚动股息不低于5%的有171只。 +其中ST八菱排除,6只北交所新代码的名称未匹配。 +余164只进入独立研究池。已有评析9只,未覆盖155只。 +已有结论中,好2只,中3只,差4只。 +两只好公司为丽珠集团与海尔智家,仅列优先核验。 +两者财务指标期与重构报表期不同,不能直接确认分红持续性。 +九份当前报告原文已冻结,均为旧格式读取副本。 +它们不冒充原生成时点的固定历史版本。 + +本月资料读取164家公司。日期过滤后保留财务指标3447行, +现金流3444行,分红3876行。记录数不能证明完整性。 +所有公司的持续性结论仍为待核验,未批准任何投资。 +本地新增36项研究与调度回归。 +连同现有计划版本和查询共63项禁网回归通过。 +原XXL入口13项回归通过。页面分组、搜索与筛选另做浏览器验证。 +当前是本地实现与真实只读取数完成,未重启或部署服务。 +同月第二次实测耗时2.438秒。164家财务缓存摘要相同,9份原报告复用。 +本轮没有到月度复查日的对象,没有重复读取三路财务分红资料。 +公开日期只有日级精度,不能证明某份材料在当天盘前已可知。 +因此本轮结果只用于当前截面研究,不进入历史策略效果统计。