We are excited to announce the official release of the Python mdodata package!
Along with our mdo.data package for R, the mdodata package for Python provides users with a powerful API for calling equity data into their R or Python environment. The mdo.data and mdodata packages use the same methods and share a common back-end, which makes it seamless to translate from one language to another.
What is MDO?
MDO provides common methods for retrieving data from equity research databases. MDO is a data extraction layer that enables access to databases like QA Direct from Refinitiv.
- MDO has Python and R APIs to access commonly used financial databases
- MDO has no up-front cost and is offered as an annual subscription
- MDO costs less than hiring 1 senior data engineer full time
- MDO is ready to be installed and users can be up and running very quickly
- MDO provides expert-level support
How does MDO save you time?
Shorter learning curve
In MDO, you only need to learn 3 primary functions in order to get up and running. These common data retrieval methods are used for all of the data items.
Smoother transition from research to production
You can use the same data retrieval calls for research and production. You only need to tweak a few function arguments to promote a research factor into production.
Other data extraction methods require users to write complicated queries OR use many different functions. Extracting data from multiple vendors like Worldscope, I/B/E/S and Datastream in SQL could require 8-10 table joins and 50+ lines of code.
In MDO, you can call multiple data items from multiple vendors in 1 line of code. All adjustments, currency conversions, unit conversions, and date alignment are done on the backend.
As an example, in just 4-5 lines of code we can retrieve:
- Index Constituents for last 10 years for DJ STOXX Global 1800
- Price, Shares, and Security Info on each month end date from one or multiple sources
- EPS for last 4 quarters on each date from multiple sources (Worldscope, IBES V2, and Reuters Fundamentals)
import mdodata as mdo day = mdo.DateRange(startDate='2010-01-31', endDate=mdo.RecentDay(), periodType='month') universe = mdo.ConstituentUniverse('DS_CONST__DJS180E', days=day) mdo.PlugData(universe=universe, items=['DS_CLOSE', 'DS_SHARES', 'DS_SEC_NAME', 'DS_REGION'], adjustData=True, toCurrency=True, recent=True, units='E') mdo.FundamentalData(universe, items=['WS_18193_Q', 'IB_ACT_EPS_VALUE_Q', 'RKD_SDAI_Q'], period=[-3, -2, -1, 0], adjustData=True, toCurrency='USD', restated=False)
library(mdo.data) day <- DateRange(startDate = '2010-01-31', endDate = RecentDay(), periodType = 'month') universe <- ConstituentUniverse("DS_CONST__DJS180E", days = day) PlugData(universe = universe, items = c("DS_CLOSE", "DS_SHARES", "DS_SEC_NAME", "DS_REGION"), adjustData = T, toCurrency = T, recent = T, units = 'E') FundamentalData(universe, items = c("WS_18193_Q", "IB_ACT_EPS_VALUE_Q", "RKD_SDAI_Q"), period = -3:0, adjustData = T, toCurrency = 'USD', restated = F)
MDO Maintains The Software
Regular enhancements, performance improvements, and bug fixes are passed on to the client via a monthly release cycle.
Vendor Data Nuances
Users do not need to spend time dealing with nuances of each vendor.
A “short list” of common issues we solve for:
- Securities that change currency throughout time
- Securities that change fiscal periods throughout time
- Some currencies scaled in billions while others scaled in millions for the same vendor
- ‘Parent’ vs. ‘Consolidated’ values – which to use?
- Differentiating between restated and unrestated data
- Differentiating between preliminary and final data
- Returning data in a common currency
- Properly uncumulating cash flow data
- Converting currency values to a single scale (e.g. all in pounds in UK)
- Adding appropriate start and end dates for historical time series mapping
Whether you use Python or R (or both), you can use these intuitive common methods to acccess data. We offer fast and efficient data retrieval for pricing, fundamental, and estimates data, as well as your own custom data.
Contact us today at email@example.com for a product demo.