InterpolatedIv
InterpolatedIv is the implied volatility and expected move calculated for a fixed horizon expressed in days. If a horizon lines up with a real option expiry the value is taken from an exact matching expiry (is_exact = true) and otherwise interpolated between the two surrounding expiries (is_exact = false). The interpolation is not linear in implied volatility. It is done in total variance space (volatility^2 * time): the surrounding terms are converted to total variance, then interpolated linearly there and then via the square root rooted back to an implied volatility. The message itself does not carry the ticker: the Kafka message key is the ticker of the underlying.
▶Proto definition.proto
message InterpolatedIv { string date = 1; int32 days = 2; int32 volatility = 3; int32 implied_move = 4; int32 implied_move_perc = 5; bool is_exact = 6; }
Fields
date
string
1
The trading date in YYYY-MM-DD format
days
int32
2
The number of days to the horizon this entry is interpolated to.
One of the standard horizons: 1, 5, 7, 14, 30, 60, 90, 180, 365.
volatility
int32
3
The interpolated implied volatility at this horizon, scaled by 1000.
Divide by 1000 to get the decimal IV (e.g. 152000 means 0.152).
implied_move
int32
4
The expected absolute move of the underlying in dollars by this horizon,
scaled by 1000. Divide by 1000 to get the dollar value.
implied_move_perc
int32
5
The expected move as a fraction of the underlying price by this horizon,
scaled by 1000. Divide by 1000 to get the fractional value.
is_exact
bool
6
True if an actual option expiry matched this horizon exactly. False if
the value was interpolated between two surrounding expirations.