Need EOD closing and settlement prices day wise data for CL Options Contract

Need EOD closing and settlement prices day wise data for CL Options Contract . Also need information of deriving the the same prices data for expired option contracts . Need all the above info for NG also so kindly let know on generic basis

Tagged:

Best Answer

  • aramyan.h
    aramyan.h admin
    Answer ✓

    Hi @peeush ,


    For the active contracts what you can do is to use chains to expand the constituents, then request prices on those:

    import refinitiv.data as rd
    from refinitiv.data.discovery import Chain
    cl_chain = Chain('0#CL+').constituents
    print(cl_chain)
    ['0#CLF24+', '0#CLG24+', '0#CLH24+', '0#CLJ24+', '0#CLK24+', '0#CLM24+', '0#CLN24+', '0#CLQ24+', '0#CLU24+', '0#CLV24+', '0#CLX24+', '0#CLZ24+', '0#CLF25+', '0#CLG25+', '0#CLH25+', '0#CLJ25+', '0#CLK25+', '0#CLM25+', '0#CLN25+', '0#CLQ25+', '0#CLU25+', '0#CLV25+', '0#CLX25+', '0#CLZ25+', '0#CLF26+', '0#CLG26+', '0#CLH26+', '0#CLJ26+', '0#CLK26+', '0#CLM26+', '0#CLN26+', '0#CLQ26+', '0#CLU26+', '0#CLV26+', '0#CLX26+', '0#CLZ26+', '0#CLF27+', '0#CLG27+', '0#CLH27+', '0#CLJ27+', '0#CLK27+', '0#CLM27+', '0#CLN27+', '0#CLQ27+', '0#CLU27+', '0#CLV27+', '0#CLX27+', '0#CLZ27+', '0#CLF28+', '0#CLM28+', '0#CLZ28+', '0#CLM29+', '0#CLZ29+', '0#CLM30+', '0#CLZ30+', '0#CLM31+', '0#CLZ31+', '0#CLM32+', '0#CLZ32+', '0#CLM33+', '0#CLZ33+', '0#CLM34+', '0#CLZ34+']

    This will return the monthly contract chains. Then you can expand those further to get contracts with specific strikes and get prices on those. E.g for '0#CLF24+':

    cl_chain_F = Chain('0#CLF24+').constituents
    rd.get_history(cl_chain_F, fields = ['SETTLE', 'TRDPRC_1'])


    screenshot-2023-12-13-at-164232.png

    As for the expired ones, those are not accessible directly and you need to reconstruct them following the RIC construction Rules. You can reach out to Helpdesk for more details by posting a question.


    Hope this helps.


    Best regards,

    Haykaz

Answers