Files
worldquant-alpha-system/docs/worldquant-knowledge-base/03-engineering/2026-operating-lessons.md
T
yuxuanhui a1b160e1b0 Update knowledge base with recent forum insights and clarifications
- Added new sections on missing data handling and experimental variables in data and signal semantics (2026-09-25).
- Included clarifications on clustering representatives and candidate evaluations in portfolio and correlation optimization (2026-09-25).
- Updated README to reflect the latest forum synchronization and new post counts, including significant additions and revisions across multiple topics (2026-09-25).
2026-09-25 10:38:15 +08:00

60 lines
8.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026 工程经验:可恢复、可对账、可核验
只引用今年帖子,不安装或执行其代码。这里整理职责与故障模式,不宣称项目已经实现。
## 1. 请求、业务结果与配额分层
今年动态并发帖建议成功后渐增、429 时降低并发并退避;它是示例策略,不是平台配额保证。来源:[【代码分享】遇到429时,我用代码写了个一套管理机制来动态控制并发数](https://support.worldquantbrain.com/hc/en-us/community/posts/39224259294999)(2026-03-23)。每日 simulations 使用量查询见 [获取 WorldQuant 每天剩余回测次数、已回测次数](https://support.worldquantbrain.com/hc/en-us/community/posts/43058251853847)(2026-08-28)。调度器应以实际响应、Retry-After 和可取得的当前配额为依据,而不是固定并发数字。
认证失败、限流、暂时网络错误、任务业务失败分别处理;提交类请求出现未知结果时先对账,不能盲目重发。认证复用和限流目标是减少冗余请求,不是用多账号/多会话规避额度。
## 2. 长任务保存状态
checkpoint CSV 与报告帮助批处理断点续跑,来源:[【代码工具分享】让 Alpha 回测告别手工时代:一条命令跑完整个研究闭环](https://support.worldquantbrain.com/hc/en-us/community/posts/41551045362071)(2026-06-28)。跨 API/网页的台账用 RESERVED 防止重复派发,来源:[一个很小但很有用的工具:Alpha Backtest Ledger,避免重复回测](https://support.worldquantbrain.com/hc/en-us/community/posts/40857367883159)(2026-05-31)。
CSV 本身不保证并发原子性。需要记录任务身份、租约或领取时间、simulation/alpha ID、最后成功阶段和 unknown 状态恢复。规范化公式和完整 settings 参与去重;不要盲目统一代码大小写,可能改变字段或字符串含义。
## 3. 缓存有完整性清单
只记录最后更新时间不够;缺页或遗漏 Alpha 会低估相关性。来源:[本地check ppc的完整方法及代码,助你GLB PPA开发一臂之力](https://support.worldquantbrain.com/hc/en-us/community/posts/43085454784535)(2026-08-29)。缓存应保存数据池类型、分页完成状态、去重数量、失败页面、日期区间和采集版本。
浏览器向 Python 传递缓存的社区方案强调字段校验。来源:[分享一个连接插件中prodmemo和python的一个小脚本,帮助大家可以将页面上缓存的pc拿到python里用](https://support.worldquantbrain.com/hc/en-us/community/posts/42585946296855)(2026-08-09)。应验证输入 schema 和对象范围,不能把未经核验的缓存直接用于提交判断。
## 4. 研究反馈与 OS
将 OS 的检查字段同步到本地,而不只看 IS。帖子提出检查 `COMPENSATED_ALPHA` 的 WARNING;是否可计费/配点要按当时平台对象核验。来源:[【QUANT101】什么是 Non-Compensated Alpha? 如何筛选 Compensated Alpha?](https://support.worldquantbrain.com/hc/en-us/community/posts/39354351739415)(2026-03-28)。
流水线可以贯通生成、模拟、去重、相关检查和 OS 回流;社区 MCP 架构的存在不证明其收益有效。来源:[Pipeline MCP 深度版:面向多样性、高质量、低相关性 Alpha 持续生产的编排架构实践](https://support.worldquantbrain.com/hc/en-us/community/posts/39868267753623)(2026-04-20)。研究任务完成与外部提交应分开授权。
## 5. 数据获取与审计
今年帖子介绍认证后通过 Zendesk API 读取论坛资料。来源:[Python纯代码获取论坛内容(不使用任何无头浏览器等操作)](https://support.worldquantbrain.com/hc/en-us/community/posts/40458012001815)(2026-05-14)、[通过 Zendesk API 直接获取 WQB 平台资源 — 告别浏览器依赖](https://support.worldquantbrain.com/hc/en-us/community/posts/40531705016855)(2026-05-17)。本次实际使用这一可访问接口完成目录与评论读取;只保存需要的来源目录和归纳,不把会话 Cookie 写入知识库。
## 建设次序
先补台账和完整结果保存,再做断点恢复与配额控制;之后建设相关性缓存完整性检查、结构化失败回流,最后扩大候选生成。架构建议见 [工程路线](architecture.md)。没有修改本项目运行代码、数据库或全局代理规则。
## 2026-09-11 补充:跨区域重跑的比较与恢复边界
来源:[将 OS Regular Alpha 重跑为 ALL/D1 的脚本](https://support.worldquantbrain.com/hc/en-us/community/posts/43322521365143)(2026-09-08 发布,本次读正文及 5 条评论)。作者称直接 REST 请求需要显式指定 `REGION_AGNOSTIC`,仅改 `region` 不够;这是社区实现经验,本库未执行代码、验证请求 schema 或复现其结果。
可迁移的工程做法是先清点候选、小样本检查,再扩大批量;逐项记录源 Alpha、模拟引用和终态。`POST_ERROR` 不能一律视为已处理,未知受理结果须先对账,429 等临时错误与字段不支持多区域的兼容性错误应分别处理。评论补充保持原有 decay、pasteurization 等设置,避免把参数变化误归因于跨区域迁移;新的 universe 口径也要单独核对。
帖子开头声称批量重跑“一定能找到”可提交候选,但正文也明确完成不代表指标或提交资格保留。本库只保留后一边界;没有可提交结果也不足以单独证明原信号质量低,仍需排查覆盖、设置和区域适用性。
## 2026-09-18 补充:断点声明与代码行为要对照
[OS Alpha 批量重跑 RA 两脚本](https://support.worldquantbrain.com/hc/en-us/community/posts/43524503109655)(2026-09-16)声称支持续跑,但所附代码在 `simulate_single` 返回后无条件 `mark_done(k)`,而异常或缺少 Location 的路径可能返回 `None`。这会把未确认完成的任务记为已处理;应保留已受理引用及 UNKNOWN/待对账状态,不能仅靠 done 集合跳过。进度键也没有覆盖全部 settings,改动未入键参数后可能误复用旧进度。这些是静态阅读发现,没有运行脚本或验证平台端行为。
同帖还包含自动 PATCH Alpha 标签的步骤,因而不是纯读取工具。[另一篇 RA 说明](https://support.worldquantbrain.com/hc/en-us/community/posts/43410200668823)(2026-09-11)所述“不设置属性、不提交”不能自动套用到不同脚本。[AlphaSubmitter](https://support.worldquantbrain.com/hc/en-us/community/posts/43299585796247)(2026-09-07,本轮补录)宣传多轮自动重试,但没有给出足够的幂等或受理状态核对证据;POST 超时不能直接解释为服务端未创建,重发前需先对账。
[意见留言墙](https://support.worldquantbrain.com/hc/en-us/community/posts/42302637812503)本轮新可见评论提出登录过期导致界面状态丢失、回测次数与 Alpha 列表数量不同等问题。它们是用户反馈,不是已确认平台故障:先保存任务引用与界面筛选状态,再分别核对请求次数、失败/取消状态和结果对象数,避免仅凭两个总数推断丢数据。本轮没有复现相关 UI 行为。
## 2026-09-25 补充:缺失状态不能被默认值掩盖
[回测用量帖的新增可见评论](https://support.worldquantbrain.com/hc/en-us/community/posts/43058251853847#community_comment_43553064668183)(2026-09-17,本轮补齐)指出,没有匹配到当天活动记录时直接置 used=0,可能把日期错位或接口异常解释成额度充足。适合作为审查项:缺记录保留 UNKNOWN,再核对日期与响应;评论所述日界、固定上限和具体 API 行为未由本轮核验。
[ProdMemo 桥接帖评论](https://support.worldquantbrain.com/hc/en-us/community/posts/42585946296855#community_comment_43606520549399)(2026-09-19)提出旧缓存覆盖新记录的风险。合并时应保留数据类型、采集时间与来源范围,并核对部分结果是否覆盖完整结果;这是评论提供的待核审查点,本轮没有重新读取并运行桥接脚本,不能直接宣称已确认其实现缺陷。
[多 Agent 研究流程](https://support.worldquantbrain.com/hc/en-us/community/posts/43623479962007)(2026-09-20)把字段证据、研究假设、实验结果与审计裁定分开,是可用的职责设计:字段存在不证明逻辑成立,回测返回结果不证明通过审计。它是作者的架构方案,不是多代理提高样本外表现的实证。