Here are representative usage examples of EODML. Please email us (info@undocumentedmatlab.com) if you have any questions.
The following examples are listed below:
- Get market data (delayed snapshot)
- Get historic/intra-day data
- Get fundamental data
- Get historic and upcoming earning events
- Get historic and upcoming split events
- Get historic and upcoming dividend events
- Get historic IPO events
- Get historic technical indicators
- Get historic short interests
- Search for a symbol across all exchanges
- Search for all symbols in an exchange
- Get an options chain
- Get EODML version and query limits
0) General usage
The general format of EODML queries is:
>> [data, errMsg, limits] = EODML(action, parameter1Name,parameter1Value, parameter2Name,parameter2Value, ...); |
where:
data
– the returned data (usually from from EODHistoricalData’s servers)errMsg
– error message (if any)limits
– the updated query limits. These can be used to ensure you do not surpass your license’s allowed limitsaction
– a string that specifies the query type. One of: ‘license’, ‘limits’, ‘version’, ‘update’, ‘revert’, ‘doc’, ‘prices’, ‘fundamentals’, ‘technicals’, ‘options’, ‘dividends’, ‘splits’, ‘earnings’, ‘shorts’, ‘ipo’, ‘lookup’parameterName
– a case-insensitive string that specifies the parameter name. Each query action has its own set of acceptable parameter names.
In your very first EODML command, you need to specify the API token that you received from EODHistoricalData.com, via the 'API_Token'
parameter (you can get a free token here). EODML will reuse this token in all subsequent commands, so you only need to specify it once (or when you change your token key). For example:
>> data = EODML('prices', ..., 'API_Token','123456.abcdef'); % '123456.abcdef' is a dummy (invalid) token, use your own personal token |
Note: all parameter names are case in-sensitive. i.e., you can use ‘API_Token’ or ‘API_TOKEN’ or ‘api_token’ as you wish.
API_Token
– string; no default. This is the API token that is provided by EODHistoricalData.com (you can get a free token here)Timeout
– numeric; default=5. Max number of seconds to wait for EOD’s responseSymbol
orSymbols
– string or cell-array of strings, e.g., ‘IBM’ or ‘IBM,GOOG’ or {‘IBM’,’GOOG’}UseParallel
– logical true/false; default=false (only available in Analyst/Pro licenses, for multiple symbols)RaiseErrorMsgs
– logical true/false; default=false. If false and the errMsg output arg is requested, then errMsg is updated upon error rather than raise an errorOrder
– string; default=’asc’; either ‘asc’ or ‘desc’. Affects the order of returned data array(s), where relevant
1) Get market data (delayed snapshot)
>> data = EODML('prices', 'symbol','IBM', 'datatype','live') data = struct with fields: symbol: 'IBM.US' timestamp: 1577204520 gmtoffset: 0 open: 135.61 high: 135.62 low: 134.61 close: 134.7425 volume: 593912 previousClose: 135.55 change: -0.808 change_p: -0.596 datestr_GMT: '24-Dec-2019 16:22:00' datenum_GMT: 737783.681944444 |
Available parameters that affect this query (in addition to the standard general parameters):
DataType
– string; must be ‘live’ to get the current (delayed) market snapshotSecType
– string; default=’equity’; one of ‘equity’,’index’,’bond’Filter
– string; default=”; coma-delimited fields e.g. ‘close,change,volume’
2) Get historic/intra-day data
>> data = EODML('prices', 'symbol','IBM', 'FromDate',20191203, 'ToDate','2019/12/13', 'DataType','day') data = 9×1 struct array with fields: symbol date datenum open high low close adjusted_close volume >> data(1) ans = struct with fields: symbol: 'IBM.US' date: '2019-12-03' datenum: 737762 open: 132 high: 132.44 low: 130.69 close: 132.12 adjusted_close: 132.12 volume: 3642500 |
Available parameters that affect this query (in addition to the standard general parameters):
DataType
– string; default=’day’; one of ‘intraday’,’day’,’week’,’month’,’bulk’ (bulk only available in the Pro license)SecType
– string; default=’equity’; one of ‘equity’,’index’,’bond’FromDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’, 201912031535, ‘2019/12/03 15:35’ToDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’, 201912031535, ‘2019/12/03 15:35’Filter
– string; default=”; coma-delimited fields e.g. ‘close,change,volume’Interval
– string; default=’5m’; one of ‘5m’,’1m’,’1hr’; only relevant whenDataType
=’intraday’Exchange
– string; default=’US’; exchange name (e.g. ‘NYSE’,’NASDAQ’ etc.), only relevant whenDataType
=’bulk’ (Pro license)
3) Get fundamental data
% Fundamental data for an equity: >> data = EODML('fundamental', 'symbol','IBM') data = struct with fields: symbol: 'IBM.US' General: [1×1 struct] Highlights: [1×1 struct] Valuation: [1×1 struct] SharesStats: [1×1 struct] Technicals: [1×1 struct] SplitsDividends: [1×1 struct] ESGScores: [1×1 struct] outstandingShares: [1×1 struct] Earnings: [1×1 struct] Financials: [1×1 struct] >> data.General ans = struct with fields: Code: 'IBM' Type: 'Common Stock' Name: 'International Business Machines Corporation' Exchange: 'NYSE' CurrencyCode: 'USD' CurrencyName: 'US Dollar' CurrencySymbol: '$' CountryName: 'USA' CountryISO: 'US' ISIN: 'US4592001014' CUSIP: '459200101' CIK: 51143 EmployerIdNumber: '13-0871985' FiscalYearEnd: 'December' IPODate: [] InternationalDomestic: 'International/Domestic' Sector: 'Technology' Industry: 'Information Technology Services' GicSector: 'Information Technology' GicGroup: 'Software & Services' GicIndustry: 'IT Services' GicSubIndustry: 'IT Consulting & Other Services' Description: 'International Business Machines Corporation operates as an integrated technology and services company worldwide...' Address: '1 New Orchard Road↵10504,Armonk,USA↵' Phone: '914-499-1900' WebURL: 'www.ibm.com' LogoURL: 'https://eodhistoricaldata.com/img/logos/US/IBM.png' FullTimeEmployees: 350600 UpdatedAt: '2019-12-24' >> data.Highlights ans = struct with fields: MarketCapitalization: 120048099328 MarketCapitalizationMln: 120048.0993 EBITDA: 16664000512 PERatio: 15.7525 PEGRatio: 4.92 WallStreetTargetPrice: 148.3 BookValue: 20.275 DividendShare: 6.48 DividendYield: 0.0478 EarningsShare: 8.605 EPSEstimateCurrentYear: 12.8 EPSEstimateNextYear: [] EPSEstimateNextQuarter: 2.17 EPSEstimateCurrentQuarter: [] MostRecentQuarter: '2019-09-30' ProfitMargin: 0.1 OperatingMarginTTM: 0.1445 ReturnOnAssetsTTM: 0.0513 ReturnOnEquityTTM: 0.4061 RevenueTTM: 77130997760 RevenuePerShareTTM: 86.587 QuarterlyRevenueGrowthYOY: -0.039 GrossProfitTTM: 36936000000 DilutedEpsTTM: 8.605 QuarterlyEarningsGrowthYOY: -0.365 % Fundamental data for a bond (note that we can search by CUSIP or ISIN in the Symbol parameter): >> data = EODML('fundamental', 'symbol','910047AG4', 'sectype','bond') data = struct with fields: symbol: '910047AG4' ISIN: 'US910047AG49' CUSIP: '910047AG4' Name: 'UNITED AIRLS HLDGS INC 6% 01Dec2020' UpdateDate: '2019-11-27' WKN: 'A1HS3T' Sedol: 'BFV4Y03' FIGI: 'BBG005J8GHT4' Currency: 'USD' Coupon: 6 Price: 103.03 LastTradeDate: '2019-11-27' Maturity_Date: '2020-11-30' YieldToMaturity: 2.833 Callable: 'No' NextCallDate: [] MinimumSettlementAmount: '1000 USD' ParIntegralMultiple: '1000 USD' ClassificationData: [1×1 struct] Rating: [1×1 struct] IssueData: [1×1 struct] >> data.ClassificationData ans = struct with fields: BondType: 'Unternehmensanleihen Welt Rest' DebtType: 'Senior Unsecured Note' IndustryGroup: 'Industrial' IndustrySubGroup: 'Transportation' SubProductAsset: 'CORP' SubProductAssetType: 'Corporate Bond' >> data.Rating ans = struct with fields: MoodyRating: 'Ba3' MoodyRatingUpdateDate: '2019-11-27' SPRating: 'BB' SPRatingUpdateDate: '2018-04-16' >> data.IssueData ans = struct with fields: IssueDate: '2013-11-08' OfferingDate: '2013-11-01' FirstCouponDate: '2014-06-01' FirstTradingDay: '2013-11-08' CouponPaymentFrequency: [] Issuer: 'United Airlines Holdings Inc.' IssuerDescription: 'United Continental Holdings Inc. is an airline holding company. The Company owns and operates airlines that transports persons, property and mail throughout the United States and abroad.' IssuerCountry: 'USA' IssuerURL: [] |
Available parameters that affect this query (in addition to the standard general parameters):
DataType
– string; default=’standard’; one of ‘standard’,’insiderTrading’,’marketCap’,’bulk’ (bulk only available in the Pro license)SecType
– string; default=’equity’; one of ‘equity’,’index’,’bond’FromDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’, 201912031535, ‘2019/12/03 15:35’ToDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’, 201912031535, ‘2019/12/03 15:35’Filter
– string; default=”; coma-delimited groups/fields e.g. ‘General,Financials::Balance_Sheet::yearly’Exchange
– string; default=’US’; exchange name (e.g. ‘NYSE’,’NASDAQ’ etc.), only relevant whenDataType
=’bulk’ (Pro license)
4) Get historic and upcoming earning events
% Historic earning reports (requested on Dec. 24, 2019): >> data = EODML('earnings', 'symbol','IBM', 'fromdate',20190101) data = 4×1 struct array with fields: symbol report_date date datenum actual estimate difference percent >> data(end) ans = struct with fields: symbol: 'IBM.US' report_date: '2019-10-16' date: '2019-09-30' datenum: 737698 actual: 2.68 estimate: 2.67 difference: 0.01 percent: 0.37 % Upcoming earning reports (requested on Dec. 24, 2019): >> data = EODML('earnings', 'symbol','IBM') data = [] >> data = EODML('earnings', 'symbol','JOB.US') data = struct with fields: symbol: 'JOB.US' report_date: '2019-12-30' date: '2019-12-30' datenum: 737789 actual: [] estimate: -0.2 difference: 0 percent: [] % All upcoming (announced) earnings reports: >> data = EODML('earn') data = 38×1 struct array with fields: symbol report_date date datenum actual estimate difference percent >> struct2table(data) ans = 38×8 table symbol report_date date datenum actual estimate difference percent __________ ____________ ____________ _______ ____________ ____________ __________ ____________ '3174.TSE' '2019-12-24' '2019-12-24' 737783 {0×0 double} {0×0 double} 0 {0×0 double} '6196.TSE' '2019-12-24' '2019-12-24' 737783 {0×0 double} {0×0 double} 0 {0×0 double} 'HURC.US' '2019-12-24' '2019-12-24' 737783 {0×0 double} {0×0 double} 0 {0×0 double} 'JRJC.US' '2019-12-24' '2019-12-24' 737783 {0×0 double} {0×0 double} 0 {0×0 double} 'MLR.V' '2019-12-24' '2019-12-24' 737783 {0×0 double} {0×0 double} 0 {0×0 double} 'ROYT.US' '2019-12-24' '2019-12-24' 737783 {0×0 double} {[ 0.05]} 0 {0×0 double} ... |
Available parameters that affect this query (in addition to the standard general parameters):
DataType
– string; default=’standard’; either ‘standard’ or ‘trends’FromDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ToDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’
5) Get historic and upcoming split events
% 2 splits for AAPL since 1/1/2000: >> data = EODML('splits', 'symbol','AAPL', 'fromdate',20010101) data = 2×1 struct array with fields: symbol date datenum split split_ratio >> struct2table(data) ans = 2×5 table symbol date datenum split split_ratio _________ ____________ _______ ___________________ ___________ 'AAPL.US' '2005-02-28' 732371 '2.000000/1.000000' 2 'AAPL.US' '2014-06-09' 735759 '7.000000/1.000000' 7 % No splits for IBM since 1/1/2000: >> data = EODML('splits', 'symbol','IBM', 'fromdate',20100101) data = [] % Upcoming (future) splits: >> data = EODML('splits') data = 60×1 struct array with fields: symbol split_date split_datenum optionable old_shares new_shares split_ratio >> struct2table(data) ans = 60×7 table symbol split_date split_datenum optionable old_shares new_shares split_ratio ________________ ____________ _____________ __________ __________ __________ ___________________ '5DP.SG' '2019-12-24' 737783 'N' 2 3 1.5 'DCTH.US' '2019-12-24' 737783 'N' 700 1 0.00142857142857143 'LZRFY.US' '2019-12-24' 737783 'N' 100 105 1.05 'QKL.F' '2019-12-24' 737783 'N' 14 1 0.0714285714285714 'QKL.STU' '2019-12-24' 737783 'N' 14 1 0.0714285714285714 'QUIK.US' '2019-12-24' 737783 'N' 14 1 0.0714285714285714 'BALMLAWRIE.NSE' '2019-12-26' 737785 'N' 2 3 1.5 '000100.KO' '2019-12-27' 737786 'N' 1 1 1 ... |
Available parameters that affect this query (in addition to the standard general parameters):
DataType
– string; default=’standard’; either ‘standard’ or ‘bulk’ (bulk in Pro license only)FromDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ToDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’Exchange
– string; default=’US’; exchange name (e.g. ‘NYSE’,’NASDAQ’ etc.), only relevant whenDataType
=’bulk’ (Pro license)
6) Get historic and upcoming dividend events
% Historic dividend events: >> data = EODML('dividend', 'symbol','IBM', 'fromdate',20190101) data = 4×1 struct array with fields: symbol date datenum declarationDate recordDate paymentDate value >> struct2table(data) ans = 4×7 table symbol date datenum declarationDate recordDate paymentDate value ________ ____________ _______ _______________ ____________ ____________ _____ 'IBM.US' '2019-02-07' 737463 '2019-01-29' '2019-02-08' '2019-03-09' 1.57 'IBM.US' '2019-05-09' 737554 '2019-04-30' '2019-05-10' '2019-06-10' 1.62 'IBM.US' '2019-08-08' 737645 '2019-07-30' '2019-08-09' '2019-09-10' 1.62 'IBM.US' '2019-11-07' 737736 '2019-10-29' '2019-11-08' '2019-12-10' 1.62 >> data(1) ans = struct with fields: symbol: 'IBM.US' date: '2019-02-07' datenum: 737463 declarationDate: '2019-01-29' recordDate: '2019-02-08' paymentDate: '2019-03-09' value: 1.57 % Upcoming (future) dividend events: >> data = EODML('dividend', 'symbol','IBM') data = 199×1 struct array with fields: symbol date datenum declarationDate recordDate paymentDate value >> data(1) ans = struct with fields: symbol: 'IBM.US' date: '1970-05-01' datenum: 719649 declarationDate: [] recordDate: [] paymentDate: [] value: 0.06 |
Available parameters that affect this query (in addition to the standard general parameters):
DataType
– string; default=’standard’; either ‘standard’ or ‘bulk’ (bulk in Pro license only)FromDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ToDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’Exchange
– string; default=’US’; exchange name (e.g. ‘NYSE’,’NASDAQ’ etc.), only relevant whenDataType
=’bulk’ (Pro license)
7) Get historic IPO events
% Historic IPO events: >> data = EODML('IPO', 'fromdate',20191201) data = 132×1 struct array with fields: symbol name exchange currency start_date filing_date amended_date price_from price_to offer_price shares deal_type >> struct2table(data) ans = 132×12 table symbol name exchange currency start_date filing_date amended_date price_from price_to offer_price shares deal_type _________ _____________________ ______________ ________ ____________ ____________ ____________ __________ ________ ___________ ________ __________ 'AMX.AU' 'Aerometrex Ltd' 'ASX' 'AUD' '2019-12-10' '2019-11-01' '2019-11-01' 0 0 1 25000000 'Priced' 'N/A' 'Air Baltic Corp AS' 'Riga' 'EUR' {0×0 double} '2018-07-25' '2019-12-09' 0 0 0 0 'Amended' 'N/A' 'Akeso Inc' 'HKSE' 'USD' {0×0 double} '2019-12-03' {0×0 double} 0 0 0 0 'Filed' '9966.HK' 'Alphamab Oncology' 'HKSE' 'HKD' '2019-12-05' '2018-10-23' '2019-12-02' 0 0 0 0 'Expected' '9966.HK' 'Alphamab Oncology' 'HKSE' 'HKD' {0×0 double} '2018-10-23' '2019-12-02' 0 0 10.2 89701000 'Amended' '9966.HK' 'Alphamab Oncology' 'HKSE' 'HKD' {0×0 double} '2018-10-23' '2019-12-02' 0 0 10.2 89702000 'Amended' '9966.HK' 'Alphamab Oncology' 'HKSE' 'HKD' '2019-12-05' '2018-10-23' '2019-12-02' 0 0 0 0 'Expected' 'NA.CN' 'Altum Resource Corp' 'Canadian Sec' 'CAD' {0×0 double} '2019-12-12' {0×0 double} 0.0759 0.0759 0 3500000 'Filed' ... |
Available parameters that affect this query (in addition to the standard general parameters):
FromDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ToDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’
8) Get historic technical indicators
>> data = EODML('technical', 'symbol','IBM', 'fromdate',20190701, 'period',40, 'function','rsi') data = 83×1 struct array with fields: symbol date datenum rsi >> data(1) ans = struct with fields: symbol: 'IBM.US' date: '2019-08-27' datenum: 737664 rsi: 42.92 >> struct2table(data) ans = 83×4 table symbol date datenum rsi ________ ____________ _______ ______ 'IBM.US' '2019-08-27' 737664 42.92 'IBM.US' '2019-08-28' 737665 44.394 'IBM.US' '2019-08-29' 737666 46.291 'IBM.US' '2019-08-30' 737667 46.861 'IBM.US' '2019-09-03' 737671 45.765 'IBM.US' '2019-09-04' 737672 47.712 'IBM.US' '2019-09-05' 737673 51.457 'IBM.US' '2019-09-06' 737674 51.134 'IBM.US' '2019-09-09' 737677 52.68 'IBM.US' '2019-09-10' 737678 54.464 ... |
Available parameters that affect this query (in addition to the standard general parameters):
FromDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ToDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’Function
– string; default=’SMA’; one of ‘SMA’,’EMA’,’WMA’,’RSI’,’StdDev’,’AvgVol’,’AvgVolCcy’,’Volatility’,’SplitAdjusted’,’AvgVolCcy’,’Stochastic’,’StochRSI’,’Slope’,’DMI’,’ADX’,’MACD’,’ATR’,’CCI’,’SAR’,’BBands’Period
– number; default=50; number of data points used to calculate the function (2-100k)FastPeriod
– number; default=12; used by MACDSlowPeriod
– number; default=26; used by MACDSignalPeriod
– number; default=9; used by MACDFastKPeriod
– number; default=14; used by Stochastic, StochRSIFastDPeriod
– number; default=14; used by StochRSISlowKPeriod
– number; default=3; used by StochasticSlowDPeriod
– number; default=3; used by StochasticAGGPeriod
– string; default=’day’; one of ‘day’,’week’,’month’; used by SplitAdjusted functionAdjustDividends
– logical; default=true; if false, close prices are only adjusted for splits, not dividends
9) Get historic short interests
% Historic short interests for AAPL (note the 'desc' order) >> data = EODML('shorts', 'symbol','AAPL', 'fromdate',20190101, 'todate',20191231, 'order','desc') data = 17×1 struct array with fields: symbol date datenum short volume >> data(1) ans = struct with fields: symbol: 'AAPL.US' date: '2019-09-13' datenum: 737681 short: 42651634 volume: 28651684 >> struct2table(data) ans = 17×5 table symbol date datenum short volume _________ ____________ _______ ________ ________ 'AAPL.US' '2019-09-13' 737681 42651634 28651684 'AAPL.US' '2019-08-30' 737667 39517330 25536624 'AAPL.US' '2019-08-15' 737652 45594258 36615393 'AAPL.US' '2019-07-31' 737637 43005960 23525795 'AAPL.US' '2019-07-15' 737621 42428971 19134090 'AAPL.US' '2019-06-28' 737604 43448528 24985287 'AAPL.US' '2019-06-14' 737590 47003511 26629536 'AAPL.US' '2019-05-31' 737576 51257104 29778281 'AAPL.US' '2019-05-15' 737560 49550348 37444374 'AAPL.US' '2019-04-30' 737545 52669476 24561618 'AAPL.US' '2019-04-15' 737530 61003851 23755423 'AAPL.US' '2019-03-29' 737513 67786010 35017255 'AAPL.US' '2019-03-15' 737499 72751656 27347457 'AAPL.US' '2019-02-28' 737484 96832513 22065273 'AAPL.US' '2019-02-15' 737471 39903215 26937971 'AAPL.US' '2019-01-31' 737456 40360782 34248007 'AAPL.US' '2019-01-15' 737440 46579709 45191034 |
Available parameters that affect this query (in addition to the standard general parameters):
FromDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ToDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’
10) Search for a symbol across all exchanges
>> data = EODML('lookup', 'symbol','IBM') data = 18×1 struct array with fields: symbol Exchange Name Country Currency ISIN >> struct2table(data) ans = 18×6 table symbol Exchange Name Country Currency ISIN ______ ________ _____________________________________________ _________ ________ ______________ 'IBM' 'US' 'International Business Machines Corporation' 'USA' 'USD' 'US4592001014' 'IBM' 'XETRA' 'International Business Machines Corporation' 'Germany' 'EUR' {0×0 double} 'IBM' 'MX' 'International Business Machines Corporation' 'Mexico' 'MXN' {0×0 double} 'IBM' 'F' 'International Business Machines Corporation' 'Germany' 'EUR' {0×0 double} 'IBM' 'STU' 'IBM (IBM.SG)' 'Germany' 'EUR' {0×0 double} 'IBM' 'MU' 'IBM' 'Germany' 'EUR' {0×0 double} 'IBM' 'HM' 'IBM' 'Germany' 'EUR' {0×0 double} 'IBM' 'BE' 'IBM' 'Germany' 'EUR' {0×0 double} 'IBM' 'DU' 'IBM - Dusseldorf Stock Exchang' 'Germany' 'EUR' {0×0 double} 'IBMK' 'US' 'iShares iBonds Dec 2022 Term Muni Bond ETF' 'USA' 'USD' 'US46435G7557' 'IBMI' 'US' 'iShares iBonds Sep 2020 Term Muni Bond ETF' 'USA' 'USD' 'US46434V5710' 'IBMJ' 'US' 'iShares iBonds Dec 2021 Term Muni Bond ETF' 'USA' 'USD' 'US46435G7896' 'IBML' 'US' 'iShares iBonds Dec 2023 Term Muni Bond ETF' 'USA' 'USD' 'US46435G3184' 'IBMM' 'US' 'iShares iBonds Dec 2024 Term Muni Bond ETF' 'USA' 'USD' {0×0 double} 'IBMN' 'US' 'iShares iBonds Dec 2025 Term Muni Bond ETF' 'USA' 'USD' {0×0 double} 'IBMO' 'US' 'iShares iBonds Dec 2026 Term Muni Bond ETF' 'USA' 'USD' {0×0 double} 'IBMP' 'US' 'iShares iBonds Dec 2027 Term Muni Bond ETF' 'USA' 'USD' {0×0 double} 'IBMQ' 'US' 'iShares iBonds Dec 2028 Term Muni Bond ETF' 'USA' 'USD' {0×0 double} |
Available parameters that affect this query (in addition to the standard general parameters):
DataType
– string; must be ‘symbol’ for this query type
11) Search for all symbols in an exchange
>> data = EODML('lookup', 'symbol','LSE', 'dataType','exchange') data = 3444×1 struct array with fields: symbol Name Country Exchange Currency Type >> head(struct2table(data)) ans = 8×6 table symbol Name Country Exchange Currency Type ______ _________________________________________________________________________________ _______ ________ ________ ______________ '0KBI' 'Knorr-Bremse Aktiengesellschaft' 'UK' 'LSE' 'EUR' 'Common Stock' '100H' 'MULTI-UNITS LUXEMBOURG - Lyxor FTSE 100 UCITS ETF - Monthly Hedged to USD - Acc' 'UK' 'LSE' 'USD' 'ETF' '1MCS' 'WisdomTree FTSE 250 1x Daily Short' 'UK' 'LSE' 'GBX' 'ETF' '1PAS' 'WisdomTree Palladium 1x Daily Short' 'UK' 'LSE' 'USD' 'ETF' '2MCL' 'WisdomTree FTSE 250 2x Daily Leveraged' 'UK' 'LSE' 'GBX' 'ETF' '2PAL' 'WisdomTree Palladium 2x Daily Leveraged' 'UK' 'LSE' 'USD' 'ETF' '2UKL' 'WisdomTree FTSE 100 2x Daily Leveraged' 'UK' 'LSE' 'GBX' 'ETF' '2UKS' 'WisdomTree FTSE 100 2x Daily Short' 'UK' 'LSE' 'GBX' 'ETF' |
Available parameters that affect this query (in addition to the standard general parameters):
DataType
– string; must be ‘exchange’ for this query type
12) Get an options chain
>> data = EODML('options', 'symbol','IBM') data = struct with fields: symbol: 'IBM.US' code: 'IBM' exchange: 'US' data: [15×1 struct] >> data.data(1) ans = struct with fields: expirationDate: '2019-12-27' expirationDatenum: 737786 puts: [39×1 struct] calls: [39×1 struct] >> struct2table(data.data) ans = 15×4 table expirationDate expirationDatenum puts calls ______________ _________________ _____________ _____________ {'2019-12-27'} 737786 {39×1 struct} {39×1 struct} {'2020-01-03'} 737793 {38×1 struct} {38×1 struct} {'2020-01-10'} 737800 {35×1 struct} {35×1 struct} {'2020-01-17'} 737807 {55×1 struct} {55×1 struct} ... >> data.data(1).puts(6) ans = struct with fields: contractName: 'IBM191227P00120000' contractSize: 'REGULAR' currency: 'USD' type: 'PUT' inTheMoney: 'FALSE' lastTradeDateTime: '2019-12-23 10:01:34' expirationDate: '2019-12-27' expirationDatenum: 737786 strike: 120 lastPrice: 0.01 bid: [] ask: 0.03 change: -0.21 changePercent: -0.9545 volume: 2 openInterest: 3 impliedVolatility: 45.512 delta: -0.0048 gamma: 0.0022 theta: -0.0113 vega: 0.002 rho: -0.0001 theoretical: 0.01 intrinsicValue: 0 timeValue: 0 updatedAt: '2019-12-23 19:32:03' >> struct2table(data.data(1).puts) ans = 39×26 table ... |
Available parameters that affect this query (in addition to the standard general parameters):
FromExpiryDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ToExpiryDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’FromTradeDate
– integer or string; default=[]; earliest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ToTradeDate
– integer or string; default=[]; latest data date (GMT timezone). Examples: 20191203, ‘2019-12-03’ContractName
– string; default=”; query only the specified contract e.g. ‘AAPL180420P00002500’
13) Get EODML version and query limits
>> data = EODML('version') data = struct with fields: Version: 1.03 Release: '24-Dec-2019' License: 'Free' Expiry: '08-Aug-2020' >> limits = EODML('limits') limits = struct with fields: licenseType: 'Free' numQueriesToday: 27 numQueriesThisMin: 0 maxQueriesPerDay: 30 maxQueriesPerMin: 3 |
Legal disclaimer
THIS SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, LOSS OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(detailed disclaimer is available in EODML’s License Agreement)