特征工程导论:什么是特征工程、为什么在量化交易中如此重要、特征工程与模型性能的关系
大家好,欢迎来到这门课的第一讲。
说实话,每次带新人做量化项目,我最怕听到的一句话就是:「我找了个牛逼模型,直接扔数据进去跑就行了吧?」
嗯,每次听到这个,我都得深吸一口气。模型再牛,也架不住你喂它一堆垃圾数据。今天咱们就来聊聊,量化交易里最容易被低估、但恰恰最值钱的一环——特征工程。
什么是特征工程?
先别急着看定义。我换个说法:特征工程,就是把原始数据变成模型能听懂的语言。
你想想看,股票期货市场每天产生海量数据——开盘价、收盘价、成交量、持仓量、龙虎榜、舆情……但模型它不懂什么叫「放量突破」,也不懂什么叫「MACD金叉」。它只认数字,只认矩阵,只认张量。
所以,特征工程要做的,就是把这些原始数据,加工成模型能理解的、有预测能力的「特征」。
核心定义:特征工程是利用领域知识,从原始数据中提取、构造、选择出最能反映问题本质的特征变量的过程。
我个人习惯把特征工程分成三个层次:
- 基础层:数据清洗、缺失值处理、异常值剔除。说白了,先把脏东西洗掉。
- 构造层:用数学变换、统计指标、时序逻辑生成新特征。比如计算过去20天的波动率、构建动量因子。
- 选择层:从几百个特征里挑出最有效的那些,去掉噪音和冗余。
我在项目中遇到过最典型的例子:有人把沪深300的300只成分股收盘价直接扔进LSTM模型,结果训练了三天,预测结果跟抛硬币差不多。为什么?因为原始价格是非平稳的,模型根本学不到规律。后来我们做了差分、做了归一化、加了技术指标,同样的模型,夏普比率直接从0.3干到了1.8。
为什么在量化交易中如此重要?
这个问题,我用一句话回答:在量化交易里,特征工程决定了你的策略上限。
模型只是逼近这个上限的工具。你特征做得好,用线性回归都能赚钱;特征做得烂,用Transformer也是白搭。
具体来说,有这几个原因:
- 金融数据信噪比极低。 股票期货的价格波动里,真正的信号可能只有1%,剩下99%都是噪音。特征工程就是帮你把那1%的信号放大、提纯。
- 市场规律是隐性的。 没有哪个市场会直接告诉你「明天要涨」。你需要通过特征构造,把隐藏在量价关系、资金流向、市场情绪里的规律显式表达出来。
- 避免过拟合的陷阱。 我见过太多人,特征没做几个,上来就堆模型复杂度。结果回测曲线漂亮得像假的一样,实盘一跑就崩。好的特征工程,本身就是一种正则化。
一个小技巧:当你发现模型在训练集上表现很好、测试集上表现很差时,先别急着调模型参数。回头看看你的特征——大概率是特征里混进了未来信息,或者特征本身过拟合了历史数据。
我曾经踩过一个坑:做股指期货的日内策略,我把「过去5分钟的价格变化」作为特征,回测效果惊人。结果实盘时发现,这个特征在盘中会频繁出现「跳变」,因为交易所的撮合机制导致价格在极短时间内来回波动。后来我加了中位数滤波,才把这个坑填上。
特征工程与模型性能的关系
咱们用一张图来直观理解这个关系。下面是我手绘的一个知识框架图,展示了特征工程在整个量化建模流程中的位置和作用。
从这张图里你能看到,特征工程不是孤立的一步。它连接着原始数据和模型性能,而且是一个迭代反馈的过程。模型跑得不好,很多时候不是模型的问题,是特征没做透。
我给大家一个经验公式,是我自己这些年总结的:
策略效果 ≈ (特征质量 × 模型能力) / (数据噪音 + 过拟合程度)
其中,特征质量的权重,我个人认为至少占60%。
为什么会这样?因为金融数据天生具有非平稳、非线性、高噪音的特点。你再牛的模型,面对一堆垃圾特征,也只能学到垃圾规律。反过来,如果你构造出了真正反映市场微观结构的特征,哪怕用最简单的线性模型,也能稳定盈利。
注意:不要陷入「特征越多越好」的误区。我见过有人一口气构造了500个特征,结果模型训练时间翻了10倍,性能反而下降了。这叫「维度灾难」。好的特征工程,追求的是「少而精」,不是「多而杂」。
我记得有一次做商品期货的跨品种套利策略。一开始我们用了20多个常见的技术指标,效果平平。后来我们深入研究了两个品种的产业链关系,构造了一个「库存-基差-利润」的复合特征,就这一个特征,把策略的年化收益从8%提到了22%。
你看,这就是特征工程的力量。
本章小结
咱们快速回顾一下今天的内容:
- 特征工程是把原始数据转化为模型可理解、有预测能力的特征的过程。
- 在量化交易中,它之所以重要,是因为金融数据信噪比低、市场规律隐性、且容易过拟合。
- 特征工程与模型性能的关系是:特征决定上限,模型逼近上限。把精力花在特征上,远比花在调参上划算。
嗯,这一讲就到这里。记住一句话:好的特征,是量化策略的基石。后面的章节,我会带大家一步步深入,从基础特征构造到高阶因子挖掘,咱们慢慢来。
公众号:蓝海资料掘金营,微信deep3321