Historical Options Data

Hello, I am looking to get historical options data for QQQ Call and Puts for different strikes through the API, what's the best way to get it?

Best Answer

  • m.bunkowski
    Answer ✓

    Hi @christopher02,

    Expired options are not avaialable via RDP search. For the ones that are not expired you can use:

    import refinitiv.data as rd
    rd.open_session()

    rd.discovery.search(
    view=rd.discovery.Views.DERIVATIVE_QUOTES,
    filter = "UnderlyingQuoteRIC eq 'QQQ.O' and CallPutOption eq 'Call' and DerivedCategory eq 'OPTION' and ExpiryDate lt 2023-11-05",
    select="RIC,ExpiryDate",
    top=100
    )

    However, the expired options code can be pulled up using the following syntax and the reference from the quote RULES2 (pasted below)

    RIC Root + Strike Price + Month code + Year code + Exchange Identifier + ^ + Expiry Month + Expiry Year

    1. RIC root - QQQ
    2. Put Month (January) - M >> use RULES2
    3. 21 - date of the expiry
    4. 22 - year of expiry 2022
    5.338+00 - Strike price
    6. .U - exchange suffix ( opra)
    7 ^A22 - January and decade of 2022'

    QQQM212233800.U^A22 > PUT - QQQ 100 @ 338 EXP 01/21/2022

    rules2.png

Answers

  • Thank you for the note. I was able to retrieve the historical prices based on option tickers. But I am noticing that data is incomplete for certain option tickers. For Example in the screenshot below,

    Option ticker QQQ_P_2023-03-17_253 the Close price is unavailable for 12/23/2022 and so are the expiry date option price on 3/17/2023

    Option ticker QQQ_P_2020-11-27_255 has Close price of 5.89 for 10/30/2020 but expiry week prices are unavailable (Sell_Expiry,Sell_T1,Sell_T2)

    Can you help me understand how best to interpret this and to retrieve full price data?

    historical-opt-prices.png


  • Hi @christopher02,

    This is a content query and the best resource for this type of questions is the support team, which can be reached by submitting queries through MyRefinitv.