区块链 · 数字资产知识 · 行业资讯
文章库关于本站

研究与报告

区块链量化研究怎样识别幸存者偏差|历史样本不能只保留今天仍活跃的项目

摘要

对照QuantConnect研究环境对按已订阅Symbol请求历史的说明,并用pandas缺失数据处理说明dropna会丢掉不完整行;研究纳入条件需显式保留停更与下架样本。

区块链量化回测的科技主题配图

历史请求默认绑在你订阅的Symbol上

QuantConnect文档Research Environment → Datasets → Key Concepts写明:在研究环境中可访问Dataset Market中的多数数据,包括Equity、Crypto、Forex与衍生品等;访问方式与回测类似——先创建security subscription,再发起history request。页面还强调:最简单的历史请求面向一组已知Symbol;未提供Symbol时,返回的Slice包含笔记本里已创建订阅的全部资产。

对区块链量化研究而言,这意味着样本边界首先由“你订阅了哪些市场对象”决定,而不是由“今天仍在交易或仍有文档的项目全集”自动给出。若研究开始时只加入当前仍活跃的代币或协议标识,历史面板从一开始就缺少后来停牌、下架或停止维护的对象。

缺失行被丢掉时,活跃样本会被放大

pandas用户指南Working with missing data说明:库用多种哨兵表示缺失(如numpy.nan、NaT等);dropna()会删除含缺失的行或列。文档示例中,含NaN的DataFrame在df.dropna()后只留下完整行。fillna与插值则是另一类处理,同样会改变后续统计所看到的样本。

若把“停更项目缺少后期行情或指标”直接编成缺失,再习惯性dropna,面板会只剩全程有数据的幸存者。这与QuantConnect“先订阅再取历史”的机制叠加时,偏差会更隐蔽:订阅阶段已经滤掉今天不活跃的对象,清洗阶段又丢掉中途消失的序列。

区块链量化交易的科技主题配图

纳入条件要写清:谁进样本、缺失如何处理

识别幸存者偏差的可检查写法是:在研究说明中固定纳入规则(例如按起始日存在的合约集合,而不是按结束日仍可交易的集合),记录历史请求使用的Symbol列表与时间窗,并单独说明对缺失是保留、标记还是删除。QuantConnect页提醒不同返回类型与时区索引会影响“你以为对齐的日历”;pandas页提醒缺失表示与删除策略会改变行集合——两者都应写进方法附录,而不是只展示最终仍存活项目的回测曲线。

边界:本文只讨论样本构造与缺失处理,不提供交易策略、不报告收益实测、不推荐任何量化平台;也不把研究环境数据覆盖年份写成链上项目存活率的官方统计。把“谁被排除”写成可复查清单,比事后解释曲线更好看更重要。

← 返回全部文章

延伸阅读 · 相关栏目

行业资讯研究与报告政策资料交易平台观察