1. 信号生成基础:交易信号的定义、信号生成的基本流程、信号与噪声的区别
做量化交易这些年,我见过太多人一上来就堆指标、跑模型,结果回测曲线漂亮得像教科书,实盘一跑就崩。问题出在哪?说白了,就是没搞清楚什么是真正的「信号」。
这一节,咱们先把地基打牢。你想想看,如果连信号和噪声都分不清,后面那些花里胡哨的策略,不过是空中楼阁。
1.1 交易信号的定义
交易信号,简单说就是「一个可执行的交易指令」。它告诉你:现在,该买,还是该卖,或者该平仓。
我个人习惯把信号拆成三个要素:
- 方向:做多还是做空
- 时机:具体哪个时间点执行
- 置信度:这个信号有多可靠
举个例子,一个经典的均线金叉信号:
# 伪代码示例:简单均线金叉信号
if MA5 上穿 MA20:
生成买入信号
信号置信度 = 0.6 # 根据历史统计
建议仓位 = 30% # 根据置信度调整
嗯,这里要注意:信号不是预测。它不告诉你未来价格一定涨,它只是说「根据当前数据,现在入场有较大概率获利」。我在项目中遇到过不少新手,把信号当成了预言,结果亏了钱还怪信号不准——其实信号本身没错,是你用错了。
1.2 信号生成的基本流程
信号生成不是拍脑袋,它有一套标准流程。我把它总结为四个步骤:
- 数据获取与清洗:拿到原始行情数据,处理缺失值、异常值
- 特征计算:根据策略逻辑,计算技术指标或因子
- 规则匹配:将特征与预设条件比对,判断是否触发信号
- 信号输出:生成包含方向、价格、时间、置信度的结构化信号
下面这张图,是我自己画的一个标准信号生成流程,你可以对照着看:
这个流程看起来简单,但每个环节都有坑。我曾经在数据清洗环节偷懒,没处理某只股票的复权数据,结果信号全偏了——那叫一个惨。
1.3 信号与噪声的区别
这是最核心的部分。为什么同样的策略,有人赚钱有人亏?区别就在于:你能不能识别出真正的信号,而不是被噪声牵着走。
我习惯用这个比喻:
- 信号:市场里「有逻辑、可重复、有统计意义」的价格行为
- 噪声:随机波动、情绪化交易、数据异常等「无意义」的波动
判断信号 vs 噪声的三个标准:
- 可解释性:这个信号背后有没有合理的市场逻辑?比如财报发布后的跳空,有逻辑;某分钟突然的异常拉升,可能是噪声。
- 稳定性:同样的条件,在不同时间段是否反复出现?如果只出现过一次,大概率是噪声。
- 信噪比:信号强度与背景噪声的比值。信噪比越高,信号越可靠。
举个例子,你看下面这个表格:
| 特征 | 信号 | 噪声 |
|---|---|---|
| 出现频率 | 有规律,可统计 | 随机,无规律 |
| 逻辑支撑 | 有经济学/行为金融学解释 | 无法解释,或事后找理由 |
| 回测表现 | 多周期、多品种稳定 | 只在特定条件下有效 |
| 实盘表现 | 与回测偏差在可接受范围 | 实盘与回测差异巨大 |
我的个人经验:
刚开始做量化时,我特别喜欢「挖掘」那些看起来完美的信号——回测曲线45度向上,夏普比率3.0以上。结果实盘一跑,直接打回原形。后来我才明白:太完美的信号,往往是过拟合的噪声。
我建议你:每次发现一个新信号,先问自己三个问题——
- 这个信号在2015年股灾时还管用吗?
- 换到港股、美股还能跑通吗?
- 去掉最近3个月的数据,信号还稳定吗?
如果答案都是「是」,那它才勉强算个信号。
⚠️ 避坑指南:
我曾经犯过一个低级错误:把「数据噪声」当成了「交易信号」。当时我发现某只股票每天开盘前5分钟有固定的价格模式,以为发现了宝藏。结果后来发现,那只是交易所数据推送的延迟造成的假象。
所以,一定要搞清楚你的数据源。是Tick级数据还是分钟级?有没有做复权处理?有没有考虑交易成本?这些细节,往往决定了信号的真伪。
最后说一句:信号生成不是一锤子买卖。它是一个持续迭代的过程。你每发现一个信号,都要经过「提出假设 → 回测验证 → 实盘观察 → 反馈优化」的循环。我自己的策略库里,真正能用的信号,十个里能留下两三个就不错了。
嗯,这一节就到这里。记住:宁可错过,不要做错。信号可以等,但本金亏了就没了。
公众号:蓝海资料掘金营,微信deep3321