Skip to content

Commit 61059c2

Browse files
committed
Version 2.31 (2019-12-12)
- [*.*] Fixed incompatibility with Matlab releases R2009a or older - [4.2] Fixed bug in parsing of reported date fields - [4.5] Added UseImpliedVolatility optional Greeks parameter
1 parent 0d73088 commit 61059c2

File tree

5 files changed

+79
-53
lines changed

5 files changed

+79
-53
lines changed

IQML.m

Lines changed: 49 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@
55
%
66
% Inputs:
77
%
8-
% action (String) - one of: license,version,update,revert,doc,quotes,intervalbars,fundamental,greeks,news,history,summary,lookup,alert,chain,disconnect,reconnect,time,stats,command,log,marketdepth,regional
8+
% action (String) - one of: license,version,update,revert,doc,quotes,intervalbars,fundamental,greeks,news,history,summary,lookup,alert,chain,disconnect,reconnect,time,stats,command,log,marketdepth,regional,registry
99
%
1010
% parameters - Matlab struct or XLS filename or parameter name/value pairs with the following optional parameters:
1111
%
1212
% Connection:
1313
% Username (String) the login ID for connecting to IQFeed via the client
1414
% Password (String) the password for connecting to IQFeed via the client
15+
% Protocol (Number) default=latest; the IQFeed API protocol number to be used
1516
%
1617
% Message processing (also see Logging section below):
1718
% Timeout (Number) default=5; max # of seconds to wait for a response to a blocking query (0=infinite)
1819
% Debug (Logical) default=0 or false; if true or 1, extra data will be displayed in Matlab console
19-
% AddPortStats (Logical) default=0 or false; if true or 1, extra port stats are streamed and returned when Action=stats
20+
% AddPortStats (Logical) default=0 or false; if true or 1, extra port stats are streamed and reported when Action=stats
2021
% MsgParsingLevel (Integer) default=2; amount of parsing for incoming IQFeed messages (0=minimal, 1=partial, 2=maximal)
2122
% ProcessFunc (function handle or struct) default=[]; if non-empty, this function is invoked upon every IQFeed message
2223
% RaiseErrorMsgs (Logical) default=1 or true; if true or 1, IQFeed error messages raise a Matlab error in blocking query
@@ -28,50 +29,58 @@
2829
% NumOfEvents (Integer) default=inf; max # of IQFeed messages to process in streaming (non-blocking) data mode
2930
% MaxItems (Integer) default=1; size of the reported buffer accumulating the latest streaming quotes/ticks
3031
% Fields (String or cell-array) list of data fields to be reported by IQFeed (default: 16 fields)
32+
% ClearBuffer (Logical) default=0 or false; if true or 1, internal cyclic quotes buffer is cleared when data is returned
3133
%
3234
% Interval bars:
3335
% Symbols (String :-delimited or cell-array) default=''; e.g., '@VX#' or 'IBM:GOOG' or {'IBM','GOOG'}
3436
% NumOfEvents (Integer) default=inf; max # of IQFeed messages to process in streaming (non-blocking) data mode
3537
% MaxItems (Integer) default=100; size of the reported buffer accumulating the latest streaming interval bars
36-
% IntervalSize (Integer) default=60; size of interval bars in specified or default units (seconds)
37-
% IntervalType (String) default='secs'; one of 'secs','volume','trades'
3838
% MaxDays (String) default=1; max number of days to be retrieved
39+
% IntervalType (String) default='secs'; one of 'secs','volume','trades'
40+
% IntervalSize (Integer) default=60; size of interval bars in specified or default units (seconds)
3941
% BeginFilterTime (String) default='00:00:00'; earliest bar time
4042
% EndFilterTime (String) default='23:59:59'; latest bar time
4143
% BeginDateTime (Integer or String) default=''; earliest bar date
4244
%
45+
% Market depth:
46+
% Symbols (String :-delimited or cell-array) default=''; e.g., '@VX#' or 'IBM:GOOG' or {'IBM','GOOG'}
47+
% NumOfEvents (Integer) default=inf; max # of IQFeed messages to process in streaming (non-blocking) data mode
48+
% IncludeEmptyQuotes (Logical) default=0 or false; if true or 1, Level 2 quotes with no Bid/Ask will also be reported
49+
%
50+
% Greeks:
51+
% Symbol (String) default=''; e.g., 'IBM1814L116'
52+
% UnderlyingSymbol (String) default=''; e.g., 'IBM'
53+
% Side (String) default=''; either 'Call' or 'Put'
54+
% HistoricVolatility (Number) default=-1; underlying asset's volatility (%)
55+
% UseImpliedVolatility (Logical) default=0 or false; if true or 1, the implied (not historic) volatility will be used to calculate Greeks
56+
% RiskFreeRate (Number) default=0; domestic risk-free rate (%)
57+
% DividendsYield (Number) default=0; underlying asset's dividends yield (%)
58+
% DaysToExpiration (Number) default=-1; days until the contract expires
59+
% AnnualFactor (Number) default=365; used to de-annualize Theta,Charm,Veta,Color
60+
%
61+
% Summary:
62+
% DataType (String) default='snapshot'; one of 'snapshot','fundamental','top'
63+
% Exchange (String) default='NYSE'; one of 'NYSE','NASDAQ','AMEX','CBOT',...
64+
% SecType (String) default='equity'; one of 'equity','bond','mutual fund',...
65+
% Date (Integer or String) default=now; end-of-day (or latest) data for this date (only!) will be fetched
66+
% ReportEmptyFields (Logical) default=0 or false; if true or 1, empty fields will be reported
67+
% Filter (String or cell-array) list of criteria to filter the returned data
68+
%
4369
% History:
4470
% DataType (String) default='day'; one of 'day','week','month','interval','ticks'
4571
% Symbol (String) default=''; e.g., '@VX#'
4672
% DataDirection (Integer) default=1; either 1 (oldest-to-newest, default) or -1 (newest-to-oldest)
4773
% MaxItems (Integer) default=100; returns up to the specified # of bars
4874
% BeginDate (Integer or String) default=[]; earliest bar date (only relevant if DataType=day/week/month)
4975
% EndDate (Integer or String) default=[]; latest bar date (only relevant if DataType=day)
50-
% IntervalSize (Integer) default=60; size of interval bars in seconds (only relevant if DataType=interval)
5176
% IntervalType (String) default='secs'; one of secs,volume,ticks (only relevant if DataType=interval)
77+
% IntervalSize (Integer) default=60; size of interval bars in seconds (only relevant if DataType=interval)
78+
% LabelAtBeginning(Logical) default=0 or false; if true or 1, 11:17:41 data is reported in '11:17' bar (otherwise: '11:18')
5279
% Days (Integer) default=1; # of calendar days to return, -1=all (only relevant if DataType=interval or ticks)
53-
% BeginDateTime (Integer or String) default=''; earliest bar date (only relevant if DataType=interval or ticks)
54-
% EndDateTime (Integer or String) default=''; latest bar date (only relevant if DataType=interval or ticks)
5580
% BeginFilterTime (String) default='00:00:00'; earliest bar time (only relevant if DataType=interval or ticks)
5681
% EndFilterTime (String) default='23:59:59'; latest bar time (only relevant if DataType=interval or ticks)
57-
%
58-
% Summary:
59-
% DataType (String) default='snapshot'; one of 'snapshot','fundamental','top'
60-
% SecType (String) default='equity'; one of 'equity','bond','mutual fund',...
61-
% Exchange (String) default='NYSE'; one of 'NYSE','NASDAQ','AMEX','CBOT',...
62-
% ReportEmptyFields (Logical) default=0 or false; if true or 1, empty fields will be reported
63-
% Filter (String or cell-array) list of criteria to filter the returned data
64-
% Date (Integer or String) default=now; end-of-day (or latest) data for this date (only!) will be fetched
65-
%
66-
% Greeks:
67-
% Symbol (String) default=''; e.g., 'IBM1814L116'
68-
% UnderlyingSymbol (String) default=''; e.g., 'IBM'
69-
% HistoricVolatility (Number) default=-1; underlying asset's volatility (%)
70-
% RiskFreeRate (Number) default=0; domestic risk-free rate (%)
71-
% DividendsYield (Number) default=0; underlying asset's dividends yield (%)
72-
% Side (String) default=''; either 'Call' or 'Put'
73-
% DaysToExpiration (Number) default=-1; days until the contract expires
74-
% AnnualFactor (Number) default=365; used to de-annualize Theta,Charm,Veta,Color
82+
% BeginDateTime (Integer or String) default=''; earliest bar date (only relevant if DataType=interval or ticks)
83+
% EndDateTime (Integer or String) default=''; latest bar date (only relevant if DataType=interval or ticks)
7584
%
7685
% News:
7786
% DataType (String) default='config'; one of 'config','headlines','story'
@@ -80,10 +89,10 @@
8089
% Date (Integer or String) default=[]; Date at which the news headline was published (or all dates, if empty)
8190
% NumOfEvents (Integer) default=inf; max # of headlines to process in streaming (non-blocking) data mode
8291
% MaxItems (Integer) default=inf; max # of headlines to be reported by IQFeed
92+
% GetStory (Logical) default=false; if true or 1, automatically fetch the full story text for each headline
8393
% ID (Integer) default=[]; news story ID
8494
% BeginDate (Integer or String) default=[]; earliest date at which the news items were published
8595
% EndDate (Integer or String) default=[]; latest date at which the news items were published
86-
% GetStory (Logical) default=false; if true or 1, automatically fetch the full story text for each headline
8796
%
8897
% Lookup:
8998
% DataType (String) default='symbols'; one of 'symbols','markets','sectypes','sic','naics','conditions'
@@ -94,19 +103,6 @@
94103
% Markets (Integers or Strings) default=[]; Limits results to those in the specified market (exchange) name(s) or code(s)
95104
% SecTypes (Integers or Strings) default=[]; Limits results to those with the specified security type(s)
96105
%
97-
% Alert:
98-
% Symbols (String :-delimited or cell-array) default=''; e.g., 'FB' or 'IBM:GOOG' or {'IBM','GOOG'}
99-
% Trigger (String) alert trigger condition; composed of data type, parameter, operator, value (e.g. 'quote bid > 7') (case insensitive)
100-
% AlertAction (String or function handle) default='display'; one of 'display','popup','email',function handle
101-
% NumOfEvents (Integer) default=1; max # of times to trigger the alert
102-
% AlertID (Numeric) the unique ID number assigned to each alert created, used for querying/editing/deleting existing alert
103-
% GetStory (Logical) default=true; if true or 1, automatically fetch the full story (not just headline) of news alerts when AlertAction='email'/callback
104-
% StartStream (Logical) default=false; if true or 1, automatically start data streaming
105-
% EmailRecipients (String :/,-delimited or cell-array of Strings); only relevant when AlertAction='email'
106-
% SmtpEmail (String) default='[email protected]'; sender address of email alerts. Only relevant if AlertAction='email'
107-
% SmtpServer (String) default='smtp.gmail.com'; sender SMTP server. Only relevant if AlertAction='email', SmtpEmail~=default
108-
% SmtpPassword (String) sender email password. Only relevant if AlertAction='email' and SmtpEmail~=default
109-
%
110106
% Chain:
111107
% Symbol (String) default=''; e.g., 'GOOG'
112108
% DataType (String) default='options'; one of 'options','futures','foptions','spreads'
@@ -121,9 +117,23 @@
121117
% NumInMoney (Integer) default=[]; only report this number of options in the money; only relevant if DataType='options'.
122118
% NumOutOfMoney (Integer) default=[]; only report this number of options out of money; only relevant if DataType='options'.
123119
%
120+
% Alert:
121+
% Symbols (String :-delimited or cell-array) default=''; e.g., 'FB' or 'IBM:GOOG' or {'IBM','GOOG'}
122+
% Trigger (String) alert trigger condition; composed of data type, parameter, operator, value (e.g. 'quote bid > 7') (case insensitive)
123+
% AlertAction (String or function handle) default='display'; one of 'display','popup','email',function handle
124+
% NumOfEvents (Integer) default=1; max # of times to trigger the alert
125+
% AlertID (Numeric) the unique ID number assigned to each alert created, used for querying/editing/deleting existing alert
126+
% GetStory (Logical) default=true; if true or 1, automatically fetch the full story (not just headline) of news alerts when AlertAction='email'/callback
127+
% StartStream (Logical) default=false; if true or 1, automatically start data streaming
128+
% EmailRecipients (String :/,-delimited or cell-array of Strings); only relevant when AlertAction='email'
129+
% SmtpEmail (String) default='[email protected]'; sender address of email alerts. Only relevant if AlertAction='email'
130+
% SmtpServer (String) default='smtp.gmail.com'; sender SMTP server. Only relevant if AlertAction='email', SmtpEmail~=default
131+
% SmtpPassword (String) sender email password. Only relevant if AlertAction='email' and SmtpEmail~=default
132+
%
124133
% Custom IQFeed command:
125134
% String (String) default=''; command to be sent to IQFeed
126135
% PortName (String) default='Level1'; one of 'Level1','Level2','Admin'
136+
% ProcessFunc (Function handle) custom user callback function to process incoming IQFeed data messages
127137
%
128138
% Logging:
129139
% Path (String) default=''; Path of folder containing the log file

IQML.p

1.52 KB
Binary file not shown.

IQML_User_Guide.pdf

15.7 KB
Binary file not shown.

changelog.log

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
1+
2.31 (2019-12-12)
2+
- [*.*] Fixed incompatibility with Matlab releases R2009a or older
3+
- [4.2] Fixed bug in parsing of reported date fields
4+
- [4.5] Added UseImpliedVolatility optional Greeks parameter
5+
6+
2.30 (2019-12-08)
7+
- [4.2] Improved processing speed of fundamental data queries
8+
- [4.5] Improved resiliency of Greeks query to data problems (e.g. missing data)
9+
- [5.*] Improved processing speed of historic data queries
10+
- [8.1] Improved processing speed of symbol lookup queries
11+
- [9.3] Fixed an edge-case problem with some client stats queries
12+
- [11.2] Added support for regional update alerts and for the 'contains' operator
13+
114
2.29 (2019-11-21)
215
- [2.2] Clarified activation error messages in deployed programs
316
- [2.2] Improved activation resiliency to temporary network hickups
417
- [2.2] Improved activation resiliency to MacOS-induced hostname changes
518
- [2.4] Skip version update check in deployed (compiled) environments
619
- [4.1] Improved processing speed of quotes queries with Fields parameter
7-
- [4.2] Added SIC, NAICS sector classification data in fundamental data queries
20+
- [4.2] Added SIC and NAICS sector classification data in fundamental data queries
821
- [9.1] Improved report of port conflicts with other programs in deployed programs
922

1023
2.28 (2019-11-09)

functionSignatures.json

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
"inputs":
55
[
6-
{"name":"action", "kind":"required", "type":["char","string", "choices={'license','version','update','revert','doc','quotes',intervalbars','fundamental','greeks','news','history','summary','lookup','alert','chain','disconnect','reconnect','time','stats','command'}"], "purpose":"Processing action"},
6+
{"name":"action", "kind":"required", "type":["char","string", "choices={'license','version','update','revert','doc','quotes',intervalbars','fundamental','greeks','news','history','summary','lookup','alert','chain','disconnect','reconnect','time','stats','command','log','marketdepth','regional','registry'}"], "purpose":"Processing action"},
77
{"name":"parameters", "kind":"required", "type":["struct","table","class"], "purpose":"Action parameters (struct, table, or MCOS object)"}
88
],
99
"outputs":
@@ -27,6 +27,7 @@
2727
{"name":"action", "kind":"required", "type":["char","string", "choices={'quotes','IntervalBars','fundamental','greeks','news','history','summary','MarketDepth','regional','lookup','alert','chain','reconnect','time','stats','command'}"], "purpose":"Processing action"},
2828
{"name":"Username", "kind":"namevalue", "type":"char", "purpose":"IQFeed account username"},
2929
{"name":"Password", "kind":"namevalue", "type":"char", "purpose":"IQFeed account password"},
30+
{"name":"Protocol", "kind":"namevalue", "type":"numeric", "purpose":"the IQFeed API protocol number to be used (default=current IQFeed client version)"},
3031
{"name":"Timeout", "kind":"namevalue", "type":"numeric", "purpose":"max # of seconds to wait for blocking query (0=infinite; default=5)"},
3132
{"name":"MsgParsingLevel", "kind":"namevalue", "type":["numeric","integer", "choices={0,1,2}"], "purpose":"parsing level of IQFeed msgs (default=2=maximal)"},
3233
{"name":"ProcessFunc", "kind":"namevalue", "type":["struct","function_handle"], "purpose":"callback function of IQFeed msgs"},
@@ -59,16 +60,17 @@
5960
{
6061
"inputs":
6162
[
62-
{"name":"action", "kind":"required", "type":["char","string", "choices={'greeks'}"], "purpose":"Processing action"},
63-
{"name":"Symbol", "kind":"namevalue", "type":["char","cellstr"], "purpose":"IQFeed symbol(s)"},
64-
{"name":"UseParallel", "kind":"namevalue", "type":["logical","scalar"], "purpose":"Process multiple symbols in parallel? (default=false)"},
65-
{"name":"UnderlyingSymbol", "kind":"namevalue", "type":["char"], "purpose":"Symbol of the underlying asset (optional)"},
66-
{"name":"HistoricVolatility", "kind":"namevalue", "type":["numeric"], "purpose":"Underlying price volatility in percent (optional)"},
67-
{"name":"RiskFreeRate", "kind":"namevalue", "type":["numeric"], "purpose":"Domestic RF rate in percent (default=0)"},
68-
{"name":"DividendsYield", "kind":"namevalue", "type":["numeric"], "purpose":"Underlying stock div yield or carry rate in percent (default=0)"},
69-
{"name":"Side", "kind":"namevalue", "type":["char","string", "choices={'Call','Put'}"], "purpose":"Contract side (optional)"},
70-
{"name":"DaysToExpiration", "kind":"namevalue", "type":["numeric"], "purpose":"# days until contract expires (optional)"},
71-
{"name":"AnnualFactor", "kind":"namevalue", "type":["numeric"], "purpose":"# of days per year (default=365)"}
63+
{"name":"action", "kind":"required", "type":["char","string", "choices={'greeks'}"], "purpose":"Processing action"},
64+
{"name":"Symbol", "kind":"namevalue", "type":["char","cellstr"], "purpose":"IQFeed symbol(s)"},
65+
{"name":"UseParallel", "kind":"namevalue", "type":["logical","scalar"], "purpose":"Process multiple symbols in parallel? (default=false)"},
66+
{"name":"UnderlyingSymbol", "kind":"namevalue", "type":["char"], "purpose":"Symbol of the underlying asset (optional)"},
67+
{"name":"HistoricVolatility", "kind":"namevalue", "type":["numeric"], "purpose":"Underlying price volatility in percent (optional)"},
68+
{"name":"UseImpliedVolatility", "kind":"namevalue", "type":["logical","scalar"], "purpose":"Use implied (not historic) volatility to calculate Greeks? (default=false)"},
69+
{"name":"RiskFreeRate", "kind":"namevalue", "type":["numeric"], "purpose":"Domestic RF rate in percent (default=0)"},
70+
{"name":"DividendsYield", "kind":"namevalue", "type":["numeric"], "purpose":"Underlying stock div yield or carry rate in percent (default=0)"},
71+
{"name":"Side", "kind":"namevalue", "type":["char","string", "choices={'Call','Put'}"], "purpose":"Contract side (optional)"},
72+
{"name":"DaysToExpiration", "kind":"namevalue", "type":["numeric"], "purpose":"# days until contract expires (optional)"},
73+
{"name":"AnnualFactor", "kind":"namevalue", "type":["numeric"], "purpose":"# of days per year (default=365)"}
7274
]
7375
},
7476
"IQML":
@@ -230,8 +232,9 @@
230232
"inputs":
231233
[
232234
{"name":"action", "kind":"required", "type":["char","string", "choices={'command'}"], "purpose":"Processing action"},
233-
{"name":"String", "kind":"namevalue", "type":["char","string"], "purpose":"IQFeed command string"}
234-
]
235+
{"name":"String", "kind":"namevalue", "type":["char","string"], "purpose":"IQFeed command string"},
236+
{"name":"ProcessFunc", "kind":"namevalue", "type":["struct","function_handle"], "purpose":"callback function of IQFeed msgs"}
237+
]
235238
},
236239
"IQML":
237240
{

0 commit comments

Comments
 (0)