How can I run Rhistory in a loop?
What I would like to do is to run RHistoryQuery get the results from callback event OnImage and pass it to AdInterp function. Is it possible to loop the following steps for different Instrument lists (for the Rhistory) and retrieve only the results from the Adinterp?
Best Regards,
Adam
Best Answer
-
Yes, it's possible and there's more than one way of doing it.
First of all you can retrieve multiple instruments in a single request, just like you can with RHistory worksheet function.
Then, if for whatever reason you need to retrieve your instruments one by one, you can do this by introducing a module level counter. You will need to initialize it and call the data requesting procedure for the first instrument in the list. In the OnImage event handler you can apply AdInterp function and output the result. Then you can increment the counter, check if the counter is still in range for your list of instruments, and if yes call the requesting procedure for the next instrument from the list. This process will break if there are any invalid instruments in the list. To handle it you'll also need to implement the same logic in the OnError event handler.
Finally, you can create an instance of RHistoryQuery object per instrument, and place all these objects into a collection, so they remain in memory while the data is being retrieved. In this case to manage the event handling you will need to create a custom class.
These are your options.
0
Answers
-
Thank you Alex! I need to interpolate a spread for a list of instruments, hence asking for the Rhistory loop. By the way, do you happen to have an example of the module level counter...it would definitely save me some time.
0 -
I cannot say I understand why you prefer retrieving timeseries one instrument at a time over retrieving them all at once, which will be faster. Once you've retrieved the timeseries you can apply whatever analytics you want to the data you retrieved. Whatever you rationale, attached is an example of doing both: retrieving the list of instruments in one request and retrieving the list in a loop one instrument at a time. I hope you find it useful.
0 -
Thank you so much Alex! This is exactly what I needed. I have number of chain RICs from which I intended to get the Spread curves, which were used in the Adinterp function.
Thanks again!
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 中文论坛