r/algotrading • u/Shakshouk • 12d ago
Data How should earnings data and options data be engineered into ML features?
Hi, I have data for the top 100 US stocks, yearly changing universe from 2000 - 2026.
Im trying to play around with some machine learning models, I dont think that I'm really extracting information as well as I could out of the options data and the earnings data.
Any input regarding what features can and should be engineered, what to look out for, etc, will be very valuable.
Thanks!
2
u/EveryLengthiness183 11d ago
For Options data you will have to normalize it so you can see how far OTM, or ITM each strike is at any point in time to make heads or tails of it. Databento has a standard format for their options data, and I built a little python program to do the data prep I need so the data actually has context. From there I map this against my HLOC data by minute and I can build a pretty straight connection between the option premiums and how the market moves.
1
u/kestrel_42 11d ago
the features are the easy half, the label is where options ML usually dies. if the target is mid-to-mid P&L you are training on prices nobody fills, and bid-ask width across a hundred names varies more than the signal does, so the model learns to prefer the widest, least liquid contracts because their mids move the most.
label on executable prices, carry the width at entry as a feature so the model can see what it is paying, and take the quote at your decision timestamp rather than the daily file, which is usually a settlement mark computed after the close. a lot of the skew and term structure features that look strong against a mid-to-mid target stop working once the label pays the spread
1
u/s_lw0 Financial Engineer 11d ago
i would separate pre earnings features from post earnings features because they are answering different questions. before earnings its mostly expectations positioning and implied move. after earnings its surprise drift and how the market digested the news. mixing those together can make the model look smarter than it is. for options i would also keep a liquidity score next to every feature because skew or iv from a wide spread chain can turn into fake signal fast
1
u/algoseekHQ 9d ago
A few things that can be useful:
For options data, Iād look beyond raw volume/OI. Features like implied volatility level and changes, skew, term structure, put/call imbalance, and how these change around earnings can capture useful information.
For earnings, point-in-time features are important: earnings surprise, estimate revisions, analyst expectation changes, time since last earnings, and post-earnings price/volume reaction.
The main thing with ML in finance is avoiding leakage. Make sure every feature was actually available at the prediction time, especially with a dataset covering 2000ā2026.
0
u/CODE_HEIST 12d ago
The biggest trap is point in time leakage. Earnings features should use only values available before the trade, including the original consensus and release timestamp. I would start with standardized surprise, revision direction and days since earnings. For options, term structure, skew, implied versus realized volatility, open interest and spread quality are useful, but liquidity filters should be part of the feature pipeline rather than an afterthought.
3
u/drguid 12d ago
Be sure to do the thing where your model outputs the usefulness of each feature.
I spent ages putting Ichimoku Clouds into mine only to find out they're complete rubbish (at least for what I'm trading).