SuperAPI AI 工具集

ohlcv-processing

数据与分析

查看项目

更新于 10-15 09:15

技能介绍

用途

OHLCV Processing 用于交易分析前的市场数据准备。其核心理念是“垃圾进、垃圾出”:单根异常K线就可能触发错误信号、污染指标计算、产生误导性的回测结果。该技能覆盖从校验、清洗、重采样、归一化到多源合并的完整数据准备管道,尤其针对加密市场数据的混乱特性设计。

主要能力

数据校验:列名标准化(统一为小写 open/high/low/close/volume,并支持 vol、v、o、h、l、c 等常见别名重命名);结构校验(确保 DatetimeIndex 为 UTC、排序、去重、类型强制转换);不可能K线检测(high < low、high < open、high < close、low > open、low > close、负价格、负成交量)。

缺口处理:基于预期频率检测缺失时间戳;支持前向填充(ffill,生成平盘K线、成交量置零)或时间插值(interpolate),并可设置最大连续填充根数,超出则保留为 NaN;同时标记哪些K线是被填充的。

异常检测:价格尖峰检测(收益率超过滚动标准差阈值);零成交量检测;复合异常标记,将尖峰、零成交量、不可能K线合并为统一异常标志列。

重采样:按标准 OHLCV 规则(open 取 first、high 取 max、low 取 min、close 取 last、volume 取 sum)将数据聚合到更粗的时间周期;提供常用时间周期阶梯(1min、5min、15min、1h、4h、1D);支持 VWAP 计算。

归一化:支持收益率(returns)、对数收益率(log_returns)、最小-最大缩放(minmax)、Z 分数(zscore)四种方法。

多源合并:使用 merge_asof 按时间容差对齐两个数据源,逐根K线优先采用成交量更高的来源,并记录来源标记。

时区处理:统一以 UTC 存储和处理,仅在展示时转换。

数据质量报告:输出总K线数、日期范围、缺失值、零成交量K线、不可能K线、重复时间戳、负价格、完整度百分比等摘要。

使用方式

  1. 安装依赖:uv pip install pandas numpy httpx
  2. 采用标准 OHLCV DataFrame 格式:DatetimeIndex 为 UTC、列名为小写 open/high/low/close/volume、按时间戳升序、无重复时间戳。
  3. 调用完整处理管道:依次执行 standardize_columns、validate_ohlcv、handle_gaps、detect_and_flag_anomalies。
  4. 按需调用单项功能:重采样、归一化、多源合并、质量报告等。

技能附带脚本:scripts/process_ohlcv.py(完整处理管道:校验、清洗、重采样、归一化并输出异常报告,可用 --demo 运行合成数据);scripts/merge_sources.py(多源合并,含冲突解决与差异报告,可用 --demo 运行)。参考文档:references/data_quality.md(异常类型、检测方法、修正策略、加密特有数据问题)、references/resampling_guide.md(重采样规则、时间周期用例、部分K线处理、VWAP 重采样、多周期对齐)。

适用场景

适用于加密交易数据的预处理,包括:为技术指标计算准备干净数据、为回测准备一致的历史数据、将细粒度数据聚合到多时间周期、合并来自不同聚合器的行情数据、生成数据质量审计报告。

限制

资料未提供该技能的具体收费、价格、平台支持范围或性能指标。缺口填充的最大根数、异常检测的窗口与阈值等参数需使用者根据数据自行设定。多源合并的冲突解决策略为“优先高成交量来源”,可能不适用于所有场景。