You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于CNN-LSTM的股指/股价预测:多变量时间序列数据预处理方案咨询

针对CNN-LSTM股指/股价预测的最优数据预处理方案

结合你用到的多类数据特性和CNN-LSTM模型的需求(既要捕捉局部价格模式,又要学习长期时序依赖),分类型的预处理是核心,以下是具体建议:

一、分类型预处理策略

1. 时序价格数据(OHLCV)

  • 避免全局标准化/差分一刀切:股价是带趋势的非平稳序列,全局标准化会抹平不同时间段的波动特征,而全序列差分可能丢失长期趋势信号。
  • 推荐方案:
    • 先做ADF检验确认序列平稳性,若一阶差分后平稳,对OHLC做一阶差分(close[t] - close[t-1]),否则保留原始价格。
    • 采用滑动窗口归一化:用和模型输入窗口一致的大小(比如60天),在每个窗口内用MinMaxScaler将价格缩放到[0,1],这样能保留局部的价格相对关系(如当天高低开收的位置差),适配CNN的局部特征提取需求。
    • 成交量:先做log(1+volume)处理(避免0值问题),再和价格数据一起做窗口内归一化,因为成交量的绝对量级波动远大于价格。

2. 基本面数据(失业率、各类利率)

  • 这类数据低频、趋势性强,不适合差分:差分后会把缓慢变化的趋势变成微弱的波动信号,丢失长期关联信息。
  • 推荐方案:
    • 用RobustScaler做全局归一化:这类数据可能存在突发政策导致的 outliers,鲁棒缩放对异常值的容忍度更高,能保留原始趋势。
    • 数据对齐:低频数据(如月度失业率)用前向填充(ffill)补全日频数据,不要用插值避免引入噪声。

3. 技术指标(RSI、MACD)

  • 无需额外差分/对数处理:这类指标本身是基于价格计算的无量纲或固定范围特征(如RSI为0-100),已经包含了价格的相对关系。
  • 推荐方案:
    • 用MinMaxScaler将不同指标统一缩放到[0,1]范围,避免不同指标的量级差异干扰模型权重分配。比如MACD正负波动,RSI固定0-100,统一缩放后更利于模型学习。

4. 移动均线(SMA、EMA、WMA)

  • 不要用“均线减开盘价”的处理:这种操作会丢失均线的绝对趋势信息(如长期均线高于价格的多头信号),且不同价位的差值量级无对比性。
  • 推荐方案:
    • 和OHLC数据一起做滑动窗口归一化,保留均线与原始价格的相对位置关系,让CNN能捕捉到均线对价格的支撑/压制等局部模式。

二、整体流程注意事项

  1. 严格避免数据泄露:所有归一化/缩放的拟合过程只在训练集上进行,用训练集的scaler转换验证集和测试集,绝对不能用全数据集拟合。
  2. 特征拼接:预处理后的各类特征按维度拼接成[样本数, 时间步长, 特征总数]的形状,作为CNN-LSTM的输入。
  3. 可选优化:
    • 把OHLC转换为衍生特征:如当日波动幅度(high-low)、开盘收盘差值(close-open),这类特征更直接反映价格行为,适合CNN提取局部特征。
    • 特征筛选:用互信息、皮尔逊相关性分析剔除与预测标签无关的特征,减少模型复杂度,避免过拟合。

三、对你当前处理方式的问题分析

  • 全数据集标准化:破坏了股价时序的局部波动特征,CNN无法有效提取价格的局部模式。
  • 所有数据差分:基本面和技术指标本身是平稳的,差分后丢失有效信息,引入不必要的噪声。
  • 均线减开盘价:丢失均线的绝对趋势,模型难以学习一致的多空信号模式。

内容的提问来源于stack exchange,提问作者Ivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:12:13