Appendix B – change log

Changelog

The following table lists changes done to this document and IQML. Depending on the date that you have installed IQML, your version may be missing some features discussed in this document. You can always update to the latest version – see §2.4.

B.1 Complete change log (functional + documentation)

The table below lists both functional changes (in the IQML program) and also documentation changes (in this User Guide). See §B.2 below for a table of only the functional change.

* In this table the last column indicates change type: F=fix; I=improvement; D=documentation:

Version

Date

Section

Description

*

0.80

2017-10-17

-

Beta integration of IQML in a user trading program

I

1.00

2018-02-26

-

First commercial release of IQML

I

1.01

2018-03-11

8.1

Enabled message-specific user callbacks;
Added additional information to callback eventData

I

1.02

2018-03-12

4.3.2

Clarified filtering meta-symbols such as 'BZRatings'

D

4.3.3

Added relevant symbols list in returned news story data

I

7.1, 11

Clarified automatic connection re-establishment

D

1.03

2018-03-19

3.2

Enabled Symbol and Symbols as synonymous params

I

4.1, 6.1

Improved ticks request logic & the returned data fields

I

6.1

Enabled requesting streaming ticks/quotes for multiple symbols at once, in a single IQML command

I

1.04

2018-04-01

1, 2.1

Clarified that IQFeed client can run on Linux/Mac via Parallels/Wine, as well as natively on Windows/Mac

D

2.1

Added support for native Mac IQFeed client (untested)

I

3.2

Added new MsgParsingLevel general parameter, for improved callback run-time performance

I

5

MaxDataItems input parameter is renamed MaxItems

F

6.1

Some result output fields renamed for consistency; BufferSize input parameter is renamed MaxItems for consistency; clarified the documentation text

F

6.2

Added new streaming regional updates functionality

I

4.3à7

Moved the news functionality into a new chapter (§7)

D

7.3

Added newline characters between separate paragraphs in the reported news-story text, for better readability

I

7.4

Clarified that default Date is today; clarified that story count also includes non-subscribed news sources

D

7.5

Added new streaming news functionality

I

8-13

Renumbered chapters 7-12 as 8-13, to make room for the new chapter (§7) on the news functionality (Pro)

D

8.2

Added new section on callback run-time performance

D

10

Added timestamp and channel info to debug printouts

I

A.2

Added an online MathWorks resource

D

1.05

2018-04-05

2.1

Added note that in some cases users may need/want to specify the IQFeed connection Username, Password

D

3.1, 8

Added new symbols and numeric market codes lookup functionality

I

3.2, 4.1 5, 7.2

Modified the default Timeout value from 3 to 5 [secs]

F

3.5

Added new section on handling returned data format

D

5.5

Clarified that micro-sec time resolution depends on the IQFeed client version, the market, and the security type

D

8.2, 10.3

Added basic support for options-chain and futures-chain symbol lookup (better support is planned for next version)

I

9-14

Renumbered chapters 8-13 as 9-14, to make room for the new chapter (§8) on the lookup functionality

D

9.1

Enabled specifying IQFeed Username and Password; Added a 10-sec timeout on IQFeed connection attempts

I

9.3

Added extra port-specific stats when AddPortStats=1

I

1.06

2018-04-08

8.2

Added options/futures chain lookup functionality

I

1.07

2018-04-10

9.1

Added info msgs on server connections/disconnections

I

1.08

2018-04-11

4.1, 6.1

Added the Symbol field to returned quotes data struct

I

10.4

Added usage example of realtime quotes user callback

D

1.09

2018-04-16

6.3

Added Interval Bars functionality

I

1.10

2018-05-04

2.4

Added example of update notification on a new version

D

1.11

2018-05-16

4.3, 6.4, 10.5

Added Market Depth (Level 2) functionality

I

6.3

Indicated that IQFeed server may possibly limit reported interval bars depending on exchange, data subscriptions; Clarified that IntervalSize must be >1 for volume/ticks

D

1.12

2018-05-23

3.4, 4.3, 6.2, 6.4, 7, 8.2, 10.5, 12

Clarified that news, level 2 (market depth), alerts, options/futures chain lookup, and regional updates are only available in the Professional license and free trial

D

12

Added alerts functionality

I

13-15

Renumbered chapters 12-14 as 13-15, to make room for a new chapter on the alerts functionality

D

1.13

2018-05-25

7.2

Enabled auto-fetch of full story in news headlines query (streaming/blocking) using GetStory parameter (Pro)

I

11-12

Switched between sections 11,12 in the User Guide

D

11.2

Enabled reporting the full news story (in addition to headline) in news alerts using GetStory parameter

I

11.1, 11.2

Added regional updates alert functionality (in addition to news/quote/intervalbar alerts)

I

1.131

2018-05-28

3.1

Fixed bug in accepting struct-based input parameters

F

5.4

Clarified that IntervalSize must be >1 for vol/tick bars

D

6.2

Fixed typo in regional update action (should be 'regional')

D

7.2

Fixed bug in news headlines functionality (Pro license)

F

1.14

2018-05-30

4.2

Enabled specifying multiple Symbols in a single Fundamental-data query

I

6.2

Enabled specifying multiple Symbols in a single streaming Regional updates query

I

7.3

Enabled specifying multiple news headline ID values in a single news story query (Pro license)

I

1.15

2018-07-08

Cover

Updated compatibility notice for Matlab release R2018b

D

4.1, 6.1, 14

Enabled querying snapshot (top of market) & streaming data of multiple symbols at once, in a single IQML query

I

4.2

Fixed: querying multi-symbol fundamental data sometimes returned empty results

F

6.1-6.3

Fixed: debug data was displayed when streaming queries were requested (now only displayed if Debug=1)

F

8.2

Enabled querying fundamental data of all symbols in an options/futures chain at once, in a single IQML query

I

8.2

Enabled querying snapshot (top of market) data of entire options/futures chain at once, in a single query

I

9.1

Fixed: IQML query during IQFeed connection sometimes returned empty/error results

F

1.16

2018-07-09

3.6

Added new section on general run-time performance

D

5

Improved performance (speed) of historical data queries

I

10.2

Updated the section on callback-related performance

D

1.17

2018-07-30

5.4, 5.5

Clarified that IQFeed limits ticks/interval data to 8 days during US trading hours, 180 calendar days outside them

D

6.1

Clarified that IQFeed allows up to 500 concurrently-streaming symbols, unless you pay DTN for more symbols

D

6.3

Clarified that IntervalSize must be >1 for interval bars that use IntervalType = 'ticks' or 'volume'

D

6

Enabled retrieval and cancellation of streaming data for multiple/all streamed symbols in a single IQML command

I

8.2

Clarified that option/future chain name might change when corporate actions (such as splits) occur

D

1.18

2018-08-03

3.1, 3.5

Added optional errorMsg output for IQML commands

I

9.1

Fixed problem of duplicate fields during initial connection

F

9.1

Improved the reliability of a programmatic IQFeed disconnect/reconnect

I

1.19

2018-08-06

3.2, 12

Added the RaiseErrorMsgs parameter to control whether IQFeed errors should raise a Matlab error

I

4.1, 5.1, 7.2, 8.1

Message about partial data received due to Timeout is now a Matlab warning message, not an error message

F

1.20

2018-08-07

5, 14

Enabled requesting history data for multiple symbols in a single IQML command

I

5.1, 5.4, 5.5

Automatically convert BeginDateBeginDateTime, EndDateEndDateTime (i.e. try to fix usage error)

I

1.21

2018-08-10

8.1

Enabled looking up symbols by market(s), sec-type(s)

I

8.2

Clarified that IQFeed only enables lookup of active (non-expired) options; a list of expired options is available separately as a downloadable text file.

D

1.22

2018-08-13

8.2

Enabled NearMonths values of 0-12, not just 0-4, for options/futures chain. Note: this is based on undocumented IQFeed functionality, so might not work in some cases.

I

3.2 etc.

Limited the Timeout parameter values to 0-3000 [secs]

I

1.23

2018-08-14

5.4

Clarified regarding historical intervals data limitations; Clarified that IQFeed’s interval data typically exclude irregular “O” trades (see §5.5).

D

9.1

Fixed a problem of possible bad connection to IQFeed during the initial connection by IQML

F

1.24

2018-08-31

3.2 etc.

Limited the Timeout parameter values to 0-9000 [secs], with 0 indicating infinite (i.e. no-limit) timeout

F

5.5

Clarified that while IQFeed typically limits historic tick data to 180 days (outside trading hours), extended (older) tick data can possibly be purchased from DTN

D

8.2

Enabled NearMonths values of 0-99, not just 0-12, for options/futures chain. Note: this is based on undocumented IQFeed functionality, so might not work in some cases.

I

9.1

Enabled multiple Matlab processes on the same computer to run IQML concurrently (Beta)

I

2.00

(major update)

2018-09-05


This is a major update. Highlights: query parallelization and multiple usability/functionality fixes/improvements

(all)

Enabled parallel processing of IQML commands within parfor/spmd blocks, and parallel internal processing via the UseParallel parameter (Professional license only)

I

2

Added the license type to the output of IQML('version')

I

3.1

Clarified the actions available in Pro vs. non-Pro license

D

3.5

All returned data arrays are now column vectors

F

3.5

Using the 2nd (optional) output of IQML (errorMsgs) now implies a default value of false for RaiseErrorMsgs

I

3.5,
8.2-8.7

Fixed various typos in code snippets, that would have resulted in errors or bad data if used as-is

D

4

Modified reported data format when NumOfEvents >1

I

4.1, 8.2

Issued a warning when requesting more symbol quotes than your IQFeed account limit

I

4.3

Added new section on blocking interval bars functionality

I

4.3, 5.4, 6.3

Clarified that IntervalSize must be ≥100 for volume bars (a new limitation of IQFeed)

I

4.3, 5, 6.3, 7.4

Enabled specifying dates and date-times using Matlab datetime objects (in addition to datenums and strings)

I

4.3à4.4

Moved the blocking market-depth section to §4.4

D

5.1, 5.4, 5.5

Clarified that MaxItems has precedence over BeginDate /Time when more data items are available than MaxItems

D

5.4, 5.5

Clarified that in IQFeed and IQML, 'ticks' = 'trades'

D

6

Added Symbol field to returned streaming data struct

I

7.4

Story count for symbols that have no related news story is reported as 0 (such symbols were previously skipped)

I

9.3

Added Exchanges, ServerVersion, ServiceType fields to the returned client stats data

I

11

Fixed various issues with the Alerts functionality

F

11.2

Reorganized & clarified the Alerts Configuration section

D

2.02

2018-09-13

4.3, 5.4, 6.3

Clarified that IntervalSize must be < 86400 for secs bars (a new limitation of IQFeed); added warning when user attempts to use an invalid IntervalSize value.

I

4.3, 6.3

Clarified that streaming/latest interval bars are subject to the same limitations as those imposed on historical bars

D

5.4

Clarified that full-minute interval bars are excempt from the 8/180-day limitation imposed by IQFeed’s servers

D

9.1

Added detection & report for a case of a non-communicative background IQConnect process

I

2.03

2018-09-30

9.1

Fixed a problem with the license check that caused IQFeed disconnections

F

2.04

2018-10-02

5

Improved download speed of historical data queries

I

6, 7.5, 9.2

LatestEventTimestamp is now reported in seconds (not msecs) resolution by default, unless Debug is 1 or true

F

2.05

2018-10-13

4.1, 6.1

Added Fields parameter to enable dynamic fields-set

I

2.06

2018-10-15

4.1

Added some clarifications on the new Fields parameter

D

6.1

Minor fixes, performance speedup of streaming quotes

F

2.07

2018-10-21

3.4

Minor text clarifications; added timestamp examples

D

4.3, 5.4, 6.3

Clarified that IQFeed’s limitations on live 'secs' interval bars are stricter than limitations on historical intervals

D

5.4

Enabled using MaxDays as synonym for the Days parameter in historic interval queries

I

9.1

Fixed a problem with the license validation that prevented connection in certain cases

F

9.4

Fixed a few small edge-cases with sending custom commands to IQFeed

F

2.08

2018-10-28

3.6

Added clarifications on the use of query parallelization

D

5.1, 5.4, 5.5

Enabled parallelized historic data queries (daily/interval/ ticks) that have date/time range (Professional license only)

I

A.1

Added IQFeed’s users forum to list of online resources

D

2.09

2018-11-07

3.1

Fixed a bug in parsing input parameters in struct format

F

3.6

Added explanation on how to use a customized Fields parameter to improve the query speed of market quotes

D

2.10

2018-11-14

2.4

Added ability to revert back to the previous IQML version at any time.

I

4.1

Added a table listing all the available quote data fields (customizable via the Fields parameter)

D

4.1

Added description fields for the Bid_Market_Center, Ask_Market_Center and Last_Market_Center fields, when reported in a quotes message from IQFeed.

I

4.5

Added a new 'Greeks' action, to calculate Greeks, fair value price and implied volatility for options (Professional license only)

I

5.1

Clarified that DTN limits historical data retrieval in IQFeed’s trial account. Historical data queries in such accounts may yield fewer data points than requested.

D

6.1

Clarified that tick (update/quote) messages are streamed whenever any of the requested Fields gets updated.

D

2.11

2018-11-22

4.5

DaysPerYear parameter was renamed AnnualFactor;
Duration parameter was renamed DaysToExpiration;
Vega, Rho, Veta, Ultima are no longer divided by 100 (compatibility with Matlab Financial Toolbox, Maple & NAG); minor fix for Veta (negative value);
Added new fields in the reported data struct: Omega + Lambda (synonyms), CRho, Color, Annual_Factor_Used. Clarified differences of IQML’s Greek values vs. Matlab’s Trading Toolbox, NAG, and Maple.
Added a table explaining all the reported Greek values.

F

2.12

2019-01-16

2.2

Added cross-check for IB-Matlab connector

I

2.2

Clarified some license variants; mentioned IB-Matlab bundle

D

2.4

Added a new 'revert' action, to revert back to a previous IQML version

I

3.1

Fixed: display this User Guide using IQML('doc') even when the document is not on the Matlab path

F

4.5

Clarified that Greek Vomma is sometimes called Volga; minor clarifications regarding the foreign (carry) rate.

D

6.2

Clarified the functionality of streaming regional updates

D

2.13

2019-02-28

2, etc.

Clarified that https://UndocumentedMatlab.com/IQML can be used interchangably with http://iqml.net for any IQML document or file resource

D

2.1

Updated licensing alternatives (short-term, bundle); mentioned option of using the Matlab pathtool command

D

2.2

Updated and clarified the license reactivation process

D

3.4

Clarified that IQML’s timestamp data fields use either local or New York time, not the exchange time

D

3.6, 4.5

Clarified documentation, improved readability

D

6.1-6.3

Added the ClearBuffer parameter for streaming data; fixed bug with streaming data when NumOfEvents=inf; fixed the documentation of NumOfEvents default value

IF

6.4

Clarified that the streaming market depth mechanism does not store an internal buffer of quote updates

D

13.15

Clarified FAQ #15 on business continuity alternatives

D

2.14

2019-03-14

3.1

Fixed a problem specifying parameters via Matlab table

F

3.1

Added ability to specify parameters using Matlab class object properties, similar to struct fields

I

3.1

Removed misleading reference to struct array (only a scalar struct is currently supported, not a struct array)

D

3.1, 14

Invalid parameter names are now ignored (a warning is displayed), rather than raising a Matlab error/exception

F

3.4

Clarified IQFeed’s sensitivity to valid symbol names

D

4.1 etc.

Improved handling of multi-symbol queries

F

4-7, 11.1

Symbols, Fields, and news Sources can now be separated by ':' or ',' (for example, 'IBM:HP' or 'IBM,HP')

I

6.1

Clarified that the TST$Y symbol can be used to test the streaming data functionality outside trading hours

D

2.15

2019-03-24

General

Made all the internal cross-references (e.g. “§4.1”) in the User Guide linkable, for easier navigation/referencing

D

4.1

Clarified that a reported Bid/Ask Time of 99:99:99 may indicate an invalidated quote after extended trading hours; IQFeed renamed ‘Last Trade Date’ field à ‘Last Date’

D

5.1 - 5.5

Clarified that IQFeed limits the historic data provided to its trial accounts vs. regular IQFeed accounts

D

7.2

Clarified IQFeed only stores news items of past 180 days

D

12

Split chapter 12 into two sections: IQML messages (12.1), IQFeed logging (12.2)

D

12.1

Added display of a few types of IQFeed system messages (excluding the periodic stats messages) in Debug mode

I

12.2

Added programmatic control of IQFeed logging

I

B.2

Added new section listing just functional IQML changes

D

2.16

2019-04-17

5.2, 5.3

Added the ability to specify BeginDate for historic weekly/monthly data requests, in addition to MaxItems

I

2.17

2019-05-07

3.4, 5.4

Added clarifications on possible causes of run-time error; Display an explanatory message upon an IQFeed account authorization error

I

4.1, 4.3, 5.1, 7.2, 8.1, 14

Clarified warning message in case of partial results returned due to timeout, by including a suggestion to decrease NumOfEvents parameter value, when relevant

I

4.2

Clarified splits data aspects in Fundamental info reports

D

4.4, 6.4

Added support for equity Level 2 data (in addition to futures Level 2 which was already supported); Added ID fields to all returned Level 2 data (futures and equities); changed default NumOfEvents from inf to 10; IQML now connects to IQFeed L2 servers only as needed, not in startup; Issue error message for each separate failure to access L2 data, not just during initial connection attempt; Added the IncludeEmptyQuotes parameter

I

5.4

Clarified that daily/weekly/monthly interval data is available for the past 15+ years (except in IQFeed trial)

D

5.4, 5.5

Fixed parallelization when only one of BeginDateTime/ EndDateTime is specified but not the other

F

6.3

Clarified that there is no EndDateTime parameter for streaming interval bars, unlike for historic bars (§5.4)

D

9.1

Improved behavior for users with multiple IQFeed accounts using the Username/Password parameters; Improved startup speed in case of multiple connects/ disconnects during the day

I

2.18

2019-05-14

1, 2.1

Clarified that on Mac/Linux, while Matlab and IQML can indeed run in native mode, some features (§9.5 etc.) are only available if Matlab runs under Parallels/Wine

D

9.1

Added an informative alert when another process is using one of IQFeed’s expected connection ports

I

3.1, 9.5

Added the 'registry' action and functionality, to enable convenient access to IQFeed’s registry settings

I

12.2

Clarified that IQML('log') uses the Windows registry, so will not work if Matlab runs in Mac/Linux native mode

D

2.19

2019-07-07

Cover

Updated compatibility of supported Matlab releases

D

-

Added an online HTML version of this User Guide: http://UndocumentedMatlab.com/files/IQML/User_Guide

D

-

Added functionSignatures.json file for easier IQML usage in Live Editor

I

-

Fixed compatibility issue with Matlab R2008a - R2012b

F

3.1, 5.6

Added 'summary' action and functionality, to fetch historic end-of-day market summary (Professional license)

I

4

Improved query responsivity in case of IQFeed error; improved performance of single-symbol queries

I

4.1

Support for IQFeed client 6.1: new optional Fields (Most

Recent Trade Aggressor, Most Recent Trade Day Code)

I

4.2

Support IQFeed client 6.1: new fundamental data fields (Session_Open_Time, Session_Close_Time, Base_Currency, Contract_Size, Contract_Months, Minimum_Tick_Size, FIGI, First_Delivery_Date, and Security_SubType).
Added a table describing all the available data fields.

I

5.1-5.3

Included today’s partial daily trading data in day/week/ month history queries, in IQFeed client 6.1 or newer.

I

5.4

Added LabelAtBeginning parameter for historic interval data queries (requires IQFeed client version 6 or newer)

I

5.4

Clarified that sub-daily data may report data from non-trading days (e.g. Sunday night, when ES starts trading)

D

6.1-6.3

Clarified that when using ClearBuffer, some streaming data events may be lost

D

8.2

Default value for IncludeBinary parameter is now false

F

9.1

Added Protocol parameter to customize initial connection

I

2.20

2019-07-10

4.2

Added example of new data fields in IQFeed client 6.1

D

5.6

Added the ReportEmptyFields, Filter parameters and functionality (scanning based on multiple filter criteria)

I

8.2

Fixed the description of the IncludeBinary parameter

D

9.1

Improved IQConnect startup on Linux/Mac via wine

I

2.21

2019-07-14

4.6

Enabled fetching latest (current) market summary/scanner via a 'summary' query (Professional license)

I

5.2, 5.3

Clarified the latest bar has today’s data only in IQFeed 6.1+

D

5.6

Moved most of the 'summary' query description to §4.6 and clarified the text; left only the history aspects in §5.6

D

5.6

Default Date parameter value changed (yesterdayànow)

F

2.22

2019-07-17

-

Fixed bug that caused a “Duplicate field name Reserved” error for some queries on some Matlab releases

F

3.6

Added reference to §10.2 for suggested ways to speed-up callback processing overhead on data fetches

D

4.2

Added Underlying_Contract field for continuous futures

I

4.6

Fixed bug in change % fields of 'top' scanner queries; reordered 'top' results volume fields for better readability

F

9.3

Added information on the client stats port fields and the importance of KBsQueued field for runtime performance

D

2.23

2019-09-18

-

Improved collection of parallelized results, in case some of the results returned an error or empty data

F

4.2

Clarified that Common_Shares_Outstanding is in thousands

D

4.3

Added UseParallel parameter feature to IntervalBars

I

5

Fixed the implementation of MaxItems=-1, due to an IQFeed API behavior change

F

2.24

2019-10-05

-

Increased processing speed & streaming data throughput

I

5.5

Added TradeAggressor, DayOfMonth tick fields (IQFeed 6.1+)

I

8.*

Fixed duplicate lookup entries after an IQML reconnect

F

8.1

Indicated that IQFeed has an internal bug that prevents searching for symbols with SIC/NAICS < 10

D

8.5, 8.6

Indicated that IQFeed has an internal bug that does not report some SIC and NAICS codes

D

9.4

Enabled multiple custom commands in each IQML query

I

12.2

Clarified the usage of redirecting IQFeed log file Path

D

2.25

2019-10-06

-

Clarified a few error messages

F

5.*

Fixed bug in historic data introduced in release 2.24

F

9.1

Improved detection of port conflicts with other programs

I

2.26

2019-10-26

2.1

Improved reporting of missing program components

I

4.*

Fixed bug when multiple symbols are queried together and some symbols have no data (e.g., bad ticker)

F

4.*

Fixed bug of not distinguishing between symbols with '.' and '-' (e.g., AGM.A, AGM-A) when both are queried

F

4.2

Improved fundamental data query using caching

I

4.5

Automatically infer UnderlyingSymbol for future option

I

4.*, 5.*

Small performance speedup of multi-symbol queries

I

2.27

2019-11-08

Cover

Updated compatibility notice for Matlab release R2020a

D

2.1

Improved reporting of a missing IQFeed installation

I

2.4

Added display of extra clarification messages upon successful completion of IQML version update or revert

I

4.1

Added Exchange_Description field if Exchange_Id field is reported by IQFeed and MsgParsingLevel=2

I

4.1, 4.2

Fixed bug in Exchange_Description of some exchanges

F

4.5

Improved auto-infer of UnderlyingSymbol for options; added Underlying_Asset_Name field to the returned data

I

8.2

Added clarifications on filtering parameters limitations; Added warning when trying to use the Years parameter in an index/equity chain query

I

9.1

Improved detection of port conflicts with other programs

I

2.28

2019-11-09

2.2

Fixed activation issue with compiled IQML on some deployed computers (requires reactivation)

F

2.29

2019-11-21

2.2

Clarified activation error messages in deployed programs; Improved activation resiliency to short network hickups and MacOS-induced hostname changes

I

2.4

Skip version update check in deployed (compiled) envs

I

4.1

Improved processing speed of quotes queries having a Fields parameter

I

4.2

Added SIC and NAICS sector classification data in fundamental data queries

I

9.1

Improved detection of port conflicts with other programs

I

2.30

2019-12-08

4.2

Improved processing speed of fundamental data queries

I

4.5

Improved resiliency of Greeks query to some data errors

I

4.5

Clarified that Greeks data are subject to the most recent setting of the Fields parameter value; Clarified cases in which IQML cannot auto-infer the UnderlyingSymbol

D

5.*

Improved processing speed of all historic data queries

I

8.1

Improved processing speed of symbol lookup queries

I

8.2

Clarified that returned chain quotes data is subject to the most recent setting of the Fields parameter value

D

9.3

Fixed an edge-case problem with some client stats queries

F

11.2

Added support for 'regional' data type in alert Trigger; Added support for 'contains' operator in all alert types; Added warning when user requests a trigger field that is not included in the latest setting of the quotes Fields

I

11.2

Clarified on setting email alerts from a Google account and on potential clashes with antivirus/firewall

D

2.31

2019-12-12

*.*

Fixed incompatibility of Matlab releases R2009a or older

F

4.2

Fixed a bug in parsing of reported date fields

F

4.5

Added UseImpliedVolatility optional Greeks parameter; Added Volatility_Used_By_Greeks field to reported data

I

2.311

2019-12-13

5.*

Fixed bug in parsing of reported history Datestamp field

F

7.2

Fixed bug parsing reported news Timestamp field (Pro)

F

2.32

2019-12-16

2.4

Modified the hyperlinks in the new-version message

F

4.1

Fixed bug in accumulating multiple quotes when some fields data is missing/empty in some quotes but not others

F

5.*

Improved processing speed of all historic data queries

I

13

Clarified a few FAQ sections

D

2.33

2019-12-31

3.5

Added explanation about IQML’s automatic merging of results for queries of multiple symbols (where relevant)

D

4.5

Displayed warning message when Greeks are requested for expired contracts or with contracts with missing data

I

4.6

Identified casses of missing summary data from IQFeed

I

5.4, 5.5

Clarified that BeginDateTime/EndDateTime have precedence over (override) Days parameter; displayed a warning message when trying to use Days in such cases

I

8.2

Clarified the warning message when querying a chain with DataType='options' and non-default Years

I

2.34

2020-01-16

2.2

Minor text clarifications on short and long-term licenses

D

4.3

Fixed bug in parsing the am time in a BeginDateTime parameter that is specified in numeric format

F

6.*

Clarified that a real-time IQFeed data subscription is needed for true live streaming quotes, otherwise IQFeed delays the streamed data by 10+ minutes

D

6.3

Added MaxUpdateDuration parameter for streaming intervalbars queries

I

16

Added new “Spread the word!” section

D

2.35

2020-02-05

9.1

Fixed connection conflict with IQFeed’s Excel connector

F

2.36

2020-03-06

7.2

Set Timeout to minimum 60 secs for GetStory queries; Mentioned that IQFeed has an undocumented limit of only up to 4000 news headlines per query (Pro).

F

7.3

Report only unique symbols in a news story query (Pro)

F

2.37

2020-03-30

3.1

When an invalid parameter is specified, a list of all valid action parameters is displayed in the warning message

I

7.2

Improved performance of news headlines query (Pro)

I

10.1

Improved reporting of errors in user-specified callback function for an IQFeed message event

I

2.38

2020-04-14

*.*

Improved UseParallel robustness in some scenarios / edge-cases (Professional license)

F

6.1

Clarified the streaming quotes mechanism explanation

D

2.2

Removed IB-Matlab connector cross-check in deployed programs

I

7.2

Avoided error when IQFeed sends empty news headlines

F

2.39

2020-04-16

*.*

Added informative message when the user specifies an invalid Symbol format

I

4.1

Fixed bug when using custom Fields in UseParallel mode for multiple Symbols

F

9.3

IQConnect’s Diagnostics utility now displays IQML version and parallel workers in its Client Stats tab

I

2.40

2020-04-20

*.*

Fixed: enabled "symbol" in addition to 'symbol' in the Symbol parameter (broken in version 2.39)

F

3.6

Explained how using the new Fields parameter in history queries can speed up run-time processing

D

4.1

Fixed bad results from parallel quotes query of duplicate symbols

F

5.1-5.5

Added Fields parameter to history queries for improved processing speed and memory usage (Pro license)

I

5.1-5.5

Fixed error when parallel historic query of multiple symbols returns non-matching data sizes

F

2.41

2020-05-03

3.4

Detect & handle case of a missing 'Symbol' parameter, e.g. IQML('quotes','IBM')

F

4.1

Clarified that Bid/Ask fields in returned quotes data are typically NBBO (National Best Bid and Offer) quotes

D

5.1-5.5

Improved performance of history queries

I

6.*

Improved speed of IQML commands that start streaming; Added AssignTo parameter to enable assigning stream data to base Matlab workspace variables with live update

I

6.2

Fixed a bug in fetching streaming Regional quotes

F

6.3

Added BarTypeCode, EventDatenum, EventTimestamp fields to intervalbars data; expanded and clarified documentation

I

9.1

Faster initial connection to IQFeed; Added extra debug printouts to assist diagnosing IQFeed connection issues

I

2.42

2020-05-04

4.2

Fixed bug in fundamental data query

F

5.1-5.5

Fixed bug in history query of multiple symbols at once

F

2.43

2020-05-10

5.1-5.5

When IQFeed has no history data for a query, IQML now returns [], not a 'NO_DATA' error

F

9.1

Fixed bug when disconnecting a non-connected IQFeed

F

9.1

Faster initial connection to IQFeed (cached lookups etc.)

I

2.44

2020-06-05

3.6

Expanded documentation on parallelization (Pro license)

D

5.1-5.5

Fixed empty results in some parallel history queries (Pro)

F

7.2

Fixed a few edge-cases with news headlines query (Pro)

F

9.3

Explained how to differentiate between delayed and real-time subscriptions in the results of IQML('stats')

D

2.45

2020-06-23

Cover

Updated compatibility notice for Matlab release R2020b

D

5.1, 5.4, 5.5

Added input parameter checks: BeginDate < EndDate, BeginDateTime < EndDateTime

I

8.*

Fixed duplicate lookup entries reported by IQFeed

F

8.1

Speedup of symbols lookup; enabled searching all symbols (empty Name parameter) per Market/SecType

I

8.3

Added reference to listed market’s time-zone and delay amount information based on a DTN ProphetX webpage

D

B.1

Differentiated between modified functionality (Fixes) and new functionality (Improvements) in the change-log

D

2.46

2020-06-30

5.1

Fixed single-day history query (BeginDate=EndDate), broken in version 2.45

F

5.1-5.5

Added the Progress input parameter to history queries

I

8.3-8.7

Added the ID filtering parameter to lookup queries

I

2.47

2020-11-29

3.6

Fixed occasional errors during the initial connection of parallel workers to IQFeed (Professional license)

F

3.6

Clarified the issue of maximal parallel pool size

D

3.6, 12.2

Clarified the effects of IQFeed’s log file on run-time performance, and ways to mitigate these effects

D

4.2

Added Fiscal_Year_End_Description field to the fundamental data results – a textual description of the numeric Fiscal_Year_End field

I

4.2

Clarified that the Short_Interest field carries valid information values only for some exchanges/sec-types.

D

5.5

Clarified that some rare tick types (basis codes) are not reported by IQFeed

D

5.6

Clarified error message when market summary data is unavailable (Professional license)

F

5.6

Clarified that summary data is only available for trading days

D

6.*

Improved the performance of fetching streaming quotes during live (real-time) streaming

I

8.2

Handled cases of IQFeed server error when requesting options chain (Professional license)

F

12.2

Fixed error in case the IQFeed client has not yet set a logging-level registry value

F

2.48

2020-12-02

*.*

Fixed bug when trying to display PDF docs on MacOS

F

*.*

Fixed edge-case when retrieving data in parallel with the UseParallel parameter (Professional license)

F

3.6, 4.1, 4.3, 4.5, 5.1-5.5, 7.2, 8.2

Added MaxWorkers input parameter to limit the number of active parallel workers when using the UseParallel parameter for parallel queries (Pro license)

I

5.1-5.5

Increased default maximal number of parallel workers in parallelized history queries from 14à15 (Pro license)

F

5.6

Fixed bug in filtering numeric summary data when MsgParsingLevel = 0 (Professional license)

F

2.49

2021-01-03

3.2, 3.5

Added new OutputFormat parameter to enable easy reporting of results in cell/struct/table/timetable formats

I

3.6,
5.1-5.5

Clarified that IQFeed changed its throttling mechanism of historical data queries in Dec. 2020 to 50 queries/sec. To avoid the new limit and a throttling error, use MaxWorkers param to limit the number of parallel workers.

D

4.2

Clarified the calculation that IQFeed uses for the Historic Volatility field in Fundamental data queries

D

5.1-5.5

Fixed certain problems with parallel download of historic data (Pro license)

F

5.6, 8.2

Clarified that IQFeed provides static downloadable text files for both expired IEOPTION contracts and delisted EQUITY symbols

D

12.1

Added display of context information in run-time errors

I

2.50

2021-01-24

4.6

Added reference link for 'top' summary data

D

8.1

Fixed symbols lookup query with empty/unspecified Name filter parameter

F

8.1

Added new Progress parameter to display lookup query progress (same as in history queries)

I

8.1

Added ability to filter symbols lookup query by Market group (e.g. 'NYSE') not just specific market names/ids

I

8.2

Fixed: chain symbols query did not report some equity options unless NearMonths param was set (Pro license)

F

2.51

2021-02-03

7.*

Fixed a problem with news query without a Symbol filter due to a DTN server-side change (Pro license)

F

7.2

Added Datenum field to news headlines query;
Fixed Timestamp field to standard format (Pro license)

I

9.1

Auto-reconnect IQML to IQFeed when IQConnect is not communicating for a long time

I

9.3

Added Datenum, Timestamp, TotalMsgsRcv fields to client stats data

I

2.52

2021-02-23

4.4, 6.4

Added support for new IQFeed client 6.2, including new Level 2 functionality (Market-by-price/order);
Added BidSizeRatio, AskSizeRatio fields to results;

Added Detailed, MaxLevels parameters. (Pro license)

I

4.6

Fetch previous day's summary data if data for requested date is unavailable (Pro license)

I

7.2

Handled edge case of news headlines that are reported with missing/invalid timestamp

F

9.1

Avoid repeated attempts to launch the IQFeed client on startup, in case it is not detected in the expected location

F

9.1

Added alert in case the installed IQFeed client appears to be older than the latest available stable IQFeed client

I

9.1, 9.5

Added support for IQFeed client 6.2’s new registry hive

I

2.53

2021-04-06

3.6, 6.1

Added new OverflowMode, MaxEventsBacklog parameters for message overflow handling

I

4.1

Sorted the fields table by alphabetical field-name order

D

4.4, 6.4

Improved support for new IQFeed client 6.2 Level 2 functionality; added market-maker description (Pro license)

I

4.6

Added description fields for Exchange/Markets/SIC/ NAICS codes in summary query results (Pro license)

I

5.5

Clarified that IQFeed does not report some trade types as separate tick events, and just updates TotalVolume

D

9.3

Added messages overflow data to reported client stats

I

11

Fixed: alert ID was not properly returned in alert queries

F

2.54

2021-05-03

4.5

Fixed: implied volatility was sometimes reported as ±inf

F

5.2, 5.3

Added EndDate parameter for weekly/monthly history queries, as in daily/interval history queries

I

5.1-5.4

Fixed some BeginDate/EndDate/MaxItems parameter inconsistencies in history queries

F

2.55

2021-05-10

2.1

Added Filepath field to the output of IQML('version')

I

4.6

Clarified some aspects about the data staleness

D

5.1-5.4

Fixed issue of empty data reported when MaxItems = -1

F

9.1

Added Timeout parameter to IQML('reconnect') actions

I

2.56

2021-06-23

*.*

Fixed occasional “corrupt P-file” errors in parallel setups (Pro license)

F

2.4

Automatically disconnect from IQFeed when installing an IQML update

I

4.6

Fixed: summary data query sometimes reported missing data (Pro license)

F

12.1

Simplified error message in case of IQML run-time error

I

2.57

2021-07-11

7.2

Fixed: Timeout parameter was not used by news story queries when GetStory=true (Pro license)

F

7.3

Fixed edge cases of some news stories reported as errors by IQFeed client version 6.1 (Pro license)

F

7.3

Added URL field to reported news stories, if a URL is detected in the story text (Pro license)

I

7.*

Improved performance (reduced run-time) of news story queries, especially story texts (Pro license)

I

9.1

Removed some harmless warning messages when connecting IQML to IQConnect in certain cases

I

2.58

2021-11-21

*.*

Replaced all references to iqml.net with undocumentedmatlab.com

F

4.1

Clarified difference between “Last”, “Most recent trade”. See http://forums.dtn.com/?page=topic&topicID=5906

D

4.4

Fixed duplicate section number 4.4.2

D

4.4

Fixed display of the market-maker description in MarketDepth (Level2) queries (Pro license)

F

6.1

Clarified warning when requesting streaming quotes for more symbols than IQFeed allows

I

9.1

Added display of client and protocol versions in connection success message

I

9.1

Handled unsolicited changes of MacBookPro computer name by MacOS, affecting IQML's activation

I

9.3

Added NumOfAvailableSymbols, ProtocolInUse, IQFeedAccountExpiryDate fields to client stats data

I

2.59

2021-12-14

2.2

Added 'validate' action: returns true if IQML license is ok, and an error (or an error message) if it is not.

I

4.3, 5.*, 6.3

Added support for additional formats of date parameters, such as '21/11/15', 'Nov 15', '15-Nov-2021'

I

4.5, 8.2

Fixed incorrect reference to quotes query section (4.1)

D

7.2

Fixed: News headlines request returned partial results on Matlab R2021b (Pro license)

F

2.60

2021-12-31

4.1

Added the reported field names column to the fields table; added the auto-generated description fields

D

4.3, 5.*, 6.3

Fixed bug in parsing default BeginDate parameter value; Improved reporting of invalid date/time parameter values

F

8.2

Added settable Fields parameter to option chains query (Pro license); Clarified that requesting options quotes data requires a corresponding DTN data subscription

I

2.61

2022-02-07

2.2

Fixed IQML activation problem on a Matlab pre-release

F

2.4

Removed harmless warning message during version update about overwriting files

F

8.2

Added clarification about performance of options-chain queries with market market data

D

9.1

Automatically reconnect bad IQFeed connection (misleading “no data for query” error)

I

2.62

2022-02-27

4.3, 5.*, 6.3, 7.4

Fixed processing of various non-standard date parameters formats/variants

F

5.*

Fixed the reported symbol in error message about a failed history query

F

3.4, 9.1

Noted that in the few seconds following an initial connection to IQFeed, some queries may return empty data

D

5.2, 5.3

Fixed weekly/monthly historic data when MaxItems=-1 (all data points) and non-default BeginDate

F

8.3-8.7

Added ForcedRefresh parameter to most lookup queries

I

8.*

Fixed: lookup queries sometimes returned cell array instead of struct array

F

2.63

2022-03-26

4.3, 5.4, 5.5, 6.3

Fixed a parsing problem with DateTime parameters that contain spaces (e.g. '20220324 123456')

F

5.6

Clarified that IQFeed market summary data is only available for dates after May 20, 2018

D

5.6, 8.2

Updated download locations of files on DTN’s website; Added references to DTN’s updated symbology guide.

D

6.1

Fixed a possible error when requesting streaming quotes with non-default Fields during IQML connection

F

2.64

2022-10-11

4.3, 6.3

Fixed field name typo CummlativeVolumeàCumulativeVolume

F

4.6

Added explanation about IQFeed’s market indices and calculated breadth/indicator stats

D

6.1

Added warning when setting Fields in an ongoing data-fetch query instead of in the initial streaming request.

I

8.1

Fixed: symbol lookup query returned empty when IQFeed reported just a single result

F

*.*

Small speedup of IQFeed messages processing

I

2.65

2022-11-30

9.1

Improved initial connection time of parallel workers (Pro license)

I

*.*

Improved rendering of images in online documentation: https://undocumentedmatlab.com/files/IQML/User_Guide

D

2.66

2022-03-26

2.2

Improved license fingerprint stability for MacOS users

I

5.5

Clarified the difference between “C” and “E” trades

D

13

Clarified a few FAQ sections; added FAQ #20

D

2.67

2022-08-16

3.6

Explained the effect of memory reallocations and MaxItems on query performance

D

4.6

Scanner Filter now accepts 'or', 'and' as criteria operators (in addition to '|', '&'); clarified documentation

I

9.1

Improved initial connection of parallel workers (Pro)

I

12.1

Clarified that the default value of RaiseErrorMsgs is true when the errorMsg output argument is not requested in the query, and false when it is requested

D

B.2 Functional change log (excluding documentation changes)

The table below is a subset of the table in §B.1, listing just functional IQML changes:

Version

Date

Section

Description

0.80

2017-10-17

-

Beta integration of IQML in a user trading program

1.00

2018-02-26

-

First commercial release of IQML

1.01

2018-03-11

8.1

Enabled message-specific user callbacks;
Added additional information to callback eventData

1.02

2018-03-12

4.3.3

Added relevant symbols list in returned news story data

1.03

2018-03-19

3.2

Enabled Symbol and Symbols as synonymous params

4.1, 6.1

Improved ticks request logic & the returned data fields

6.1

Enabled requesting streaming ticks/quotes for multiple symbols at once, in a single IQML command

1.04

2018-04-01

2.1

Added support for native Mac IQFeed client (untested)

3.2

Added new MsgParsingLevel general parameter, for improved callback run-time performance

5

MaxDataItems input parameter is renamed MaxItems

6.1

Some result output fields renamed for consistency; BufferSize input parameter is renamed MaxItems for consistency; clarified the documentation text

6.2

Added new streaming regional updates functionality

7.3

Added newline characters between separate paragraphs in reported news-story text, for better readability (Pro license)

7.5

Added new streaming news functionality (Pro license)

10

Added timestamp and channel info to debug printouts

1.05

2018-04-05

3.1, 8

Added new symbols and numeric market codes lookup functionality

3.2, 4.1 5, 7.2

Modified the default Timeout value from 3 to 5 [secs]

8.2, 10.3

Added basic support for options-chain and futures-chain symbol lookup (better support is planned for next version)

9.1

Enabled specifying IQFeed Username and Password; Added a 10-sec timeout on IQFeed connection attempts

9.3

Added extra port-specific stats when AddPortStats=1

1.06

2018-04-08

8.2

Added options/futures chain lookup functionality

1.07

2018-04-10

9.1

Added info msgs on server connections/disconnections

1.08

2018-04-11

4.1, 6.1

Added the Symbol field to returned quotes data struct

1.09

2018-04-16

6.3

Added Interval Bars functionality

1.11

2018-05-16

4.4, 6.4, 10.5

Added Market Depth (Level 2) functionality

1.12

2018-05-23

12

Added alerts functionality

1.13

2018-05-25

7.2

Enabled auto-fetch of full story in news headlines query (streaming/blocking) using GetStory parameter (Pro)

11.2

Enabled reporting the full news story (in addition to headline) in news alerts using GetStory parameter

11.1, 11.2

Added regional updates alert functionality (in addition to news/quote/intervalbar alerts)

1.131

2018-05-28

3.1

Fixed bug in accepting struct-based input parameters

7.2

Fixed bug in the news headlines functionality (Pro license)

1.14

2018-05-30

4.2

Enabled specifying multiple Symbols in a single Fundamental-data query

6.2

Enabled specifying multiple Symbols in a single streaming Regional updates query

7.3

Enabled specifying multiple news headline ID values in a single news story query (Pro license)

1.15

2018-07-08

4.1, 6.1, 14

Enabled querying snapshot (top of market) & streaming data of multiple symbols at once, in a single IQML query

4.2

Fixed: querying multi-symbol fundamental data sometimes returned empty results

6.1-6.3

Fixed: debug data was displayed when streaming queries were requested (now only displayed if Debug=1)

8.2

Enabled querying fundamental data of all symbols in an options/futures chain at once, in a single IQML query

8.2

Enabled querying snapshot (top of market) data of entire options/futures chain at once, in a single query

9.1

Fixed: IQML query during IQFeed connection sometimes returned empty/error results

1.16

2018-07-09

5

Improved performance (speed) of historical data queries

1.17

2018-07-30

6

Enabled retrieval and cancellation of streaming data for multiple/all streamed symbols in a single IQML command

1.18

2018-08-03

3.1, 3.5

Added optional errorMsg output for IQML commands

9.1

Fixed problem of duplicate fields during initial connection

9.1

Improved the reliability of a programmatic IQFeed disconnect/reconnect

1.19

2018-08-06

3.2, 12

Added the RaiseErrorMsgs parameter to control whether IQFeed errors should raise a Matlab error

4.1, 5.1, 7.2, 8.1

Message about partial data received due to Timeout is now a Matlab warning message, not an error message

1.20

2018-08-07

5, 14

Enabled requesting history data for multiple symbols in a single IQML command

5.1, 5.4, 5.5

Automatically convert BeginDateBeginDateTime, EndDateEndDateTime (i.e. try to fix usage error)

1.21

2018-08-10

8.1

Enabled looking up symbols by market(s), sec-type(s)

1.22

2018-08-13

8.2

Enabled NearMonths values of 0-12, not just 0-4, for options/futures chain. Note: this is based on undocumented IQFeed functionality, so might not work in some cases.

3.2 etc.

Limited the Timeout parameter values to 0-3000 [secs]

1.23

2018-08-14

9.1

Fixed a problem of possible bad connection to IQFeed during the initial connection by IQML

1.24

2018-08-31

3.2 etc.

Limited the Timeout parameter values to 0-9000 [secs], with 0 indicating infinite (i.e. no-limit) timeout

8.2

Enabled NearMonths values of 0-99, not just 0-12, for options/futures chain. Note: this is based on undocumented IQFeed functionality, so might not work in some cases.

9.1

Enabled multiple Matlab processes on the same computer to run IQML concurrently (Beta)

2.00

(major update)

2018-09-05


This is a major update. Highlights: query parallelization and multiple usability/functionality fixes/improvements

(all)

Enabled parallel processing of IQML commands within parfor/spmd blocks, and parallel internal processing via the UseParallel parameter (Professional license only)

2

Added the license type to the output of IQML('version')

3.5

All returned data arrays are now column vectors

3.5

Using the 2nd (optional) output of IQML (errorMsgs) now implies a default value of false for RaiseErrorMsgs

4

Modified reported data format when NumOfEvents >1

4.1, 8.2

Issued a warning when requesting more symbol quotes than your IQFeed account limit

4.3

Added new section on blocking interval bars functionality

4.3, 5.4, 6.3

Clarified that IntervalSize must be ≥100 for volume bars (a new limitation of IQFeed)

4.3, 5, 6.3, 7.4

Enabled specifying dates and date-times using Matlab datetime objects (in addition to datenums and strings)

6

Added Symbol field to returned streaming data struct

7.4

Story count for symbols that have no related news story is reported as 0 (such symbols were previously skipped; Pro)

9.3

Added Exchanges, ServerVersion, ServiceType fields to the returned client stats data

11

Fixed various things with the Alerts functionality

2.02

2018-09-13

4.3, 5.4, 6.3

Clarified that IntervalSize must be < 86400 for secs bars (a new limitation of IQFeed); added warning when user attempts to use an invalid IntervalSize value.

9.1

Added detection & report for a case of a non-communicative background IQConnect process

2.03

2018-09-30

9.1

Fixed a problem with the license check that caused IQFeed disconnections

2.04

2018-10-02

5

Improved download speed of historical data queries

6, 7.5, 9.2

LatestEventTimestamp is now reported in seconds (not msecs) resolution by default, unless Debug is 1 or true

2.05

2018-10-13

4.1, 6.1

Added Fields parameter to enable dynamic fields-set

2.06

2018-10-15

6.1

Minor fixes, performance speedup of streaming quotes

2.07

2018-10-21

5.4

Enabled using MaxDays as synonym for the Days parameter in historic interval queries

9.1

Fixed a problem with the license validation that prevented connection in certain cases

9.4

Fixed a few small edge-cases with sending custom commands to IQFeed

2.08

2018-10-28

5.1, 5.4, 5.5

Enabled parallelized historic data queries (daily/interval/ ticks) that have date/time range (Professional license only)

2.09

2018-11-07

3.1

Fixed a bug in parsing input parameters in struct format

2.10

2018-11-14

2.4

Added ability to revert back to the previous IQML version at any time.

4.1

Added description fields for the Bid_Market_Center, Ask_Market_Center and Last_Market_Center fields, when reported in a quotes message from IQFeed.

4.5

Added a new 'Greeks' action, to calculate Greeks, fair value price and implied volatility for options (Professional license only)

2.11

2018-11-22

4.5

DaysPerYear parameter was renamed AnnualFactor;
Duration parameter was renamed DaysToExpiration;
Vega, Rho, Veta, Ultima are no longer divided by 100 (compatibility with Matlab Financial Toolbox, Maple & NAG); minor fix for Veta (negative value);
Added new fields in the reported data struct: Omega + Lambda (synonyms), CRho, Color, Annual_Factor_Used.
Clarified differences of IQML’s Greek values vs. Matlab’s Trading Toolbox, NAG, and Maple.
Added a table explaining all the reported Greek values.

2.12

2019-01-16

2.2

Added cross-check for IB-Matlab connector

2.4

Added a new 'revert' action, to revert back to a previous IQML version

3.1

Fixed: display this User Guide using IQML('doc') even when the document is not on the Matlab path

2.13

2019-02-28

6.1-6.3

Added the ClearBuffer parameter for streaming data; fixed bug with streaming data when NumOfEvents=inf; fixed the documentation of NumOfEvents default value

2.14

2019-03-14

3.1

Fixed a problem specifying parameters via Matlab table

3.1

Added ability to specify parameters using Matlab class object properties, similar to struct fields

3.1, 14

Invalid parameter names are now ignored (a warning is displayed), rather than raising a Matlab error/exception

4.1 etc.

Improved handling of multi-symbol queries

4-7, 11.1

Symbols, Fields, and news Sources can now be separated by ':' or ',' (for example, 'IBM:HP' or 'IBM,HP')

2.15

2019-03-24

12.1

Added display of a few types of IQFeed system messages (excluding the periodic stats messages) in Debug mode

12.2

Added programmatic control of IQFeed logging

2.16

2019-04-17

5.2, 5.3

Added the ability to specify BeginDate for historic weekly/monthly data requests, in addition to MaxItems

2.17

2019-05-07

3.4, 5.4

Display an explanatory message upon an IQFeed account authorization error

4.1, 4.3, 5.1, 7.2, 8.1, 14

Clarified warning message in case of partial results returned due to timeout, by including a suggestion to decrease the NumOfEvents parameter value, where this is relevant

4.4, 6.4

Added support for equity Level 2 data (in addition to futures Level 2, which was already supported); Added ID fields to all returned Level 2 data (futures and equities); changed default NumOfEvents from inf to 10; IQML now connects to IQFeed L2 servers only as needed, not in startup; Issue an error message for each separate failure to access L2 data, not just during the initial connection attempt; Added the IncludeEmptyQuotes parameter

5.4, 5.5

Fixed parallelization when only one of BeginDateTime / EndDateTime is specified but not the other

9.1

Improved behavior for users with multiple IQFeed accounts using the Username/Password parameters; Improved startup speed in case of multiple connects/ disconnects during the day

2.18

2019-05-14

9.1

Added an informative alert when another process is using one of IQFeed’s expected connection ports

3.1, 9.5

Added the 'registry' action and functionality, to enable convenient access to IQFeed’s registry settings

2.19

2019-07-07

-

Added functionSignatures.json file for easier IQML usage in Live Editor

-

Fixed compatibility problem with old Matlab releases (R2008a - R2012b)

3.1, 5.6

Added the 'summary' action and functionality, to fetch historic end-of-day market summary (Professional license)

4

Improved query responsivity in case of IQFeed error; improved performance of single-symbol queries

4.1

Support IQFeed client 6.1: new quotes data Fields (Most

Recent Trade Aggressor, Most Recent Trade Day Code)

4.2

Support IQFeed client 6.1: new fundamental data fields (Session_Open_Time, Session_Close_Time, Base_Currency, Contract_Size, Contract_Months, Minimum_Tick_Size, FIGI, First_Delivery_Date, and Security_SubType)

5.1-5.3

Included today’s partial daily trading data in day/week/ month history queries, in IQFeed client 6.1 or newer.

5.4

Added LabelAtBeginning parameter for historic interval data queries (requires IQFeed client version 6 or newer)

8.2

Default value for IncludeBinary parameter is now false

9.1

Added Protocol parameter to customize initial connection

2.20

2019-07-10

5.6

Added the ReportEmptyFields, Filter parameters and functionality (scanning based on multiple filter criteria)

9.1

Improved IQConnect startup on Linux/Mac via wine

2.21

2019-07-14

4.6

Enabled fetching latest (current) market summary/scanner via a 'summary' query (Professional license)

5.6

Default Date parameter value changed (yesterdayànow)

2.22

2019-07-17

-

Fixed a bug that caused a “Duplicate field name Reserved” error for some queries on some Matlab releases

4.2

Added Underlying_Contract field for continuous futures

4.6

Fixed bug in change % fields of 'top' scanner queries; reordered 'top' results volume fields for improved readability

2.23

2019-09-18

-

Improved collection of parallelized results, in case some of the results returned an error or empty data

4.3

Added UseParallel parameter functionality to IntervalBars

5

Fixed the implementation of MaxItems=-1, due to an IQFeed API behavior change

2.24

2019-10-05

-

Improved processing speed and streaming data throughput

5.5

Added TradeAggressor, DayOfMonth fields to reported ticks data (IQFeed client 6.1 or newer)

8.*

Fixed duplicate lookup entries after an IQML reconnect

9.4

Enabled multiple custom commands in single IQML query

2.25

2019-10-06

-

Clarified a few error messages

5.*

Fixed bug in historic data that was introduced in release 2.24

9.1

Improved detection of port conflicts with other programs

2.26

2019-10-25

2.1

Improved reporting of missing program components

4.*

Fixed bug when multiple symbols are queried together and some symbols have no data (e.g., bad ticker)

4.*

Fixed bug of not distinguishing between symbols with '.' and '-' (e.g., AGM.A, AGM-A) when they are both queried

4.2

Added fundamental data caching for improved performance

4.5

Automatically infer UnderlyingSymbol for future options

4.*, 5.*

Small performance speedup of multi-symbol queries

2.27

2019-11-08

2.1

Improved reporting of a missing IQFeed installation

2.4

Added display of extra clarification messages upon successful completion of IQML version update or revert

4.1

Added Exchange_Description field if Exchange_Id field is reported by IQFeed and MsgParsingLevel=2

4.1, 4.2

Fixed bug decoding Exchange_Description of some markets

4.5

Improved auto-infer of UnderlyingSymbol for options; added Underlying_Asset_Name field to the returned data.

8.2

Added warning when trying to use the Years parameter in an index/equity chain query

9.1

Improved detection of port conflicts with other programs

2.28

2019-11-09

2.2

Fixed activation issue with compiled IQML on some deployed computers (requires reactivation)

2.29

2019-11-21

2.2

Clarified activation error messages in deployed programs; Improved activation resiliency to short network hickups and MacOS-induced hostname changes

2.4

Skip version update check in deployed (compiled) program

4.1

Improved processing speed of quotes queries using Fields

4.2

Added SIC and NAICS sector classification data in fundamental data queries

9.1

Improved detection of port conflicts with other programs

2.30

2019-12-08

4.2

Improved processing speed of fundamental data queries

4.5

Improved resiliency of Greeks query to some data errors

5.*

Improved processing speed of all historic data queries

8.1

Improved processing speed of symbol lookup queries

9.3

Fixed an edge-case problem with some client stats queries

11.2

Added support for 'regional' data type in the alert Trigger; Added support for 'contains' operator in all alert types; Added warning when user requests a trigger field that is not included in the latest setting of the quotes Fields

2.31

2019-12-12

*.*

Fixed incompatibility with Matlab releases R2009a or older

4.2

Fixed a bug in parsing of reported date fields

4.5

Added UseImpliedVolatility optional Greeks parameter; Added Volatility_Used_By_Greeks field to reported data

2.311

2019-12-13

5.*

Fixed bug in parsing of reported history Datestamp field

7.2

Fixed bug in parsing reported news Timestamp field (Pro)

2.32

2019-12-16

2.4

Modified the hyperlinks in the new-version message

4.1

Fixed bug in accumulating multiple quotes when some fields data is missing/empty in some quotes but not others

5.*

Improved processing speed of all historic data queries

2.33

2019-12-31

4.5

Displayed warning message when Greeks are requested for expired contracts or with contracts with missing data

4.6

Identified casses of missing summary data from IQFeed

5.4, 5.5

Clarified that BeginDateTime/EndDateTime have precedence over (override) the Days parameter; displayed a warning message when trying to use Days in such cases

8.2

Clarified the warning message when querying a chain with DataType='options' and non-default Years

2.34

2020-01-16

4.3

Fixed bug in parsing the am time part in a BeginDateTime parameter that is specified in numeric format

6.3

Added MaxUpdateDuration parameter for streaming intervalbars queries

2.35

2020-02-05

9.1

Fixed a connection conflict with IQFeed’s Excel connector

2.36

2020-03-06

7.2

Minimal Timeout of 60 secs for GetStory queries (Pro)

7.3

Report only unique symbols in a news story query (Pro)

2.37

2020-03-30

3.1

When an invalid parameter is specified, the list of all valid action parameters is displayed in the warning message

7.2

Improved performance of news headlines query (Pro)

10.1

Improved reporting of errors in user-specified callback function for an IQFeed message event

2.38

2020-04-14

*.*

Improved UseParallel robustness in some scenarios/edge-cases (Professional license)

2.2

Removed IB-Matlab connector cross-check in deployed apps

7.2

Fixed error when IQFeed sends empty news headlines (Pro)

2.39

2020-04-16

*.*

Added informative message when the user specifies an invalid Symbol format

4.1

Fixed bug when using custom Fields in UseParallel mode for multiple Symbols

9.3

IQConnect’s Diagnostics utility now displays IQML version and parallel workers in its Client Stats tab

2.40

2020-04-20

*.*

Fixed: enabled "symbol" in addition to 'symbol' in the Symbol parameter (broken in version 2.39)

4.1

Fixed bad data in parallel quotes query of duplicate symbols

5.1-5.5

Added Fields parameter to history queries for improved processing speed and memory usage (Professional license)

5.1-5.5

Fixed error when parallel historic query of multiple symbols returns non-matching data sizes

2.41

2020-05-03

3.4

Detect & handle case of a missing 'Symbol' parameter, e.g. IQML('quotes','IBM')

5.1-5.5

Improved performance of history queries

6.*

Improved speed of IQML commands that start streaming; Added AssignTo parameter to enable assigning streaming data to base Matlab workspace variables, with live updates

6.2

Fixed a bug in fetching streaming Regional quotes

6.3

Added BarTypeCode, EventDatenum, EventTimestamp fields to streaming intervalbars data

9.1

Faster initial connection to IQFeed; Added extra debug printouts to assist diagnosing IQFeed connection problems

2.42

2020-05-04

4.2

Fixed bug in fundamental data query

5.1-5.5

Fixed bug in history query of multiple symbols at once

2.43

2020-05-10

5.1-5.5

When IQFeed has no history data for a query, IQML now returns [], not a 'NO_DATA' error

9.1

Fixed bug when disconnecting from non-connected IQFeed

9.1

Faster initial connection to IQFeed (cached lookups etc.)

2.44

2020-06-05

5.1-5.5

Fixed empty results in some parallel history queries (Pro)

7.2

Fixed various edge-cases with news headlines query (Pro)

2.45

2020-06-23

5.1, 5.4, 5.5

Added input parameter checks: BeginDate < EndDate, BeginDateTime < EndDateTime

8.*

Fixed duplicate lookup entries reported by IQFeed

8.1

Speedup of symbols lookup; enabled searching all symbols (empty Name parameter) for the specified Market/SecType

2.46

2020-06-30

5.1

Fixed single-day history query (BeginDate=EndDate), broken in version 2.45

5.1-5.5

Added the Progress input parameter to history queries

8.3-8.7

Added the ID filtering parameter to lookup queries

2.47

2020-11-29

3.6

Fixed occasional errors that might occur during the initial connection of parallel workers to IQFeed (Pro license)

4.2

Added Fiscal_Year_End_Description field to the fundamental data results – a textual description of the numeric Fiscal_Year_End field

5.6

Clarified error message when market summary data is unavailable (Professional license)

6.*

Improved the performance of fetching streaming quotes during live (real-time) streaming

8.2

Handled cases of IQFeed server error when requesting options chain (Professional license)

12.2

Fixed error in case the IQFeed client has not yet set a logging-level registry value

2.48

2020-12-02

*.*

Fixed bug when trying to display PDF docs on MacOS

*.*

Fixed edge-case when retrieving data in parallel with the UseParallel parameter (Professional license)

3.6, 4.1, 4.3, 4.5, 5.1-5.5, 7.2, 8.2

Added MaxWorkers input parameter to limit the number of active parallel workers when using the UseParallel parameter for parallelized queries (Professional license)

5.1-5.5

Increased default maximal number of parallel workers in parallelized history queries from 14à15 (Pro license)

5.6

Fixed bug in filtering numeric summary data when MsgParsingLevel = 0 (Professional license)

2.49

2021-01-03

3.2, 3.5

Added new OutputFormat parameter to enable easy reporting of results in cell/struct/table/timetable formats

5.1-5.5

Fixed certain problems with parallel download of historic data (Pro license)

12.1

Added display of context information in run-time errors

2.50

2021-01-24

8.1

Fixed symbols lookup query with empty/unspecified Name filter parameter;
Added new Progress parameter to display lookup query progress (same as in history queries);

Added ability to filter symbols lookup query by Market group (e.g. 'NYSE'), not just specific market name(s)/id(s)

8.2

Fixed: chain symbols query did not report some equity options unless NearMonths parameter was set (Pro license)

2.51

2021-02-03

7.*

Fixed a problem with news query without a Symbol filter due to a DTN server-side change (Pro license)

7.2

Added Datenum field to news headlines query;
Fixed Timestamp field to standard format (Pro license)

9.1

Auto-reconnect IQML to IQFeed when IQConnect is not communicating for a long time

9.3

Added Datenum, Timestamp, TotalMsgsRcv fields to client stats data

2.52

2021-02-23

4.4, 6.4

Added support for new IQFeed client 6.2, including new Level 2 functionality (Market-by-Price, Market-by-Order); Added BidSizeRatio, AskSizeRatio fields to results; Added Detailed, MaxLevels parameters. (Pro license)

4.6

Fetch previous day's summary data if data for requested date is unavailable (Pro license)

7.2

Handled edge case of news headlines that are reported with missing/invalid timestamp

9.1

Avoid repeated attempts to launch the IQFeed client on startup, in case it is not detected in the expected location; Added alert in case the installed IQFeed client appears to be older than the latest available stable IQFeed client.

9.1, 9.5

Added support for IQFeed client 6.2’s new registry hive

2.53

2021-04-06

3.6, 6.1

Added new OverflowMode, MaxEventsBacklog parameters for message overflow handling

4.4, 6.4

Improved support for new IQFeed client 6.2 Level 2 functionality; added market-maker description (Pro license)

4.6

Added description fields for Exchange/Markets/SIC/ NAICS codes in summary query results (Pro license)

9.3

Added msg overflow handling data to reported client stats

11

Fixed: alert ID was not properly returned in alert queries

2.54

2021-05-03

4.5

Fixed: implied volatility was sometimes reported as ±inf

5.2, 5.3

Added EndDate parameter for weekly/monthly history queries, as in daily/interval history queries

5.1-5.4

Fixed some BeginDate/EndDate/MaxItems parameter inconsistencies in history queries

2.55

2021-05-10

2.1

Added Filepath field to the output of IQML('version')

5.1-5.4

Fixed problem of empty data reported when MaxItems = -1

9.1

Added Timeout parameter to IQML('reconnect') actions

2.56

2021-06-23

*.*

Fixed occasional “corrupt P-file” errors in parallel setups (Pro license)

2.4

Automatically disconnect from IQFeed when installing an IQML update

4.6

Fixed: summary data query sometimes reported missing data (Pro license)

12.1

Simplified error message in case of IQML run-time error

2.57

2021-07-11

7.2

Fixed: Timeout parameter was not used by news story queries when GetStory=true (Pro license)

7.3

Fixed edge cases of some news stories reported as errors by IQFeed client version 6.1 (Pro license)

7.3

Added URL field to reported news stories, if a URL is detected in the story text (Pro license)

7.*

Improved performance (reduced run-time) of news story queries, especially story texts (Pro license)

9.1

Removed some harmless warning messages when connecting IQML to IQConnect in certain cases

2.58

2021-11-21

*.*

Replaced all references to iqml.net with undocumentedmatlab.com

4.4

Fixed display of the market-maker description in MarketDepth (Level2) queries (Pro license)

6.1

Clarified warning when requesting streaming quotes for more symbols than IQFeed allows

9.1

Display client, protocol versions in connection success msg

9.1

Handled unsolicited changes of MacBookPro computer name by MacOS, affecting IQML’s activation

9.3

Added NumOfAvailableSymbols, ProtocolInUse, IQFeedAccountExpiryDate fields to client stats data

2.59

2021-12-14

2.2

Added 'validate' action: returns true if IQML license is ok, and an error (or an error message) if it is not.

4.3, 5.*, 6.3, 7.4

Added support for a few additional formats of date parameters, such as '21/11/15', 'Nov 15', '15-Nov-2021'

7.2

Fixed: News headlines request returned partial results on Matlab R2021b (Pro license)

2.60

2021-12-31

4.3, 5.*, 6.3, 7.4

Fixed bug in parsing of default BeginDate parameter value; Improved reporting of invalid date/time parameter values

8.2

Added Fields parameter to option chains query (Pro license)

2.61

2022-02-07

2.2

Fixed IQML activation problem on a Matlab pre-release

2.4

Removed harmless warning message during version update about overwriting files

9.1

Automatically reconnect bad IQFeed connection (misleading “no data for query” error)

2.62

2022-02-27

4.3, 5.*, 6.3, 7.4

Fixed processing of various non-standard date parameters formats/variants

5.*

Fixed reported symbol in error msg of a failed history query

5.2, 5.3

Fixed weekly/monthly historic data when MaxItems = -1 (all data points) and non-default BeginDate

8.3-8.7

Added ForcedRefresh parameter to most lookup queries

8.*

Fixed: lookup queries sometimes returned cell array instead of struct array

2.63

2022-03-26

4.3, 5.4, 5.5, 6.3

Fixed a parsing problem with DateTime parameters that contain spaces (e.g. '20220324 123456')

6.1

Fixed a possible error when requesting streaming quotes with non-default Fields during IQML connection

2.64

2022-10-11

4.3, 6.3

Fixed field name typo: CummlativeVolumeàCumulativeVolume

6.1

Added warning when setting Fields in an ongoing data-fetch query instead of in the initial streaming request

8.1

Fixed: symbol lookup query returned empty when IQFeed reported just a single result

*.*

Small speedup of IQFeed messages processing

2.65

2022-11-30

9.1

Improved connection time of parallel workers (Pro license)

2.66

2022-03-26

2.2

Improved license fingerprint stability for MacOS users

2.67

2022-08-16

4.6

Scanner Filter now accepts 'or', 'and' as criteria operators (in addition to '|', '&'); clarified documentation

9.1

Improved initial connection of parallel workers (Pro)