-
I would like to backtest a strategy using options on futures. For this I need to have access to greeks of a portfolio of options. I can have access to historical data of option prices using databento, for example using 1m bars is quite cheap, although I won't have access to bid ask data/order book data which is more voluminous and expensive. I know how to imply volatilities from option specs as well as a price which would then allow me to compute common sensitivities like delta, vega, gamma, theta. Implying volatilities requires also a kind of join with the underlying price, in this case of an underlying future. My question is where is the best place in the system to do this computation. And how can I cache the computation of implied volatilities and greeks (sensitivities) so it doesn't need to be done again for several backtests. And how can I combine the greeks of individual options into portfolio greeks. Same question using live market data from databento for example. I know I'm asking quite a lot, I'm asking just in case someone may have any pointers that could ease a bit my research. Thank you |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @faysou
I would recommend calculating your greeks inside an Actor, as this will operate the same way for backtest and live trading.
We don't yet have a builtin method for caching results from actors (though it's been on our minds for some time), but you could run a single backtest with persistence turned on and output the results of your greeks actor, then for subsequent backtests, turn off the actor and feed the greeks data straight into the backtest. There's a little bit of manual setup required here, but the benefit is that you'll know that the setup will work live in the same way.
This is probably something you would need to do yourself (also likely via some sort of actor)
If you go the Actor path, everything will work the same live. |
Beta Was this translation helpful? Give feedback.
Hi @faysou
I would recommend calculating your greeks inside an Actor, as this will operate the same way for backtest and live trading.
We don't yet have a builtin method for caching results from actors (though it's been on our minds for some time), but you could run a single backtest with persistence turned on and output the results of your greeks actor, then for subsequent backtests, turn off the actor and feed the greeks data straight into the backtest. There's a little bit of manual…