Upgrade from Eikon -> Workspace. Learn about programming differences.

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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
77 5 12 17

symbology conversion for ATM Implied volability RICs

Hello I am wondering if it is possible to convert a stock/etf RIC into the corresponding at the money implied volatility RIC.

the following code will not provide an answer:

df,e = ek.get_data('ASML.AS',
                   ['TR.30DAYATTHEMONEYIMPLIEDVOLATILITYINDEXFORPUTOPTIONS.Date',
                    'TR.30DAYATTHEMONEYIMPLIEDVOLATILITYINDEXFORPUTOPTIONS'
                   ],
                   {'SDate':'20200903','EDate':'20210902','Frq':'D'})

this will result into the following error

 code col                                      message row
1  412   1 Unable to resolve all requested identifiers.   0
2  412   2 Unable to resolve all requested identifiers.   0

However the following code will reply the correct answer:

df,e = ek.get_data('ASMLATMIV.EX',
                   ['TR.30DAYATTHEMONEYIMPLIEDVOLATILITYINDEXFORPUTOPTIONS.Date',
                    'TR.30DAYATTHEMONEYIMPLIEDVOLATILITYINDEXFORPUTOPTIONS'
                   ],
                   {'SDate':'20200903','EDate':'20210902','Frq':'D'})

Of course for a single stock this can be sorted out by hand. Bur for managing a portfolio this can become quite cumbersome.

Moreover when I search in the terminal for ASMLATMIV I get the following results:

1639562284767.png

This means that there are multiple options and that a guessing an ATM IV RIC can be quite dangerous.
For ASML this is the case because ASML is traded at two exchanges (ASML.AS (EUR, Amsterdam) and ASML.O(USD, N.Y.)). Why the search results shows the RIC of Allianz a german insurance company (ALVG.DE) is a complete mystery to me.


There I am wondering if and how it is possible to do a conversion from a stock or option RIC to an ATM implied volability RIC in either eikon or RDP.


thanks,


Laurens




volatility
1639562284767.png (62.9 KiB)
icon clock
10 |1500

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

1 Answer

· Write an Answer
Upvotes
Accepted
399 4 5 9

Hi Laurens,


I am not aware of a direct way of conversion, but it seems the structure of at the money implied volatility RIC is as following (you can confirm this from the Content team as well):

1. First part of the Asset RIC, such as ASML, IBM etc.

2. ATMIV - standing for At The Money Implied Volatility

3. Exchange Identifier. This seems the most challenging one, because as you already noticed a stock can be traded in multiple exchanges.

Taking into consideration all this, I would suggest, first retrieving all ATMIV RICs for a given asset using RDP search. Please see below examples for ASML and IBM:

response = rdp.search(
    query = 'ASMLATMIV*',
    select = 'RIC')
response

1639651054503.png

response = rdp.search(
    query = 'IBMATMIV*',
    select = 'RIC')
response

1639651089660.png

Now as you have all possible ATMIV RICs for a given asset, you can then loop over all ATMIV RICs or use only the one you are interested in and request the volatility data using your code.

Hope this was helpful, please let me know should you have any further questions


1639651054503.png (4.1 KiB)
1639651089660.png (1.4 KiB)
icon clock
10 |1500

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

Hi thanks for this response. Indeed rdp search is probably the best way to search for the ATMIV rics. However if you want to match ASMLATMIV.EX to ASML.AS (EUR) and ASMLATMIV.U to ASML.O (USD). Is there some possibilty to do this?

I have added UnderlyingQuoteRIC property as well, which shows the corresponding RIC. Additionally, I changed the filter value a bit, from 'ASMLATMIV*' to 'ASML*ATMIV*' . This allows to get weekly options as well (Feel free to use the 'ASMLATMIV*' filtering criteria if you don't need them).

Here is the code and the output

response = rdp.search(
    query = 'ASML',
    filter = "RIC eq 'ASML*ATMIV*'",
    select = 'RIC, DocumentTitle, UnderlyingQuoteRIC'
)
response

1639654834271.png


Here again, you can notice that underlying for 'ASMLATMIV.EX' is ALVG.DE instead of ASML.AS. This is a content related issue I believe and I would advice submitting a query to content team via my.refinitiv.com.

Other than that, the code is working and you can scale that to other equities/assets.

1639654834271.png (27.8 KiB)

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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