IB maintains contract's history, supposedly- until option expiration.
Practically, I can download 1-1.5 months of history for weeklies/monthlies. I did not try Quarterlies' or longer term to see if it indeed covers the full duration of a contract.
Even if it is only 1.5 month or less, one can build a database over time.

However, to store it properly, one needs to manually convert the received dataset from t6 to t8. Also, IB plug-in does not currently allow to SET_MARKETVAL to obtain historical spread.
(And it is slow - see my IB-plug-in wish list in another thread)

Hence my request.

semi-Hero? tongue