/** * 序列描述统计与数据质量检查(纯函数、零依赖)。 */ export interface SeriesStats { count: number; mean: number; std: number; min: number; max: number; median: number; /** 偏度(Fisher-Pearson 标准化矩) */ skew: number; /** 超额峰度 */ kurtosis: number; /** 一阶自相关(滞后 1) */ autocorr1: number; /** 年化波动率(sqrt(365) × 日收益标准差;仅当输入为价格序列时有意义) */ annualizedVol: number; /** 总收益率 %(首值 → 末值) */ totalReturnPct: number; } /** 序列描述统计。要求至少 2 个有限值;空序列抛错。 */ export declare function seriesStats(values: readonly number[]): SeriesStats; export interface CandleQuality { /** 有效 K 线数 */ count: number; /** high < low 的非法 K 线数 */ highBelowLow: number; /** 非正值(open/high/low/close <= 0)数量 */ nonPositive: number; /** 时间戳未严格递增的位置数 */ timeNotIncreasing: number; /** 时间缺口数(相邻时间戳间隔不等的段数;需要 >= 3 根) */ timeGaps: number; /** close 相对前一根变动超过 50% 的位置数(可能的数据错误) */ extremeMoves: number; /** 各项是否全部健康 */ healthy: boolean; } export interface CandleInput { openTime: number; open: number; high: number; low: number; close: number; volume: number; } /** OHLCV K 线质量检查(供 agent 在分析前验证数据健康)。 */ export declare function candlesCheck(candles: readonly CandleInput[]): CandleQuality; export interface SeriesQuality { count: number; /** 非有限值(NaN/Infinity/null)数量 */ missingCount: number; /** |z-score| > 3 的异常值数量 */ zOutliers: number; /** 相邻变动超过 jumpThreshold 的位置数 */ jumps: number; /** 连续相同值的最长长度(>= 3 提示数据冻结) */ longestConstantRun: number; healthy: boolean; } /** 序列质量检查:缺值、z 异常、跳变、冻结。 */ export declare function seriesQuality(values: readonly number[], jumpThreshold?: number): SeriesQuality; export interface DataAnnotation { index: number; /** missing / z_outlier / jump_up / jump_down / frozen */ label: 'missing' | 'z_outlier' | 'jump_up' | 'jump_down' | 'frozen'; /** 1 = 提示,2 = 明显问题,3 = 严重(需人工复核) */ severity: 1 | 2 | 3; detail: string; } export interface AnnotateResult { count: number; annotations: DataAnnotation[]; summary: { missing: number; zOutliers: number; jumps: number; frozen: number; }; } /** * 数据标注:把序列级质量问题定位到"点级标签"(致敬 Scale AI 的标注哲学—— * 数据质量不是一句结论,而是每条问题都可定位、可复核、可治理的标注)。 * z 阈值 3σ、跳变阈值 20%、冻结阈值连续 >= 3。 */ export declare function annotateSeries(values: readonly number[], jumpThreshold?: number): AnnotateResult;