For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
25 5 3 5

How to get the Equity Options Prices with Eikon API

Is it possible with Eikon API to have Equity Options Prices?

Thanks,

eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-dataplatform-eikonpythonpricingderivativesequities
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

11 Answers

Upvote
Accepted
39.2k 75 11 27

AAPLL011717000.U expired last Friday. The chain only returns active contracts.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

You rock ;-)

Upvotes
39.2k 75 11 27

Sure. E.g. ek.get_data(['AXAFA2700L8.p'],['CF_LAST','CF_BID','CF_ASK']) will get you the last trade, bid and ask prices, for €27 Dec 2018 call on AXA SA.
It's not yet possible to retrieve streaming market data. This capability is coming next year. But you can already get snapshot market data.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
25 5 3 5

Thank!

But you have to know in advance the RIC (AXAFA2700L8.p).

Is it not possible to have all the RICs options for one stock, example for Apple (AAPL):

  • AAPLD201809000.U
  • AAPLD201807500.U
  • AAPLD201808000.U
  • etc ..

How to get the list? for 2018,2019,2020.

All options are available on Eikon web but not on Eikon API Proxy.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvote
39.2k 75 11 27

Sure. Just use the chain RIC 0#AAPL*.U. For example ek.get_data('0#AAPL*.U',['CF_LAST','CF_BID','CF_ASK'])

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
25 5 3 5

Great !! thanks!

However the returned list (ie 1326 lines) doen't return everything.

For example, it's missing -> AAPLL011717000.U

Do you know why ?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
25 5 3 5

Another question, I see that for some RIC I do not get the list of options.

For example :

ek.get_data('0#FE*.U',['CF_LAST','CF_TIME'])

But for the RIC 0#FE*.U no value was filled in for all the fields .. however, if I directly query the option (as below), it works because I have some data:

ek.get_data('FEL151703000.U',['CF_LAST','CF_TIME'])

How can I do to have the list of 0#FE*.U options?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
39.2k 75 11 27

@PilOop

If you have a new question, please start a new thread.
I'm afraid I'm not getting from your post what result you see when you call ek.get_data('0#FE*.U',['CF_LAST','CF_TIME']). Are you saying the result is an empty dataframe? This is how I would interpret "I do not get the list of options". But then you say "no value was filled in for all the fields", and I'm not sure how to interpret this. Please specify exactly what response you receive and what seems suspicious to you.
On my end when I call ek.get_data('0#FE*.U',['CF_LAST','CF_TIME']) I do retrieve the list of 240 options RICs including FEL151703000.U. For FEL151703000.U the value of CF_LAST field is currently NaN (or empty) because there's been no trade for this option today yet. The value of CF_TIME field is 19:15:01. I see the same values for these fields returned by ek.get_data('FEL151703000.U',['CF_LAST','CF_TIME']).

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

On my end when I call ek.get_data('0#FE*.U',['CF_LAST','CF_TIME']) I do retrieve the list of 240 options RICs including FEL151703000.U.

Thank, it was my question :) If I call ek.get_data('0#FE*.U',['CF_LAST','CF_TIME']), I don't get any RIC options.

Instrument CF_LAST CF_TIME

0#FE*.U NaN NaN

Upvotes
39.2k 75 11 27

Interesting... I don't think I've seen this before. get_data method always returns a tuple with the dataframe and the error. Does the error have value on your end? Or is it None?
Another thing to check is what happens if you type in 0#FE*.U in a Quote app in Eikon.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
25 5 3 5

With Eikon Desktop I see all the options with "Option Watch", so everything works well with Eikon Desktop.

Now, with the param debug=True:

d, e = ek.get_data('0#FE*.U',['CF_LAST','CF_TIME'], debug=True)

I get an error message: 'Access Denied' for the instrument '0#FE*.U'

('entity: ', 'DataGrid') ('payload: ', {'instruments': ['0#FE*.U'], 'fields': [{'name': 'CF_LAST'}, {'name': 'CF_TIME'}]}) Request: {"Entity": {"E": "DataGrid", "W": {"instruments": ["0#FE*.U"], "fields": [{"name": "CF_LAST"}, {"name": "CF_TIME"}]}}, "ID": "123"} HTTP Response: 200 - {"columnHeadersCount":1,"data":[["0#FE*.U",null,null]],"error":[{"code":251658243,"col":1,"message":"'Access Denied' for the instrument '0#FE*.U'","row":0},{"code":251658243,"col":2,"message":"'Access Denied' for the instrument '0#FE*.U'","row":0}],"headerOrientation":"horizontal","headers":[[{"displayName":"Instrument"},{"displayName":"CF_LAST","field":"CF_LAST"},{"displayName":"CF_TIME","field":"CF_TIME"}]],"rowHeadersCount":1,"totalColumnsCount":3,"totalRowsCount":2}

How to solve this issue ?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
39.2k 75 11 27

You need to report this to Thomson Reuters Helpdesk for investigation. There must be something wrong with your Eikon account entitlements. Please call Thomson Reuters Helpdesk number in your country or use Contact Us capability in your Eikon application.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
25 5 3 5

Thank Alex !! You right !

For information. To access the data provided by OPRA (Options Price Reporting Authority), you have to pay a stock market fee.(USD 1.34/month).

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea