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 the change type: F=functional; D=documentation:

Version

Date

Section

Description

*

0.80

2017-10-17

-

Beta integration of IQML in a user trading program

F

1.00

2018-02-26

-

First commercial release of IQML

F

1.01

2018-03-11

8.1

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

F

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

F

7.1, 11

Clarified automatic connection re-establishment

D

1.03

2018-03-19

3.2

Enabled Symbol and Symbols as synonymous params

F

4.1, 6.1

Improved ticks request logic & the returned data fields

F

6.1

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

F

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)

F

3.2

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

F

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

F

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

F

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

F

8-13

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

D

8.2

Added new section on callback run-time performance

D

10

Added timestamp and channel info to debug printouts

F

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

F

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)

F

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

F

9.3

Added extra port-specific stats when AddPortStats=1

F

1.06

2018-04-08

8.2

Added options/futures chain lookup functionality

F

1.07

2018-04-10

9.1

Added info msgs on server connections/disconnections

F

1.08

2018-04-11

4.1, 6.1

Added the Symbol field to returned quotes data struct

F

10.4

Added usage example of realtime quotes user callback

D

1.09

2018-04-16

6.3

Added Interval Bars functionality

F

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

F

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

F

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 news story in news headlines query (streaming/blocking) using GetStory parameter

F

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

F

11.1, 11.2

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

F

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 the news headlines functionality

F

1.14

2018-05-30

4.2

Enabled specifying multiple Symbols in a single Fundamental-data query

F

6.2

Enabled specifying multiple Symbols in a single streaming Regional updates query

F

7.3

Enabled specifying multiple news headline ID values in a single news story query

F

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

F

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

F

8.2

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

F

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

F

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

F

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

F

9.1

Fixed problem of duplicate fields during initial connection

F

9.1

Improved the reliability of a programmatic IQFeed disconnect/reconnect

F

1.19

2018-08-06

3.2, 12

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

F

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

F

5.1, 5.4, 5.5

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

F

1.21

2018-08-10

8.1

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

F

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.

F

3.2 etc.

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

F

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.

F

9.1

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

F

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)

F

2

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

F

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

F

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

F

4.1, 8.2

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

F

4.3

Added new section on blocking interval bars functionality

F

4.3, 5.4, 6.3

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

F

4.3, 5, 6.3, 7.4

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

F

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

F

7.4

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

F

9.3

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

F

11

Fixed various things 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.

F

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

F

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

F

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

F

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

F

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)

F

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.

F

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.

F

4.5

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

F

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

F

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

F

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

F

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

F

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')

F

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

F

12.2

Added programmatic control of IQFeed logging

F

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

F

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

F

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

F

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

F

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

F

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

F

3.1, 9.5

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

F

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://IQML.net/files/IQML_User_Guide)

D

-

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

F

-

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)

F

4

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

F

4.1

Support for IQFeed client 6.1: new optional Fields (Most

Recent Trade Aggressor, Most Recent Trade Day Code)

F

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.

F

5.1-5.3

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

F

5.4

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

F

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

F

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)

F

8.2

Fixed the description of the IncludeBinary parameter

D

9.1

Improved IQConnect startup on Linux/Mac via wine

F

2.21

2019-07-14

4.6

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

F

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

F

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

F

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

F

5.5

Added TradeAggressor, DayOfMonth tick fields (IQFeed 6.1+)

F

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 codes, and possibly also NAICS codes

D

9.4

Enabled multiple custom commands in each IQML query

F

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

F

2.26

2019-10-26

2.1

Improved reporting of missing program components

F

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

F

4.5

Automatically infer UnderlyingSymbol for future option

F

4.*, 5.*

Small performance speedup of multi-symbol queries

F

2.27

2019-11-08

Cover

Updated compatibility notice for Matlab release R2020a

D

2.1

Improved reporting of a missing IQFeed installation

F

2.4

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

F

4.1

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

F

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

F

8.2

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

F

9.1

Improved detection of port conflicts with other programs

F

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

F

2.4

Skip version update check in deployed (compiled) environments

F

4.1

Improved processing speed of quotes queries having a Fields parameter

F

4.2

Added SIC and NAICS sector classification data in fundamental data queries

F

9.1

Improved detection of port conflicts with other programs

F

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 the reported news-story text, for better readability

7.5

Added new streaming news functionality

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.3, 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 news story in news headlines query (streaming/blocking) using GetStory parameter

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

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

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)

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 having a Fields parameter

4.2

Added SIC and NAICS sector classification data in fundamental data queries

9.1

Improved detection of port conflicts with other programs