阶段1数据基础●●●●●

数据校验的习惯:每个异常都要有个解释

我的掌握程度:
q-071精讲

先掌握这个答案

数据体检固定清单:①行数对账(交易日×股票数−合理缺失=实际行数);②价格范围(>0、日收益不超涨跌停界);③抽样比对(随机挑3只股票和行情软件对数,精确到分);④截面检查(某天全市场收益分布是否异常,如均值整体偏移=对齐错误);⑤缺失率统计(各字段NaN比例,突增=数据源故障)。原则:异常未解释=数据不可信=研究暂停。

先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。

从理解到使用

本阶段实战方法 · 把行情数字变成可比较的收益

看股票、基金或策略业绩时,先对齐本金、起止日期、现金流与费用。

  1. 选一个固定区间,记录期初价值、期末价值、分红、出入金和交易费用。
  2. 没有中途出入金时,用(期末价值+已取出分红-期初价值-费用)÷期初价值计算收益;有出入金时先区分时间加权与资金加权。
  3. 用相同区间的基准作比较,同时记录最大亏损;不要单凭一次盈利评价能力。

使用边界

  • 不同期限的收益不可直接排名;年化只是换算,不是未来收益承诺。
  • 模拟价格不是实时行情。普通股票交易手数、T+1和费用应按具体市场规则核对。
背景 · 从一个困惑说起
研究员A:拿到数据直接跑因子,结果很漂亮。研究员B:先跑了20分钟体检,发现3只股票价格全为0、某天全市场收益率整体偏移1%——修完再跑,因子失效。三个月后实盘,A的策略暴雷,B的稳定运行。
由此产生的问题
系统性的数据校验该包含哪些固定动作?为什么「每个异常都要有解释」是数据工作的职业标准?
核心概念
数据体检固定清单:①行数对账(交易日×股票数−合理缺失=实际行数);②价格范围(>0、日收益不超涨跌停界);③抽样比对(随机挑3只股票和行情软件对数,精确到分);④截面检查(某天全市场收益分布是否异常,如均值整体偏移=对齐错误);⑤缺失率统计(各字段NaN比例,突增=数据源故障)。原则:异常未解释=数据不可信=研究暂停。
为什么需要它
①错误传播:数据错1%,因子结论可能错100%(方向都可能反);②时间成本不对称:体检20分钟 vs 实盘暴雷后排查一周;③建立「数据信任度」档案:每份数据的已知问题记录在案,团队共享——这是机构数据组的日常制度。
实际应用场景
写一个health_check(df)函数作为数据管道第一步;每次数据更新自动跑、异常邮件告警;研究报告附「数据体检摘要」(专业细节,面试加分)。
与之前知识的联系
q-065的图鉴给「异常种类」,本题给「制度化防线」。数据车间全部完工——下一题是车间的毕业典礼:完整流水线。
⚠ 常见误解
  • 数据源是大厂的就不用检查:所有数据源都有口径变更、接口故障、静默错误的经历
  • 抽样3只太少没意义:抽样比对的意义是「抓系统性口径错」(如复权方式变了),不是统计抽样
  • 校验拖慢研究:它只在「数据更新」时跑一次;不做校验的返工才是真正的慢

🤖 AI导师

导师会先检查你的前置知识(脏数据、清洗),再用案例、公式和代码帮助理解。此功能需要先启用服务。