1 Introduction

DTN provides financial data-feed services via its IQFeed service (www.iqfeed.net). IQFeed customers use its services using a specialized application (“client”) that can be installed on the user’s computer.1 User programs can interface to IQFeed’s client application in order to retrieve market data from the IQFeed servers.

Matlab is a programming platform that is widely-used in the financial sector. Matlab enables users to quickly analyze data, display results in graphs or interactive user interfaces, and to develop decision-support and automated trading programs.

IQFeed does not come with a Matlab API connector. This is the role of IQML (www.IQML.net). IQML is a program that runs in Matlab and connects it to IQFeed. IQML provides a seamless Matlab interface to IQFeed data and functionality, via easy-to-use Matlab commands. Users avoid the complexities of IQFeed’s API integration.


IQML consists of three software components (in addition to this User Guide):

A Java package (IQML.jar) that connects Matlab to IQFeed’s client application.

A Matlab function (IQML.p) that provides IQFeed’s data in an easy-to-use manner, without needing to know anything about the underlying connector.

A Matlab file (IQML.m) that serves as a help file. This file contains no code, just the help comment; the code itself is contained in the two other software components. The help text is displayed when you run Matlab’s help function.

IQFeed queries (for trades and tick quotes, historical data, market info etc.) can be initiated with simple one-line Matlab code, using the Matlab function (IQML.p).

Users can easily attach Matlab code (callbacks) to incoming IQFeed messages. This enables users to trigger special operations (for example, adding an entry in an Excel file, sending an email or text message, sending a trade order to an OMS application) whenever a certain condition is detected, for example if a specified price is reached.

This document explains how to install and use IQML. Depending on the date that you installed IQML, your version may be missing some features discussed in this document. You can always download the latest IQML version from http://IQML.net/files/IQML.zip or https://UndocumentedMatlab.com/IQML/files/IQML.zip.

1 IQConnect.exe on Windows, IQFeed application on MacOS. or ran as a Windows app on Mac/Linux using Parallels/Wine. Note: some MacOS users have reported problems with the “native” app (which is basically just a bottled Wine installation) compared to a standard Wine install. This is a pure IQFeed/Mac issue, and not an IQML one; using Wine seems to solve it. In any case, only the IQFeed client needs to run under Wine - Matlab itself can run natively, but note that certain Windows-only functionality (such as discussed in §9.5 and §12.2) will not work in native mode, only under Parallels/Wine.