2. 金融市场与量价数据基础

量价建模的第一步不是选模型,而是理解数据从哪来、长什么样、有什么噪声。股票、期货、加密货币三类市场的交易机制差异,会直接决定OHLCV字段的语义、采样频率的取舍,以及后续特征工程与标签构造的边界。本节围绕市场结构、OHLCV含义、三种频率数据特点展开,为后续信号建模打下数据认知基础。

一、核心原理:三类市场的结构差异

股票市场以撮合竞价为主,存在开盘集合竞价、连续竞价与收盘集合竞价,交易时段固定,且有涨跌停与T+1(A股)等约束。期货市场采用保证金与逐日盯市制度,合约有到期日,存在主力合约切换问题,夜盘与日盘分段交易,价格连续但合约不连续。加密货币市场7×24小时连续交易,无涨跌停,现货与永续合约并存,交易所之间价差与资金费率会带来额外信号。

这些差异意味着:同一套量价特征在不同市场上不能直接照搬。例如股票的开盘跳空受隔夜信息影响大,而加密货币没有“隔夜”概念;期货的主力合约切换会造成成交量突增或价格跳变,若不处理会被模型误读为真实信号。

建模前必须明确三件事:交易时段与休市规则、合约/标的的连续化方式、成交量的统计口径(手数、张数、币量还是名义金额)。

二、OHLCV数据的含义与陷阱

OHLCV是Open、High、Low、Close、Volume的缩写,是K线的基本字段。Open是该周期第一笔成交价,High/Low是周期内最高/最低成交价,Close是最后一笔成交价,Volume是周期内成交量。看似简单,但每个字段都依赖采样窗口:同一分钟内不同起止点会得到不同的OHLC。

字段含义常见陷阱
Open周期首笔成交价集合竞价与连续竞价混用,跳空被误读为趋势
High/Low周期内极值仅反映触碰,不代表可成交价格
Close周期末笔成交价收盘集合竞价可能造成尾盘异动
Volume周期成交量期货主力切换、加密货币刷量导致失真

此外,OHLCV是“已聚合”数据,丢失了周期内的路径信息。同样一根阳线,可能是单边上涨,也可能是先跌后涨,二者对后续走势的含义完全不同。因此在高频建模中,tick数据或订单簿数据往往比分钟K线更有信息量。

三、tick、分钟、日频数据的特点与选择

tick数据是逐笔成交或逐笔委托,粒度最细,包含时间戳、价格、数量、买卖方向等。优点是信息完整,可重构任意周期K线;缺点是数据量大、噪声高、对存储与计算要求高。分钟数据是tick的聚合,兼顾信息量与计算效率,适合中高频信号建模。日频数据粒度最粗,适合中低频与基本面结合的策略,但样本量少、信噪比低。

# 以pandas为例,将tick聚合为1分钟OHLCV
df = df.set_index('timestamp')
ohlcv = df['price'].resample('1min').ohlc()
ohlcv['volume'] = df['size'].resample('1min').sum()
ohlcv = ohlcv.dropna()

选择频率时需权衡三点:信号衰减速度、交易成本占比、样本量是否足够。高频信号衰减快但成本敏感,低频信号稳定但样本少。实务中常用“多频率融合”:用日频判断趋势方向,用分钟频寻找入场点,用tick验证执行质量。

股票 / 期货 / 加密货币:数据频率与结构对比 股票 固定交易时段 集合竞价 + 连续竞价 涨跌停 / T+1 日频为主,分钟可用 隔夜跳空明显 成交量:股 / 手 tick可得但成本高 期货 保证金 / 逐日盯市 合约到期与主力切换 日盘 + 夜盘分段 分钟频常用 价格连续但合约不连续 成交量:手 / 张 需做连续化处理 加密货币 7×24 连续交易 无涨跌停 现货 + 永续合约 tick与分钟均易获取 交易所间价差 资金费率影响持仓 成交量:币量 / 名义

四、案例与场景:从数据到信号的常见路径

以日内动量策略为例:先用日频数据判断近20日趋势方向,再用5分钟K线计算成交量加权均价(VWAP)与价格偏离度,最后用tick数据确认大单方向。若在股票市场,需剔除开盘前15分钟与收盘前5分钟的异常波动;若在期货市场,需先拼接主力连续合约;若在加密货币市场,需过滤交易所刷量导致的虚假成交量。

一个可复用的检查清单:时间戳是否统一时区?成交量单位是否一致?缺失K线是休市还是数据丢失?合约切换日是否已标记?

五、误区与复盘

  • 误区一:把OHLC当作真实路径。 同一根K线内可能发生剧烈反转,仅用OHLC会丢失关键信息。
  • 误区二:忽略成交量口径。 股票“手”、期货“张”、加密货币“币”不可直接比较,需统一为名义金额。
  • 误区三:频率越高越好。 高频数据噪声大、成本高,若信号本身是日频级别,用tick只会增加过拟合风险。
  • 误区四:不做合约连续化。 期货主力切换会造成价格跳变,直接建模会把切换误判为趋势信号。

复盘时建议对每个数据集做一次“数据体检”:统计缺失率、异常值比例、成交量分布、时间间隔分布,并画出价格与成交量的联合分布图。只有确认数据语义与市场结构匹配后,量价信号建模才有可靠起点。