Expired option data no reponse

I used the same code below to request the put and call option data, which are both the same strike prices and the same expiration date. However, the only call option has data output, while the put option has no output and warning as follows.


#call option
expOptnMrktPrice = rd.get_history(
universe='AAPLI012319000.U^I23',
interval="1d",
fields= ['TR.MIDPRICE','ACVOL_UNS','TR.OPENINTEREST','TR.IMPLIEDVOLATILITY','TR.DELTA','TR.THETA','TR.GAMMA','TR.VEGA','TR.RHO','THEO_VALUE'],
start="2023-08-01",
end="2023-09-01",
)
expOptnMrktPrice


#put option
expOptnMrktPrice = rd.get_history(
universe='AAPLU012319000.U^U23',
interval="1d",
fields= ['TR.MIDPRICE','ACVOL_UNS','TR.OPENINTEREST','TR.IMPLIEDVOLATILITY','TR.DELTA','TR.THETA','TR.GAMMA','TR.VEGA','TR.RHO','THEO_VALUE'],
start="2023-08-01",
end="2023-09-01",
)
expOptnMrktPrice

put option warning:

RDError: Error code -1 | Unable to resolve all requested identifiers in ['AAPLU012319000.U^U23'].

No data to return, please check errors: ERROR: No successful response.
(TS.Interday.UserRequestError.70005, The universe is not found)

Thanks in advance for any helps and comments.

Best Answer

  • aramyan.h
    Answer ✓

    Hi @y.jia10 ,


    As the error suggests the provided RIC for the put option is incorrect. The correct RIC seems to be AAPLU012319000.U^I23. Please note that, when reconstructing the expired option, only month code letter is different depending on the option type, whereas the Expiry month after the '^' symbol is a letter from A to L no matter the option type. See here for the reference :

    What is the RIC structure for expired options? | MyRefinitiv


    Hop this helps.


    Best regards,

    Haykaz

Answers