/** * 数据质量层(point-in-time / 幸存者偏差 / 渠道可靠性)。 * * AI-infra 视角的数据模块:不只是"序列统计",而是回答 * "这个数据能不能信、什么时候能用、会不会骗我"三类问题。 * 纯函数、零依赖;对齐 dsh-quant 契约(等长 null 对齐)。 */ /** * Point-in-time 校验结果。 * * 核心问题:数据在"决策时点"是否可用?(避免未来函数/前视偏差) * - values 按时间排序(t=0 最旧) * - 每次决策 t 只能用到 values[0..t] 的信息 * - 若 values[i] 的值在 i 时刻之后才被修订,则 i 时刻用它就是前视 */ export interface PitCheckResult { /** 是否通过 PIT 校验 */ pass: boolean; /** 发现的潜在前视点数量(索引) */ lookAheadIndices: number[]; /** 说明 */ notes: string[]; } /** * Point-in-time 校验:检测"未来才知道的值"在序列中出现的位置。 * * 简化模型:如果某值比其前值发生"异常跳变"且之后不再回落 * (单调台阶),可能是修订/幸存导致的断点。更严格的做法需要 * 数据源的修订历史;此处提供可用的启发式。 */ export declare function pitCheck(values: readonly number[]): PitCheckResult; /** 幸存者偏差检查结果。 */ export interface SurvivorshipCheckResult { /** 序列是否完整(无静默缺失段) */ continuous: boolean; /** 缺失段([start, end) 索引对) */ gaps: Array<{ start: number; end: number; }>; /** 尾部是否可能截断(最后一段缺失) */ tailTruncated: boolean; /** 说明 */ notes: string[]; } /** * 幸存者偏差检查:检测序列中的静默缺失段。 * * 幸存者偏差 = "现在还在的标的才出现在数据里"。缺失段常由 * 退市/停牌导致;若缺失发生在尾部,可能是"活下来的才记录"。 */ export declare function survivorshipCheck(values: readonly (number | null)[], maxGapRatio?: number): SurvivorshipCheckResult; /** 渠道可靠性对比条目。 */ export interface ChannelReliability { channel: string; /** 0-1,越高越可靠 */ reliability: number; /** 免费/付费 */ cost: 'free' | 'paid' | 'freemium'; /** 已知风险 */ risks: string[]; } /** * 渠道可靠性评估:基于公开常识的启发式评分。 * * 维度:数据源权威性、更新频率、是否官方、历史稳定性。 * 纯启发式,非实测;用于给 agent 一个"先信谁"的排序。 */ export declare function channelReliability(channels: readonly string[]): ChannelReliability[]; /** 数据质量总报告:串起 PIT / 幸存者 / 渠道。 */ export interface DataQualityReport { pit: PitCheckResult; survivorship: SurvivorshipCheckResult; channels: ChannelReliability[]; /** 综合健康度 0-1 */ healthScore: number; } /** 数据质量总报告。 */ export declare function dataQualityReport(values: readonly (number | null)[], channelNames?: readonly string[]): DataQualityReport;