Efficient Way to Get Historical ATM Implied Volatility
I'm trying to find an efficient way to download the Historical ATM Implied Volatility using python.
Currently, I use the following code to get the historical volatility for some options:
vol_df = rd.get_history(universe=option_ric, fields=["IMP_VOLT],
interval="1D", start=start_date_2, end=end_date_2)
But I realized when I add too many instruments, the process starts becomes very slow.
So instead of getting the whole volatility surface and then trying to check which option is currently ATM, I was wondering if there is a faster or smarter way to do this. Using a "for" loop is also slow...
Appreciate any help.
Best Answer
-
Hi @qhumeid
It may be possible to utilize the IPA (Instrument Pricing Analytics) APIs. The Volatility Surfaces interface does document an input property 'atmToleranceIntervalPercent' defined as:
This parameter allows to specify the at-the-money interval width. When it's set to 1(the default value), call options with moneyness <99% and put options with moneyness>101% will be excluded.
The challenge may be that you are looking for expired options, which are very hard to get.
It might also be useful to look at the article: Instrument Pricing Analytics - Volatility and Surfaces to give you an idea of how to retrieve it in Python. It also might be helpful if you provide the coding you perform in Excel - with a typical example. This may help in mapping what you are doing there to something that may be equivalent in Python. Another option is to reach out to the Refinitiv Helpdesk. They will involve a content specialist who can direct which API/service might be best suited for your requirement.
0
Answers
-
Hi @qhumeid
Can you provide some additional details such as a list of Option RICs and the dates so we can confirm the behavior?
0 -
I'm using historical Option RICS, for example: "EFOM8000X1^L21", which is the 80 strike put expired December 21. Getting data for a single option over a year is fine, but since I want the ATM IV, I would have to get the data over a large range of strikes, say 30-90, which takes some time to get. So I was wondering if getting the IV for many options but only for a single date would be doable. On Excel it is very easy, but I'd rather be working with python.
0 -
Hi, thanks for your reply, I'll have a look at the links.
On Excel, I basically have a column with historical prices which I map to the historical option RIC. For each option RIC, I then get the IV on price date.
=TR(OPTION_RIC,"TR.IMPLIEDVOLATILITY","Frq=D SDate=#1 EDate=#2",,Y7,Y7)
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛