跳转至

更新日志

这里记录面向用户的主要功能、修复与兼容性变化。历史版本中的命令名反映当时的接口;当前用法以 CLI 参考为准。升级前阅读升级与兼容性。

[0.14.0] — 2026-10-05

  • 升级步骤: pip install -U cnequity 后重启 cne serve。数据集契约没有不兼容变化,不需要迁移已有数据,也不需要为这个版本改配置。用仓库里的 launchd / cron 脚本调度的用户,在新代码上重跑 scripts/scheduler/install_scheduler.sh,让日更和面板共用 {data.root}/locks。从面板安装的定时任务不用这一步。
  • 跑批页的「需要处理」只计入仍要处理的 run。同一任务后来已经成功、正在重跑,或更早的失败已经被新的一次替换时,不再计数;跳过的非交易日不会把前面的失败销掉。初始化缺的步骤后来已经做成时,这次初始化也不再计入。「重试失败的日更组」只在仍有失败的日更组时出现。已经重试成功或已过时的 batch 不再算进失败原因。
  • 跑批页可以手跑会留下一条 run 的命令(今天的日更、一个调度组、补落后、事件流、回填、重算派生),打开的是操作页同一张预览表单。列表按全部、运行中、需要处理和成功筛选;重试、发布 staging 和继续初始化留在对应的 run 上。
  • 概览的行动项改成紧凑列表,放在覆盖热力上方,不再在热力图旁边留一列空白。操作页只在有任务时列出最近任务,不再为空列表预留侧栏。今天不是交易日时,日更不提供“现在跑今天”;若还有未跑的定时会话,按钮改为跑该交易日。
  • 面板里的数据集显示中文名称,并在名称下保留 daily_bars 这类标识。侧栏可以在中文和 English 之间切换,当前页会按所选语言重绘;命令、接口和配置仍使用数据集标识。取数说明和报错文本仍由服务端给出。
  • 跑批页按每页 100 条翻完清单里的全部 run,不再只显示最近 40 条。每一页仍列出该页失败 batch 的具体原因。
  • 存储运维页默认只列出可以删除的历史,并按数据集汇总。点删除后才出现确认单:核对清单、确认不可撤销、确认外部任务已停止,然后才执行。正在使用和受保护的版本单独列出。一次超过 200 项仍分批核验再删除。
  • 跑批页列出每个失败 batch 的具体原因。run 记录里的 “one or more core steps failed” 不再挡住巨潮超时、来源冷却这类错误;降级 run 没有总括错误时也显示 batch 上的原因。
  • 操作页新增取数设置:可暂停 push2,开关通达信、东财、新浪日线、Baostock、北交所官网、同花顺页面和巨潮,以及分钟线、分笔、期货和日更覆盖范围。先预览差异,确认后写回当前配置并备份;不改间隔、预算和凭据,也不启动取数。日更仍是单个交易日,补一段日线走回填 daily_bars 的起点和终点。CNE_PUSH2_PAUSED 仍优先于配置。
  • 存储运维页把数据湖正在读取的当前版本和历史版本分开显示。当前版本不进入清理统计,也不再被标成历史版本。当前使用、历史版本和试验目录可以折叠。勾选确认不再使用的历史版本后可以一次删除,包括观察期内和最近 5 代;当前版本、仍被引用、人工保留和缺少收据的项目不能选。删除完成后列出删除的版本、账面大小,以及磁盘可用空间的变化。
  • cne serve 在回环地址上同时监听 127.0.0.1 和 localhost,启动信息只打印 localhost。只监听 IPv4 时,macOS 会先把 localhost 解析到 ::1,浏览器直接显示无法连接。打开页面后先显示「正在打开面板」,不再停在空白页。日线覆盖只核对首尾有成交的交易日,第一次打开不再扫描全部历史日线。
  • 研究包把「能回答什么」和「每天更新哪一组」分开。cne init 仍下载固定的全市场近 3 年主干;--pack market|fundamentals|universe 只记下选择,并供 cne check --pack 给出窗口、缺口和下一步。cne run daily --pack 与定时日更只跑对应调度组,不含事件流;不写 --pack 时日更仍是全部调度组加事件流。快照漏掉当天无法按日期补回。初始化过程中,已封存的日线批次可按代码查询未复权行情,复权因子仍在收尾发布。--schedule 在初始化成功后为所选研究包安装当前用户的定时日更和收尾补抓。
  • Web 运维新增数据备份列表、创建、完整校验与恢复到新目录,复用可移植快照并要求明确选择数据集。恢复再次核对清单和摘要,拒绝活动湖、备份目录及非空目标;原服务继续使用原湖。定时设置支持每日自然日备份和指定事件组的独立 1–1440 分钟频率,含周末;系统每分钟检查,占用时等待,备份不自动删除旧副本。
  • 操作页新增系统定时任务管理:预览后启用、暂停或修改北京时间的日更与收尾补抓,使用当前用户的 macOS launchd、Linux cron 或 Windows 任务计划程序,无需仓库脚本。定时执行沿用任务列表、日志、交易日窗口和共享锁;页面显示系统注册状态、最近检查和长时间未触发的提醒。暂停阻止后续自动取数,正在执行的任务仍可单独取消。
  • cne serve 的操作页可以发起初始化、日更、事件流、补抓、重试、发布 staging、回填、白名单内的派生和巡检。每次先预览将要执行的命令再确认;任务在独立进程里,关掉页面或 serve 不会停掉它。回环地址默认开启,--read-only 关掉操作页和存储清理的写入口。非回环地址默认只能浏览和做存储清理,取数须再加 --allow-remote-ops。默认配置不存在时,本机打开 serve 会进入首次配置。
  • 调度脚本和操作页共用 {data.root}/locks 下的同一把锁(仍可用 CNE_SCHEDULER_LOCK_DIR 覆盖)。从面板跑单个调度组不再让当天的定时全流程被当成已经跑过;只有在日更时间已到时跑完全部调度组,才会写“已跑”标记。
  • 首次配置自动建立缺少的数据目录;配置已生成后,初始化预览失败或任务被占用仍可在原页面重试。已完成任务的进度和命令输出支持刷新后回看。
  • 操作页任务和回填预览固定使用 UTF-8,避免 Windows 终端编码影响中文日志。Windows 取消前核对进程身份,无法确认时拒绝终止;修复快速完成的任务偶发被误报为已终止的问题。

[0.13.0] — 2026-10-03

  • 升级步骤: pip install -U cnequity 后运行一次 cne config upgrade,把本版本新增的调度 step 和调度组补进个人配置(先备份,--dry-run 只预览)。仓库自带的调度脚本移到 scripts/scheduler/;用 launchd 调度的用户在新代码上重跑 scripts/scheduler/install_scheduler.sh,已安装任务引用的是旧的绝对路径。安装时保留本机已有的出口标签和运行频率。
  • 新增 cne check:一条命令验收整个湖,依次给出新鲜度与覆盖(同 status --datasets --gate)、最近一次 run 审计与全湖审计快照、规模,最后给出结论;退出码 0 可用、1 有缺口或质量 error、2 证明不了。--full 当场重跑全湖审计。文档中的三条验收命令统一改为它。
  • 回填自动带上下游派生: cne backfill corporate_actions 对比回填前后已发布的公司行为,只为复权条款有增删改的证券重算复权因子,并核对因子覆盖到最新成交日线,输出受影响、更新、跳过和失败数量;没跟上的证券使命令以 degraded 结束并给出重跑命令。此前这类历史事件要等日更碰巧处理,常常一直不被重算。cne backfill daily_bars(含 --profile delisted)同样对比回填前后的日线,对有变化的证券用缓存因子重新对齐复权因子(不重新抓取,compute_adj_factors 新增 realign_symbols),并只在变化的月份范围内重建停牌。
  • 调度行为变化: 不带参数的 cne run daily 改为按配置顺序跑完全部日更调度组,再跑事件流(公告、监管事件、资讯),每天调度这一条即可;非交易日调度组跳过、事件流照常运行,事件流锁被单独的 cne run events 占用时记为 skipped_locked 不算失败。原来只跑核心骨架的行为改用 --core-only;--all-groups 保持只跑调度组,--no-events 可去掉事件流。随包配置的 core 组补入 ths_official_snapshot(调度组路径此前不运行它);全湖 audit 改为在全部调度组之后统一跑一次,非交易日不跑。核心日更保持精简:停牌由当天的 trading_status 快照记录,trading_status_derive 移出 core 组和核心 waves,改在日线历史变化时运行。
  • 新增 cne config upgrade:把当前版本新增的调度 step 和缺少的日更 / 事件流调度组补进用户配置,先备份原文件,写完后校验,其他设置不动;--dry-run 只列出改动。cne config diff 另报调度组里缺少的 step,cne run daily 发现配置落后时提示运行 cne config upgrade。
  • 少一步手动命令:cne ths-official backfill、resource-sectors --apply、repair-bars --apply 写入 staging 后自动 compact 发布;不带 --run-id 的 cne run compact 发布所有已结束未发布的 run(不再只处理最近一次);cne verify --repair 修完自动复查,仍有缺口时返回 1;cne stats show 在统计表过期,或 --dataset / --by-source 需要尚未生成的统计表时自动重算。
  • cne init 在默认配置 configs/cnequity.toml 不存在时自动生成它,新用户安装后只需 cne init 一条命令;显式 --config 或 CNE_CONFIG 指向的缺失文件仍报错,不会自动生成。中断、部分覆盖或旧版未完成的 init(包括因 400 只历史 ST 上限失败的 run),重跑同一条 cne init 即续跑。README 以初始化为入口,不再以 demo 开篇。
  • 命令结果采用独立的执行、覆盖和发布状态(版本 2),保留旧 status 与历史记录;初始化、日更、事件流、回填、重试和派生可以发布校验后的有效部分结果,缺口和重试证据仍保留。来源受限或本次 0 行也正常结束,保留已有湖并提供 fallback;程序、存储、完整性错误仍失败。
  • 快照源历史回放、北交所历史 ST 和超出来源历史边界的请求改为能力限制结果;可取范围照常交付,快照源提供已配置的后续采集命令。
  • 回填 fallback 重试保留分钟频率、分笔范围、衍生品范围、来源选择及一次性修复参数;来源开关按实际配置展示,初始化的退市补数指引恢复原初始化范围。研究 demo 遇到标的缺日线或精确因子时继续尝试可用标的,全部缺失时保留日线并给出补因子指引。
  • 历史 ST 回填复用已发布证据时,顶层结果正确报告 usable_result=true;有效部分行也计为可用结果,避免零新增行被误读为没有可用数据。
  • 融资融券在仅取到单个市场或部分分页时交付有效行,并标记部分覆盖;部分日期保留欠账供重试,完整补齐发布后清除对应缺口。
  • 通用按日回填不会因已有部分行跳过欠账日期;补数通过校验并发布后清除对应缺口,暂存成功不会提前销账。
  • 普通 status 成功查询返回 0;新增 --gate 保留显式质量验收退出码。写命令的来源受限 warning / degraded(包括 0 行)返回 0,现有调度告警需迁移到 status --datasets --gate;仓库调度脚本同步迁移。
  • 派生版本记录输入版本和覆盖证据;输入变化时拒绝发布。日线待补 key 不再被推断为停牌,发布后只清除实际落盘的对应缺口。

  • 调整 init 边界:自动恢复窗口内已知退市日线,交易状态获取当前快照并派生历史停牌;全市场历史 ST 扫描改为独立可选补数,不再因默认 400 只上限阻塞初始化。旧版未完成 init 可用原 run_id 续跑,保留已抓取数据与未完成的历史 ST checkpoint。

  • 修复新股发行期零成交量报价被当作已交易记录、进而因快照缺席误推退市的问题;退市历史覆盖判定接受有可信上市日期、后续实际成交且逐交易日完整的零成交量起始段,避免重复补取已存日线。已有退市日期不会仅凭零成交量自动撤销。

  • 北交所修复开关 --ths-repair、--eastmoney-bj-repair、--bse-tip-repair 标为历史迁移用,日更不使用;新数据改由写入时规则、自算因子和 pre_close 核对保证。--bj-amount-repair 已由 --tdx-amount-repair 取代,仍可使用,运行时给出提示。

  • 数据契约变化(可加): daily_bars、index_bars 新增可空列 pre_close,为交易所公布的前收盘;上交所行情快照、北交所行情板和通达信实时行情从本版本起随日更写入,K 线历史和既有行为空,用 K 线回补同一交易日时保留已有值。除权日的前收盘即除权参考价,派生复权因子时按 前一交易日收盘 ÷ pre_close 核对台阶,不一致报 adj_factor_pre_close_divergence。无需迁移,见迁移说明。
  • 数据变化: 北交所交易所阶段的后复权因子改为按交易所除权规则由湖内公司行为计算(source="derived_actions"),新浪改作对照,二者台阶不一致时报 adj_factor_computed_vendor_divergence。计算值对齐新浪已有台阶;新浪漏记的分红,以及送股与派息并存时偏低的台阶,会使对应证券的后复权价改变。序列从各证券首个交易所交易日的已存水平起算,新三板时期因子不变。派生时的复权与公司行为核验不再把序列起点之前的公司行为、以及北交所新三板时期的公司行为计入首个可测台阶。
  • 复权因子与公司行为的矛盾检查只从北交所证券的交易所上市起点判定,与默认读取一致。上市前新三板时期的行情不计入该检查。
  • 读取行为变化: load("daily_bars")、load("adj_factors") 与同名 DuckDB 视图默认不再返回北交所证券在交易所上市前的新三板场外行情(上市起点为 list_date 与 2020-07-27 中较晚者);universe="all_a" 同样按此起点判定。需要这部分数据时用 include_otc=True 或视图 daily_bars_including_otc / adj_factors_including_otc。数据本身未删除,沪深证券不受影响。
  • 修复北交所日线缺口被自我掩盖:由缺失日线推断的停牌(derived_bar_gap)不再用于判断该抓哪些证券、哪些键算缺失,也不再作为覆盖门禁的豁免;缺口台账中记为缺失的交易日不再被推断为停牌。新增 cne repair stale-suspensions,删除已被实际成交日线否定的推断停牌。
  • 北交所日线在合并前执行三条写入契约:北交所阶段内无公司行为、非上市首日、非停牌后复牌、且与市场前一交易日相邻的收盘涨跌超过涨跌幅的行进入隔离区,保留已提交值并记为待重取;交易所阶段缺成交额的行报 warning;某个交易日缺少在册且无独立停牌证据的北交所证券超过 5 只且 2% 时,记入缺口台账等待重取并报 warning(由缺失行情推断的停牌不算证据)。同花顺不再为北交所补日线缺口。
  • 修复长时间任务的日志文件缺少进度行:宿主程序已把根日志设为 WARNING 时,cne 命令写入湖内的日志只剩失败信息;现在包内的 INFO 记录照常写入该文件,宿主的根日志设置不变。
  • 新增 cne repair orphan-symbols:删除 daily_bars 中从未出现的证券在 adj_factors、corporate_actions 里的残留行(如早年误入的场外基金 519xxx),经修复门禁后按数据集发布新版本,旧版本可按版本读取。
  • 公司行为与交易日的核对统一按“生效交易日”进行:除权日落在停牌期或休市日时,在该证券下一个交易日核对。除质量检查和派生核验外,adjust="total_return" 的 Python 读取与 DuckDB daily_bars_total_return 也改为在复牌日再投资停牌期内的基金分配,此前这类分配会被遗漏。对手源仲裁同样按生效交易日匹配,较早的快照不再否定其采集之后的事件。
  • cne repair 各子命令 --apply 时先做阻断式候选审计:新增或恶化的质量错误阻止发布,候选移入隔离区,旧版本不变;公司行为修复还比较受影响证券的因子/公司行为矛盾,并拒绝把停牌期内(当日开市但该证券未交易)的除权记录移走或删除。
  • 修复财报同源对照:按报表类型区分同一科目,双方都按披露日期与观测时间取最新版本,零值也参与比较。营业收入只在对手源高于湖内时计为不一致:湖内为东财营业总收入,对手源为营业收入,后者不含金融子公司的利息与手续费收入,本就不会更大。
  • 复权因子仲裁缓存按证券取最新一次完整结果,不再拼接新旧批次;取数失败批次的部分行不作为证据。
  • 成交额修复在取到数据但没有可用替换行时报告 warning,并列出未替换行数,不再显示为成功。
  • 数据契约变化(可加): corporate_actions 新增可空列 reference_price 和事件类型 reorg_transfer,表达破产重整资本公积金转增:transfer_ratio 为每股转增股数,reference_price 为发行人公布的除权参考价,复权核验按 前收盘 ÷ 参考价 核对台阶。cne repair corporate-action-gaps --apply 会从巨潮发行人公告补这类事件,只收公告写明的参考价能解释因子台阶的记录。旧数据无需迁移,见迁移说明。派生时的复权与公司行为核验也改为:除权日落在停牌期时,在复牌首个交易日核对。
  • 修复复权因子与公司行为的矛盾检查:除权日落在停牌期或休市日时,改在该证券下一个交易日核对。此前停牌期的除权会被同时报成“有事件无台阶”和“有台阶无事件”。
  • 新增 cne repair corporate-action-gaps:补上新浪与 Baostock 复权因子都有台阶、湖里却没有记录的除权事件。附近 10 天内、证券正常交易且因子未动的日期上的记录,若条款能解释台阶,就移到台阶日(停牌期内的除权日视为正确,不移动);其余按证券和年份向 Baostock 取分红,按生效交易日匹配,保留 Baostock 的除权日,只收条款能解释台阶的行,解释不了的保留缺口。默认只离线输出计划,--apply 取数并发布新版本,旧版本可按版本读取。
  • 修复复权因子漏掉新除权:日更只在除权日当天刷新新浪因子缓存,错过当天或公司行为晚于除权日入库时,缓存不再更新。现在缓存早于该证券最近一次除权日的也会刷新(每次最多 500 只)。
  • Baostock 公布的访问限制固化在客户端,配置不能调高:每个上海自然日最多 5 万次请求(登录、查询、退出各算一次),同一时间只保持一条连接(其他调用最多排队 10 分钟),黑名单冻结为本自然年累计次数 × 6 小时,冻结期内不再登录探测。cne sources limits 显示当日已用次数与剩余额度。撞上限制时已取到的标的照常保留,重跑同一命令从未完成处继续。
  • 修复 Baostock 登录超时直接中断整次回填:超时后丢弃旧连接重新登录(最多 5 次),仍失败只跳过当前批次。
  • 新增 cne backfill daily_bars --tdx-amount-repair:新浪补上的沪深北历史行缺成交额时,与通达信同日行核对,开高低收一致且成交量差小于一手才补成交额;通达信不再提供的退市代码保留新浪行。价格与成交量不变。
  • 新增 load("daily_bars", adjust="total_return") 与 DuckDB 表宏 daily_bars_total_return(start, end):在后复权基础上把基金现金分配按除息前收盘价再投资,股票与后复权相同;hfq / qfq 含义不变(基金后复权仍只含拆分合并)。HTTP 与 MCP 读取接口同样接受 total_return。
  • 新增 cne derive adj_factor_source:用 Baostock 对复权因子与公司行为的每处矛盾给出裁决;新浪被证明有误(原始股价在除权日的跳动支持 Baostock,前一交易日在 10 天内,两家台阶相差超过 0.45%,且不在股改期间)、且 Baostock 在其余已一致事件上也有台阶的沪深股票,--apply 后整条因子改用 Baostock(不拼接),并在后续日更中保持该来源。取数改用 Baostock 复权因子表,每只证券一次小查询,不再拉两段完整日线;结果按批缓存 7 天,中断后重跑只补未取到的证券,预览后的 --apply 不再重新取数。
  • 发布前审计的跨数据集检查只在输入包含候选数据集时运行;来源标签检查只读候选数据集,且出现新的来源标签即视为恶化。无关数据集不再在同一次发布里重复全量扫描。
  • 复权因子仲裁把基金现金分配单列为信息级:新浪基金因子只随份额拆分/合并变化,不随现金分配变化,基金后复权价是价格收益而非总收益;警告只计真正的因子与公司行为矛盾。
  • 北交所日线量额含大宗交易;大宗交易尚未采集到的交易日,量价区间不符改报为待核(信息级),不再作为行情自相矛盾的警告。无成交证券的审计文案不再断言其为净值序列。
  • 资产负债表恒等式审计改为比较每个报告期最新公告版本,并把上市前(招股书)期间单列为信息级;警告只保留上市后期间,并列出全部期间便于定向重取。财报同源对照同样按公告顺序取最新版本。
  • 审计新增 share_structure_vendor_mismatch:按东财最新总市值反推的股本与湖内股本历史相差超过 1% 时列出证券;cne backfill share_structure --symbols ... --start 1990-01-01 可按证券补取股本变动,之后重跑 cne repair valuation-basis --apply 即可按新股本重算总市值。
  • 新增 cne backfill daily_bars --turnover-repair:成交额缺失、为 0 或量额单位错位的沪深股票行,用 Baostock 同日行整行替换,开高低收须在半分钱内一致。同花顺早年数据中有成交量的 0 成交额改存为缺失;审计新增 daily_bars_zero_amount、daily_bars_turnover_unit,不把基金大宗交易等合理偏离当作错误。估值口径修复会重新换算已标为成交均价口径的流通市值,并随股本历史更正重算总市值。
  • 发布前审计只对候选数据集的变更分区做逐文件结构检查(主键不含分区列时仍全局查重),其余数据集不再重复全量扫描;单一候选不再重复审计归因。全历史深度检查仍由 cne audit --full 负责。
  • 发布前审计改为按稳定问题键比较候选与基线:同一检查、数据集和范围下,错误减少或仅文案变化不再被当作新增错误阻止发布;数量增加或出现新范围才算恶化。报告新增 issue_changes,分列新增、恶化、改善、未变和已消除。
  • 行情、估值、资金流、两融等逐行独立的数据集,单批出现少量无效行时保留有效行继续发布,无效行和原始输入存入 _quarantine,受影响日期留在缺口台账等待重取,运行标为降级。证券列表、成分、档案、日历等整体快照仍整批拒绝。
  • 发布新版本时拒绝分区数据集中根目录文件与分区并存、或按错误字段分区的布局,避免同一主键长期存在两份。新增 cne repair:layout 把错放文件并入登记分区,同一主键的多份观察仅在非空值一致时互补填空,原始观察存入 _quarantine;valuation-basis 迁移估值口径。两者默认只预览,--apply 发布新版本并保留旧版本。
  • 修复时点数据的历史版本丢失:同一公告日期的财报修订不再覆盖旧值,重复抓取不再推进首次观察时间,按 as_of 读取返回当时已知的值。完整审计改为检查跨分区与根目录文件的主键重复,并逐键记录违规(最多 1,000 个)。
  • 修复发布与读取的版本一致性:新版本只采用本次声明的分区,其余分区取自已提交版本,失败运行留下的残留不再混入后续发布;带回执读取与普通读取都以当前指针为准。同时修复示例日更配置的收尾阶段无法排程、声明离线的发布审计仍访问新浪、湖路径含单引号时 SQL 视图为空。
  • 数据契约变化: valuation_metrics 新增 pe_dynamic、total_mv_basis、float_mv_basis、shares_as_of。东方财富 push2 的动态市盈率改写入 pe_dynamic,不再混入 pe_ttm;Baostock 流通市值改为收盘价口径,总市值优先按 share_structure 当日有效总股本计算,无记录时标注为年末股本估算。已有数据运行 cne repair valuation-basis --apply 迁移,见迁移说明。
  • 新增 cne storage 的版本保留登记、引用核验、清理计划和至少 7 天的待删除观察期。当前版本、显式 hold 和未完成分类的目录受到保护。
  • 新增试验归档、逐文件完整性核验、旧路径解析及冗余原目录的两阶段退出流程;完整快照携带保留依据和外部依赖声明,生命周期登记湖暂拒绝增量包以避免丢失保护。
  • 清理行为变化: cne run clean 全部改为只预览,定时运行不再删除文件。cne serve 新增“存储运维”页:展示历史版本及登记试验的到期、观察期和保留原因;检查清单后,只有操作者确认不可撤销及外部读写已停止,才允许执行删除。确认短期有效且不可重放,执行前复核引用、保护与文件完整性。CLI purge 禁用;保留标记、hold 与引用登记命令。staging、来源快照、日志暂仅报告。
  • 修复清单区分必须保留的字节依赖与历史来源引用;删除前校验全部文件 SHA-256,失败保留逐项记录,原计划可在保护条件未变时继续。

[0.12.0] — 2026-09-27

  • 修复 Windows 发布前审计未关闭 SQLite 连接导致临时目录清理失败、正常候选被误拦截的问题。
  • CLI 参数文档按 Click 实际默认值生成,避免依赖升级后布尔开关默认值显示不一致。
  • 修复上交所两融数据超过单页上限后无法日更:按页读取并校验完整性;缺页或重复页仍拒绝发布。
  • 股票日线补缺在 push2 暂停或连接失败时继续其他备援,并保留最终覆盖门禁,避免单个备援故障提前终止补数。
  • 同花顺个股与板块资金流备援补齐逐页原始响应归档,使默认归档策略下的独立备援表能够通过发布检查。
  • 修复 run daily --all-groups 的退出码优先级:核心失败返回 1,不再被其他组的降级码 2 覆盖。
  • 晚间补抓遵循用户的 push2 配置,移除脚本默认暂停该来源的覆盖;公开默认保持启用,已配置的暂停、预算和熔断继续生效。
  • 修复 run daily --all-groups 忽略 weekly 节奏的问题:非周更日跳过历史数据,仍采集快照及滚动期货分钟线;节假日按该周最后交易日运行。
  • 新增交易所 ETF 档案与境内指数方法核验,按适用范围采集基金日线并明确修复来源边界。
  • 查询返回可复放的读取收据和尝试状态;定向重试仅执行所属计划的收尾步骤。
  • 修复 Windows 限流租约回收,避免向仍存活的进程发送信号。
  • 修复 demo/sample 自动生成的配置被 config validate 误报缺少日更 waves;这两种配置仍不用于全市场日更。
  • 发布包补齐北交所历史代码映射,修复通过 wheel 安装后全湖审计与相关历史代码处理缺少资源文件的问题。
  • 合并退市行情补数入口到 cne backfill daily_bars --profile delisted --start DATE;旧 cne delisted backfill 停止执行并提示新写法,cne delisted status 保留。
  • 新增逐合约期货、期权、连续合约、希腊字母和期货分钟线;通过 [futures] enabled = true 显式启用,不进入默认初始化。
  • 衍生品与 A 股使用独立的证券身份、日期语义和覆盖检查。首次/末次行情观察不等于权威上市/到期日期;具体口径见衍生品指南。
  • 研究快照增加 --research,封装完整数据依赖、覆盖证据与非敏感读取配置;支持恢复与双湖差异比较。
  • load(revision_map=...) 固定数据及股票池、覆盖核验所用版本;显式版本不存在时直接失败。
  • 新增 publication_gate 发布前候选审计;block 可阻止有新增错误的候选发布,与发布后的运行状态门禁分开。
  • 支持通过新 revision 纠正已有主键,保留父版本、变更分区与来源变化。公司行动优先保留更强证据,Python 与 SQL 使用一致规则。
  • 增加现金分红 payment_date / payment_source、付款日期补数和发行人公告修复;可复用归档响应并保留原采集时间。
  • 增加 decision-data 的付款缺口和送转条款检查,研究留出期支持配置。
  • 修复新股、退市证券和历史 ST 覆盖判定,改善初始化完成状态与欠账恢复。
  • 改善宏观日频数据晚到处理;最新交易日行情使用批量报价并保留异常标的的补数路径。
  • 新增 fund_flow_ths、sector_fund_flow_ths,与东财资金流分表保存,避免混淆不同口径。
  • 数据契约变化: block_trades 单位明确为万股 / 万元,schema 升至 2;数据本身无需缩放,见迁移与回滚说明。
  • 北交所日线量额包含大宗交易,相关审计与字段说明按这一口径处理。

[0.11.0] — 2026-09-20

  • 初始化在运行前说明市场范围、时间窗口和历史 ST 扫描范围;中断恢复沿用原运行窗口。
  • 全市场初始化检查北交所覆盖,状态命令增加最新交易日截面与可研究窗口提示。
  • cne status --datasets 增加退出码 2,供调度识别覆盖不完整;demo/sample 不再静默覆盖已有配置。
  • 修复初始化误判孤儿、Ctrl-C 停止、重试续跑、未完成批次发布及周末会话判定。
  • 北交所每日状态观测积累 ST 覆盖证据;新增基金份额折算来源与配套检查。
  • 修复交易所备份落盘、退市公司行动修复和证券改名血缘保留。

[0.10.0] — 2026-09-18

  • CLI 使用中文输出,支持 CNE_CONFIG;run daily --all-groups 按配置运行全部日更组。
  • corporate_actions 增加 split_factor,schema 升至 2,用于基金拆分/合并事件。
  • 北交所历史日线改用 TDX;增加交易所交易状态备份及龙虎榜、大宗交易补数路径。
  • 支持摄入股票池范围、按调度组检查状态、配置差异比较、来源替代建议与长任务日志。
  • 改善 demo/research 输出、按标的回填、空窗口处理、查询与复权严格校验。
  • 修复日更重放日期、退市覆盖欠账、公告和新闻采集、同名证券状态与批次恢复问题。

[0.9.0] — 2026-09-13

  • 非 PIT 数据集使用 pit_quality=not_applicable,与证据不足的 PIT 数据区分。
  • 增加已发布 generation 的保留数量管理;长期复现请使用快照。
  • 增加 [quality].audit_gate:审计发生在发布后,block 改变运行状态但不回滚数据。
  • 支持可选双时态 PIT 列的存储与读取,完善字段文档和兼容性说明。

[0.8.1] — 2026-09-13

  • 增加可选凭证源 ths_official 及其核验、补数和显式修复命令,无凭证不影响核心链路。
  • 增加公司行动交叉检查及北交所来源登记。
  • 修复开放式基金分类、未交易证券退市推断和 Windows 配置兼容问题。

[0.8.0] — 2026-09-06

  • 新增 cne run events,支持非交易日的公告、新闻等事件更新。
  • 新增数据集契约、严格 PIT 模式、版本化股票池、数据 revision、快照及增量湖包。
  • 增加来源策略、SLO、稳定性检查和运行级数据收据;控制台展示版本与质量状态。
  • trading_status 将交易状态与 risk_warning 分列;旧数据升级方法见字段说明。
  • 融资融券改用交易所来源;沪市 short_balance 在来源未提供时为空。
  • cne sources 改为命令组,探测入口为 cne sources probe;查询应显式选择股票池与 PIT 模式。
  • 修复密集公告分页、稀疏事件日、快照重述、回填失败状态与派生结果发布。

[0.7.3] — 2026-08-23

  • 查询与质量检查支持显式沪深范围 all_a_sh_sz;增加可选北交所历史 ST 证据。
  • 增加按范围的公司行动修复、按需数据刷新与北交所最新日成交额补全。
  • 重试使用原运行交易日;严格股票池查询在覆盖不足时明确失败。
  • 改善来源超时、部分载荷拒收、退市覆盖、日历与复权因子检查。

[0.7.2] — 2026-08-16

  • 强化截断载荷、部分快照与占位行校验,水位随有效覆盖推进。
  • 修复退市回填、PIT 查询、ST 检查点及回填恢复状态。

[0.7.1] — 2026-08-16

  • 改善跨进程限流,等待请求间隔时不占用共享文件锁。
  • 公司行动回填支持按证券批次恢复,增加进度与心跳提示。

[0.7.0] — 2026-08-15

  • 项目从 ashare-lake 改名为 CNEquity,当前 CLI 使用 cne。

[0.6.0] — 2026-08-10

  • 修复申万 TLS、调度组运行、限售解禁和商品行情请求问题。
  • 修正北向资金流口径并提供历史回填;调整板块扫描和来源配置。
  • 发布可搜索的文档站与研究使用示例。

[0.5.0] — 2026-08-03

  • 许可证由 MIT 改为 Apache-2.0,增加标准引用元数据。
  • 增加只读 MCP、显式 live 模式、初始化 quick 范围及数据源健康检查。
  • 增加可选 watchlist 分笔数据、固定历史起点描述与长任务进度。

[0.4.0] — 2026-08-01

  • 增加可选 1m / 5m 分钟线、按证券回填与日内质量检查。
  • 增加对发布机构的核验、宏观修订检查,社会融资来源改为央行。
  • 单位变化: daily_bars.data_version=v2 保证成交量为股;v1 按来源混用单位,升级需按成交量迁移说明处理。
  • 修复 M2 指标映射、零成交值和日内历史边界处理;移除 AkShare 运行时依赖。

[0.3.1] — 2026-07-29

  • Python 最低版本调整为 3.10;配置使用绝对数据路径。
  • 默认按需数据集限于新闻与研究报告,完善缺失依赖提示。

[0.3.0] — 2026-07-29

  • pip install cnequity 提供完整安装;行情使用随包 TDX 协议实现。
  • 增加原生 Windows x86-64 支持与环境体检入口。
  • 修复跨平台路径、文件锁、DuckDB 视图及配置写入问题。

[0.2.0] — 2026-07-27

  • 提供随包配置模板与 PyPI 精简说明,初始化无需克隆仓库。
  • 区分演示体验和正式数据湖初始化。

[0.1.0] — 2026-07-19

  • 首次发布多源采集、Parquet 数据湖、CLI、Python load() 与 DuckDB 查询。
  • 支持行情、公司行动、基本面、资金流、行业、宏观及事件数据。
  • 提供质量审计、日级调度、健康通知、备份与基础使用文档。