How to obtain historical data on at-the-money options on S&P 500?

Discussion in 'Data Sets and Feeds' started by mizhael, Feb 28, 2008.

  1. Hi all,

    I studied the mysterious code for option symbols.

    I only need historical data for at the money call and put options on S&P 500.

    Since it is at-the-money option that I need, I am afraid that the
    option codes will be changing in the last a few letters, because the
    at-the-money strikes prices are changing daily.

    A stupid method I can think of at this moment is:

    1. Check historical $SPX price everyday;
    2. For each day, map the at-the-money strike price to the mysterious code;
    3. Construct the option symbol (which is different each day for
    at-the-money options), and fetch the quotes of options with several
    expiration dates for that date;
    4. Loop the 1, 2, 3 steps to get all historical data.

    My questions are:

    1. In step 2, Is there a way to map the at-the-money strike price to
    the code automatically? I cannot think of any good method right now.
    2. Is there a way to obtain bid-ask prices for options?
    3. Any better and smarter method than the above 4 steps?

    IB has 1-year historical data restriction. Opentick doesn't go back to
    year 2005 even for $SPX index prices. I am right now looking for some
    other good data-sources.

    Could anybody give some suggestions?

  2. dd4nyc


    mizhael, there is no free historical options data besides the sources that you mentioned in your post.

    But a quicker way can be using the "old VIX" index, which is Black-Scholes implied volatility on OEX, or the VIX which is model-free implied on SPX.

    CFE also disseminates bid and ask on the VIX :
  3. Thanks dd4nyc.

    I think this is a brilliant idea.

    I do have some follow-up questions:

    (1) How far do these VIX data go back?

    (2) How do we back out the at-the-money S&P 500 option price (call/put) based on the VIX data?

    Of course, if we use the "old VIX" implied from BS formula, we just need to find that at-the-money strike price and S&P 500 price at each date, and find the risk-free rate at corresponding date, and then we can backout the option price using BS formula.

    But then there is the use of the risk-free rate, and the convention of the time-to-maturity used in BS, these two issues bother me.

    And for the new VIX, how can I back out the option price?

    (3) Are there any reasonably priced option historical data? I saw They only have option back to 2004, and they charge thousands of dollars for that data.

    Thanks a lot!
  4. dd4nyc


    It's not a perfect solution, you'll still have to do some work.