-
Notifications
You must be signed in to change notification settings - Fork 2
/
EODML.m
94 lines (94 loc) · 6.4 KB
/
EODML.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
function [data, errMsg] = EODML(action, parameters, varargin) %#ok
%EODML - Get historic or real-time market data from eodhistoricaldata.com
%
% Syntax: [data, errMsg] = EODML(action, paramName1,paramValue1, paramName2,paramValue2, ...)
%
% Inputs:
%
% action (String) - one of: license,limits,version,update,revert,doc,prices,fundamentals,technicals,options,dividends,splits,earnings,shorts,ipo,lookup
%
% parameters - Matlab struct or XLS filename or parameter name/value pairs with the following optional parameters:
%
% General:
% API_Token (String) default=''; provided to you by eodhistoricaldata.com
% Timeout (Number) default=5; max # of seconds to wait for a query response (0=infinite)
% UseParallel (Logical) default=0 or false; if true or 1, the query will be parallelized (Analyst/Pro license only)
% Debug (Logical) default=0 or false; if true or 1, extra data will be displayed in Matlab console
% RaiseErrorMsgs (Logical) default=1 or true; if false or 0, errors set the errMsg output arg, rather than raise an error
% Order (String) default='asc'; either 'asc' or 'desc'
%
% Prices:
% DataType (String) default='day'; one of 'day','week','month','live','intraday','bulk' (bulk in Pro license only)
% Symbols (String :-delimited or cell-array) default=''; e.g., 'IBM' or 'IBM:GOOG' or {'IBM','GOOG'}
% SecType (String) default='equity'; one of 'equity','index','bond'
% FromDate (Integer or String) default=[]; earliest data date
% ToDate (Integer or String) default=[]; latest data date
% Interval (String) default='5m'; one of '5m','1m','1hr'; only relevant when DataType='intraday'
% Exchange (String) default='US'; only relevant when DataType=bulk (Pro license only)
% Filter (String) default=''; coma-delimited fields e.g. 'close,change,volume'
%
% Fundamentals:
% DataType (String) default='standard'; one of 'standard','insiderTrading','marketCap','bulk' (bulk in Pro license)
% Symbols (String :-delimited or cell-array) default=''; e.g., 'IBM' or 'IBM:GOOG' or {'IBM','GOOG'}
% SecType (String) default='equity'; one of 'equity','index','bond'
% FromDate (Integer or String) default=[]; earliest data date
% ToDate (Integer or String) default=[]; latest data date
% Exchange (String) default='US'; only relevant when DataType=bulk (Pro license only)
% Filter (String) default=''; coma-delimited groups/fields e.g. 'General,Financials::Balance_Sheet::yearly'
%
% Splits, Dividends:
% DataType (String) default='standard'; either 'standard' or 'bulk' (bulk in Pro license only)
% Symbols (String :-delimited or cell-array) default=''; e.g., 'IBM' or 'IBM:GOOG' or {'IBM','GOOG'} (unused in bulk)
% FromDate (Integer or String) default=[]; earliest data date
% ToDate (Integer or String) default=[]; latest data date (unused when DataType=bulk)
% Exchange (String) default='US'; only relevant when DataType=bulk (Pro license only)
%
% Earnings, Shorts:
% DataType (String) default='standard'; either 'standard' or 'trends' (trends is only relevant to earnings)
% Symbols (String :-delimited or cell-array) default=''; e.g., 'IBM' or 'IBM:GOOG' or {'IBM','GOOG'}
% FromDate (Integer or String) default=[]; earliest data date
% ToDate (Integer or String) default=[]; latest data date
%
% Technicals:
% Symbols (String :-delimited or cell-array) default=''; e.g., 'IBM' or 'IBM:GOOG' or {'IBM','GOOG'}
% FromDate (Integer or String) default=[]; earliest data date
% ToDate (Integer or String) default=[]; latest data date
% 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 MACD
% SlowPeriod (Number) default=26; used by MACD
% SignalPeriod (Number) default=9; used by MACD
% FastKPeriod (Number) default=14; used by Stochastic, StochRSI
% FastDPeriod (Number) default=14; used by StochRSI
% SlowKPeriod (Number) default=3; used by Stochastic
% SlowDPeriod (Number) default=3; used by Stochastic
% AGGPeriod (String) default='day'; one of 'day','week','month'; used by SplitAdjusted function
% AdjustDividends (Logical) default=1 or true; if false or 0, close prices are only adjusted for splits, not dividends
%
% Options:
% Symbols (String :-delimited or cell-array) default=''; e.g., 'IBM' or 'IBM:GOOG' or {'IBM','GOOG'}
% FromExpiryDate (Integer or String) default=[]; earliest data date
% ToExpiryDate (Integer or String) default=[]; latest data date
% FromTradeDate (Integer or String) default=[]; earliest data date
% ToTradeDate (Integer or String) default=[]; latest data date
% ContractName (String) default=''; query only the specified contract e.g. 'AAPL180420P00002500'
%
% IPO:
% FromDate (Integer or String) default=[]; earliest data date
% ToDate (Integer or String) default=[]; latest data date
%
% Lookup:
% Symbol (String) default=''; e.g., 'IBM'
% DataType (String) default='symbol'; either 'symbol' or 'exchange'
%
% 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 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.
%
% Copyright (c) Yair Altman, Octahedron Ltd. (info @ undocumentedmatlab.com)
%
% EODML webpage: https://UndocumentedMatlab.com/EODML
% EOD webpage: https://eodhistoricaldata.com/r/?ref=OX6LJ2BE