This website requires JavaScript.
Explore
Help
Register
Sign In
sanguo
/
sanguo_vnpy_v2
Watch
3
Star
0
Fork
0
You've already forked sanguo_vnpy_v2
Code
Issues
5
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
f478d7b637e93f8e8e8ccc6fde38c2c3ad5e408c
sanguo_vnpy_v2
/
tests
/
data_platform
T
History
claude_dev
f478d7b637
CI/CD / test (push)
Successful in 27s
Details
CI/CD / nas-deploy (push)
Successful in 13s
Details
CI/CD / nas-verify (push)
Successful in 12s
Details
fix(data): 监控升红规则回滚——2026-09-25 实为中秋休市(9-25~27 连休 9-28 开市), 时间基线升级会在节假日连坐误红全 per_date 域(三源同缺一日=休市形态非源滞后); 真缺口兜底=确认集推进+调度/过程层纵深分工, 假日容忍跨周末钉死测试+spec 定案 [vps]
...
Co-Authored-By: Claude Code <
noreply@anthropic.com
>
2026-09-26 20:08:28 +08:00
..
__init__.py
fix(data): data_platform硬化(增量merge/verify+raw_redownload/run_daily_update)+测试
2026-07-15 07:12:46 +08:00
conftest.py
fix(data): bs_eod 15min datetime 格式 bug 根治 + --no-daily 选项
2026-07-25 21:14:12 +08:00
test_ak_dt_seats_domain.py
feat(ak): 龙虎榜席位明细域 dragon_tiger_seats——当日榜单列表(RPT_DAILYBILLBOARD_DETAILSNEW)→逐股买卖top5席位(RPT_BILLBOARD_DAILYDETAILSBUY/SELL),SIDE列标注;实测680行/58股/190s(榜列表68行=同股多上榜原因去重58);逐股逐侧各自30s预算(整日期3分钟超AK_TIMEOUT,sw_industry同款分层);filter日期必须单引号;严格整体语义;增量域不回补;TDD 4新测试340全绿 [vps]
2026-09-12 09:26:33 +08:00
test_ak_margin_domain.py
test(data_platform): CI 同型地雷集中清零——全局 time.sleep 补丁 15 处全改 scoped 模块属性(
0d3731d
backlog 收口;盘点勘误:记忆存量 8 实扫 15) [nas] [no-doc]
2026-09-22 20:12:38 +08:00
test_ak_nb_domain.py
fix(data): ak-events 五新域首两晚生产四病五修(用户全批,spec §20.9)——①margin 深段 TMC 代码级必然超时(原沪直查+4段整体包 30s,单段实测 26.3s→必挂,从未成功过):改逐层各自预算(沪 AK_TIMEOUT+每段 MARGIN_TMC_SEG_TIMEOUT=60s,seats 同款),任一层失败整体 None 不写残缺,09-11 自愈解堵 ②sw_industry 一级清单源乐咕乐股反爬 VPS(带UA=JS挑战页/裸403):31 行业改 SW_FIRST_LEVEL_STATIC 静态表(Mac 出口校准 2021-12 版),成份仍走申万宏源官网 API 不受影响 ③nb_hold 日增查当天必空(HKEX T+1 供应,同 margin_sse T日同构):基准日改 T-1+_hkex_hold_query strict 参数(日增空 skip 不抛/回补保持 raise),rc=1 主因拔除 ④financial_abstract 新浪源每晚 5.5k 连发撞限流(单发实测通=频率触发):fa 从 ak-eod 挪 ak-weekly 周六(量级-87%+错峰,schema 不变) ⑤margin_sse 窗口含 T 日每晚必 1 failed(EM 沪 DATE 视图 T+1):wrapper 改 T-2~T-1 全 settled;监控口径坑备案(类型级 failed 不抬出码,判健康须看各类型统计行);371 绿(+10 TDD) [vps]
2026-09-16 20:00:23 +08:00
test_ak_sw_industry_domain.py
test(data_platform): CI 同型地雷集中清零——全局 time.sleep 补丁 15 处全改 scoped 模块属性(
0d3731d
backlog 收口;盘点勘误:记忆存量 8 实扫 15) [nas] [no-doc]
2026-09-22 20:12:38 +08:00
test_akshare_static_download.py
fix(data): xueqiu_hot TLS 反爬修复(curl 子进程翻页,requests 指纹恒 418 三方实测)+ak-events wrapper 摘除 hot_rank 类型(迁 NAS 后防双写,spec §20.14 同 push) [vps]
2026-09-25 21:50:38 +08:00
test_alerts_store.py
feat(data): alerts 告警事件存储(确定性ID去重/count++升级/转绿自动resolved/ack/保留期 purge,spec §20.15.4) [vps]
2026-09-25 22:52:23 +08:00
test_bs_5m_eod.py
fix(nas): bs_5m失败股尾部补扫一轮——03:0x同步链持写锁60s busy_timeout耗尽database is locked(每晚1-5只)+偶发网络错(600247),原形态=该片窗口永久小洞;修=_sweep返failed清单,run尾部(07:40+同步链早已收工)chunk/inc各自失败集各补扫一轮自愈,补扫query计入swept配额、rlr并入exit语义;+2测试(双窗口失败→双retry=6调用自愈/零失败无retry回归);venv310 644绿 [nas]
2026-08-25 21:32:28 +08:00
test_bs_daily_main.py
feat(data): sanguo-bs-daily单入口串行编排(bs_eod→bs_fundamentals)——2026-08-20数据任务重组阶段1:根治当日撞点(bs_eod加指数段后ETA 23:00+与旧23:05 bs-fund重叠=同IP双baostock连接封禁红线),合并进同一schtask两腿先后子进程,leg1进程退出(logout+消亡)连接才释放leg2才login;bs_daily_main只做顺序+退出码透传({0,3}=OK,3=按预算graceful不算失败)+[BS-DAILY]腿起止时间线日志(验收'eod logout后fund才login'直接证据);leg2无条件跑(leg1致命不连坐,连接已释放fund独立作业);wrapper传BS_DAILY_LIMIT=15000收紧eod病态重试硬顶(常态~11.1k不受影响,与fund30000合计≤45.1k<48k/IP/天);--smoke零配额链路自检;bs_fundamentals._bs_eod_running补注释:旧任务名已删探测必失败fail-open=设计行为勿修复(探新名会探到父任务永久让路);+15测试(顺序铁律/leg2无条件/退出码聚合9组合/smoke零子进程) [vps]
2026-08-20 19:49:00 +08:00
test_bs_eod_15m_dt.py
fix(data): bs_eod 15min datetime 格式 bug 根治 + --no-daily 选项
2026-07-25 21:14:12 +08:00
test_bs_eod_index.py
test(bs): 两测试文件isolated_main_env归零MIN_STOCK_LIST——小名单mock过守卫,不动被测行为 [vps]
2026-09-10 22:52:35 +08:00
test_bs_eod_resilience.py
test(data_platform): CI 同型地雷集中清零——全局 time.sleep 补丁 15 处全改 scoped 模块属性(
0d3731d
backlog 收口;盘点勘误:记忆存量 8 实扫 15) [nas] [no-doc]
2026-09-22 20:12:38 +08:00
test_bs_eod_valuation_backfill.py
fix(bs): 名单规模sanity守卫MIN_STOCK_LIST=4000——09-10实录query_stock_basic截断返2296静默半写exit=0,守卫转exit=1次夜LOOKBACK自愈 [vps]
2026-09-10 22:52:35 +08:00
test_bs_fundamentals.py
fix(data): bs_eod挂死根治——login/logout纳入_with_timeout保护伞+中文系统运行判定三词修正。①根因(08-20 19:26实锤,日志形态逐字吻合):bs.login()打印success后仍有后续往返,baostock recv不遵守socket default timeout,主线程卡死在login内部recv(50min+零输出,连60s超时err都没有);fetch早已套_with_timeout但login/logout是裸调——relogin/login_once全部纳入(login60s/logout30s),超时按登录失败处理走既有重试链;②bs_fundamentals._is_running_text:中文系统实际输出「正在运行」不含连续子串「运行中」,原两词判定在中文VPS恒False=守卫恒fail-open(当晚若不禁用bs-fund将真撞车);三词都认+回归钉测试;③check_task_running.py通用探针(修复版)替换VPS上带同bug的check_bs_eod.py;+4测试(登录超时返False/relogin全程超时不raise/login与logout必经保护伞契约/正在运行判定) [vps]
2026-08-20 20:04:51 +08:00
test_corpus_download.py
feat(data_platform): corpus flash_meta 全市场快讯域上线(spec §20.12.3 补充类采纳)——金十 flash_newest.js 快照+东财 kuaixun 翻页(T-1 边界停界,20页硬顶)两源,与 news_meta 个股新闻语义并列不 join;flash_id=源前缀+源站稳定id跨源命名空间隔离,当日marker幂等,源级隔离单源失败不炸另一源;run_corpus.sh 第三lane rc隔离不进聚合(两主lane全让路也不漏当天快讯);镜像车 corpus 四子域扩五(新域指纹全新首跑自动全量推);corpus_reader.get_flash 空df带schema;TDD +13例全套465绿;Mac真网络冒烟=金十50+东财884新,21s完赛,dt跨度T-1边界实证,幂等复跑零请求;首班锚点=次日06:0x flash lane exit=0行 [nas]
2026-09-22 08:17:14 +08:00
test_corpus_reader.py
feat(data_platform): corpus flash_meta 全市场快讯域上线(spec §20.12.3 补充类采纳)——金十 flash_newest.js 快照+东财 kuaixun 翻页(T-1 边界停界,20页硬顶)两源,与 news_meta 个股新闻语义并列不 join;flash_id=源前缀+源站稳定id跨源命名空间隔离,当日marker幂等,源级隔离单源失败不炸另一源;run_corpus.sh 第三lane rc隔离不进聚合(两主lane全让路也不漏当天快讯);镜像车 corpus 四子域扩五(新域指纹全新首跑自动全量推);corpus_reader.get_flash 空df带schema;TDD +13例全套465绿;Mac真网络冒烟=金十50+东财884新,21s完赛,dt跨度T-1边界实证,幂等复跑零请求;首班锚点=次日06:0x flash lane exit=0行 [nas]
2026-09-22 08:17:14 +08:00
test_data_monitor.py
fix(data): 监控升红规则回滚——2026-09-25 实为中秋休市(9-25~27 连休 9-28 开市), 时间基线升级会在节假日连坐误红全 per_date 域(三源同缺一日=休市形态非源滞后); 真缺口兜底=确认集推进+调度/过程层纵深分工, 假日容忍跨周末钉死测试+spec 定案 [vps]
2026-09-26 20:08:28 +08:00
test_dbbardata_utils.py
fix(data): dbbardata 日线双行根治(统一纯日期+helper,留ROWID max去重)
2026-07-23 12:18:41 +08:00
test_export_sw_industry_map.py
feat(data): 申万一级行业映射表导出器——P3 归因契约三列[symbol vt_symbol 形/industry_code 1..31 稳定序数/industry_name], 未映射=0 消费方约定, data_manifest 登记 sw_industry_map+spec §20.3 派生注记 [vps]
2026-09-26 14:22:37 +08:00
test_fund_dmsk_reader.py
feat(data): corpus/dmsk 消费接口(spec §20.11.3 实施,设计已入档)——partition_reader 通用读取核(核内零语义:不做 as-of/PIT+零静默去重;失败分级:缺数据空 df 不 raise/跨分区列集与类型漂移 PartitionSchemaError fail loud;双机根解析 SANGUO_CORPUS_ROOT/SANGUO_FUND_DMSK_ROOT env 覆盖+水位线读取)+corpus_reader(get_news_meta/get_ann_meta symbols 下推 stock_code/sec_code/get_news_fulltext(ids) art_code 批量/ann_pdf_dir;schema 契约 09-17 NAS 实测落 docstring:稳定 id=art_code/announcement_id 与 PDF 同名)+fund_dmsk_reader(get_domain 五域+noticed_by 纯过滤 NOTICE_DATE 缺列 fail loud;契约:五域 NOTICE_DATE 实测全在/SECUCODE 带后缀 SECURITY_CODE 裸 6 位/单位元);TDD 23 例,全套 414 绿 [vps] [no-doc]
2026-09-17 23:44:02 +08:00
test_fund_pit_view.py
test(data_platform): test_13 断言笔误修正(前条 commit 战果数补正:实际=449 绿+1 测试自身笔误,非 451 绿——pytest 退出码被管道 tail 吞掉致带病提交,本条补正记录;两处产品修复本身经全套 450 绿+VPS 真数据复验确认无误)——k=1@asof 10-30 应为 Q3 的 300.0,断言误抄 Q1 的 100.0 [nas] [no-doc]
2026-09-20 09:22:58 +08:00
test_fundamentals_dmsk_download.py
feat(dmsk): DOMAINS扩forecast业绩预告/express业绩快报两域——探针钉边界2003/2005年报起,per-domain起始年+4键/3键(ID含NOTICE_DATE披露日),verify五域键唯一 [nas]
2026-09-08 21:16:34 +08:00
test_g4_atomic_and_repair.py
fix(data): akshare 三表下载鲁棒性 — 原子写 + --repair (G4)
2026-07-28 20:36:11 +08:00
test_hot_rank_nas_fetch.py
feat(data): hot_rank 采集迁 NAS 家宽出口(spec §20.14)——emappdata 云 IP 断连三晚定论,B 实证;corpus 班尾 runner(容器采 emappdata+腾讯 join+scp 推回 static/hot_rank,.pushed 补推幂等);runbook §7.5 终态闭档+§2 retry 班行 [nas]
2026-09-25 21:50:38 +08:00
test_merge_increment.py
fix(nas): merge_increment计数免疫并发写者——inserted改用Connection.total_changes(只计本连接INSERT生效行),原after-before会被03:00合并窗口并发的bs_5m写入污染(08-25实锤skipped(dup)=-4881,5m插的行被记成merge的inserted);+2测试钉计数契约(新/dup/混掺/他源行不计入);venv310 644绿 [nas]
2026-08-25 21:32:28 +08:00
test_monitor_checks.py
feat(data): 监控检查纯函数核(交易日历锚/新鲜度期望/带宽/统计行解析/签名分诊/schtask 双语解析,spec §20.15.2) [vps]
2026-09-25 22:56:13 +08:00
test_monitor_registry.py
feat(data): 监控对象注册表(spec §20.15.1 导出 42 项+14 schtask 在岗清单,ALL_TYPES 交叉核对钉死) [vps]
2026-09-25 22:55:13 +08:00
test_nas_monitor_check.py
feat(nas): NAS 监控 v2(corpus/dmsk/hot_rank/mirror/xcheck/磁盘六族检查,host=nas 事件 scp 推 VPS inbox,挂 vps-mirror 16:00 班尾,spec §20.15) [nas]
2026-09-25 23:06:15 +08:00
test_parse_csindex_current_anchor.py
test(data_platform): CI 同型地雷集中清零——全局 time.sleep 补丁 15 处全改 scoped 模块属性(
0d3731d
backlog 收口;盘点勘误:记忆存量 8 实扫 15) [nas] [no-doc]
2026-09-22 20:12:38 +08:00
test_partition_reader.py
fix(data): 因子线 review 必修#1 null 桥接洞——首文件全空列把 num/text 桥接(两具体类型从未直接对撞,concat 静默混装零 raise=契约④要防的静默 coerce 被绕过,因子线实测复现);修=每列 resolved=首个非空具体类型/null 永不推进 resolved/冲突即 raise/列集按名比对(列序漂移不误报,策略线观察 b 顺势解决);+3 测试(三段桥 raise/null 隔离仍 raise/列序 tolerated)419 绿;记录②noticed_by 滤空 NOTICE_DATE=有意宁缺毋假写进 docstring;§20.11.5 实施版双线 review 回执+§20.11.6 遗留更新(DSM 复用评估定稿) [vps]
2026-09-18 07:29:53 +08:00
test_static_overlay_wash.py
fix(data_platform): 双域背靠背 review 七项修复(factor 3M/2m+strategy 1B/3M)——strategy B1:GroupBy.last 拿组内最后非空值=重述行 null 静默回退旧行值冒充终值,改 nth(-1) 排序末行原样取(宁缺毋假红线);factor MAJOR-1:UPDATE_DATE null 排序 pandas(nulls-last)与因子 polars(nulls-first)语义相反=脏行无条件成终值,改 na_position='first'+kind='stable'(跨重写复算确定性);factor MAJOR-3:_load_stock 列下推(pyarrow schema 探头→键列+UPDATE_DATE+所需列投影,缺列补 null,全市场调用免 319 列全量 IO);factor MINOR-2:雷达比对轴改 per-(code,REPORT_DATE)(期级新披露 notice 旧于该股全局 max 亦命中;static 损坏→全期命中→重写自愈);strategy M1:行级容错跳过股 attrs['skipped_symbols'] 暴露(防 09-01 静默缩水复燃);strategy M2:view 增 UPDATE_DATE 列=终值新鲜度可观测;strategy m5:no_data/filtered_empty 边界断言;factor MAJOR-2=spec 周日回冲表述勘误(实际=覆盖式 scp -r,正常路径内容已对齐无害,仅推送失败周回退且雷达窗内自愈);strategy M3 value 切换纪律(同日双源漏斗对照+回滚预案)+m4 VPS D+2 时延口径入 spec;MINOR-1 缓至首非零 wash 日实测;新增 7 用例,全套 448 绿 [nas]
2026-09-20 08:59:35 +08:00
test_static_vintage_check.py
fix(data): vintage 测试周一翻转——快照族 hole 取最近工作日 [nas]
2026-09-07 03:18:29 +08:00
test_top_holders_parse.py
fix(data): 静态表下载两隐患根治——①北交所白烧重试跳过(东财三报表端点SH920xxx必败'NoneType'错,09-01季频洗库实测340股×3表×3retry+退避白烧≈5h;对齐top_holders BJ_PREFIXES同款跳过,valuation/financial_abstract实测BSE有数据不跳)②fetch失败语义修正:15个fetcher不再经_df_or_empty把重试耗尽(None)转空df→空parquet覆盖旧好数据+标done永不重试(09-01实证340空文件全BSE属侥幸,主板瞬时故障会真毁数据);改返None交download_one_unit既有failed分支=不写不标保旧数据复跑重试,真空df才写空+done;test_top_holders一处旧契约断言同步(失败返None);+8测试钉死 [vps]
2026-09-01 19:03:47 +08:00
test_verify_increment.py
fix(data): data_platform硬化(增量merge/verify+raw_redownload/run_daily_update)+测试
2026-07-15 07:12:46 +08:00
test_vps_mirror_lib.py
feat(data_platform): corpus flash_meta 全市场快讯域上线(spec §20.12.3 补充类采纳)——金十 flash_newest.js 快照+东财 kuaixun 翻页(T-1 边界停界,20页硬顶)两源,与 news_meta 个股新闻语义并列不 join;flash_id=源前缀+源站稳定id跨源命名空间隔离,当日marker幂等,源级隔离单源失败不炸另一源;run_corpus.sh 第三lane rc隔离不进聚合(两主lane全让路也不漏当天快讯);镜像车 corpus 四子域扩五(新域指纹全新首跑自动全量推);corpus_reader.get_flash 空df带schema;TDD +13例全套465绿;Mac真网络冒烟=金十50+东财884新,21s完赛,dt跨度T-1边界实证,幂等复跑零请求;首班锚点=次日06:0x flash lane exit=0行 [nas]
2026-09-22 08:17:14 +08:00
test_xcheck.py
feat(xcheck): Phase 2b 三表数值列对照+兜底漂移档(spec §20.12.4)——SINA_FIELD_MAP 35列映射(新浪item_field英文码为键,中文行项有'利息收入'两现歧义;行业变体按值非空回退:普通/银行600036/保险601318三套字段如PARENT_NETPROFIT←PARENETP|NETPARECOMPPROF|NETPARESHARPROF,四股数值级EQ锚定;FE_INTEREST_EXPENSE=其中:利息费用非财务费用全项值差108%勘误排除)+compare_statement_values层③(近12期交集×映射列,阈值沿用估值域;单侧空/static=0→L1 coverage=vendor稀疏档案:EM CREDIT_IMPAIRMENT_LOSS茅台整列死0/103);两枚预跑bug勘测抓到首班前消灭(①期键20260630vs2026-06-30永不相交层①③空转②层①拿12期对全史103期必刷91条噪声改并集最近12期窗);兜底漂移档(估值=周一复用同班snap/vb零额外请求全市场中位数偏差>1%→__MARKET__ L2;三表=月初7天窗抽30股L2率>5%→__SAMPLE__聚合L2;XCHECK_DRIFT=0总关;零新schtask零wrapper改动);新浪原料periods.json→dt分区全行项长表可回放;EM死列发现SHORT_FIN_PAYABLE=2019准则前旧列真数据在NOTE_ACCOUNTS_PAYABLE(声明外附加行,factor IBD观察供料);TDD +21例 529绿;实数冒烟519/036/318:正常股L2=0,银行ISSUE_BOND/PAY_DEBT_CASH与保险ACCEPT_INVEST_CASH系统性口径分歧=真实findings攒root_cause档案 [nas]
2026-09-22 19:18:07 +08:00
test_xt_eod_bj.py
feat(data): xt_eod 扩展补全北交所 920xxx 日线(exc_of+universe+import容错,复用×100 normalize)
2026-07-27 20:56:16 +08:00
test_xt_eod_fieldlist.py
perf(xt): get_market_data_ex 显式传六列 field_list——桥fallback快路径(FormulaServer 0.025s vs 空列RPC 0.1-5.8s/次,今晚21:00全量夜班从~3.7h回分钟级);五样本含2北交空列vs六列等值实测EQUIV,TDD断言调用一等参 [vps]
2026-09-11 13:40:01 +08:00