IQML: Matlab connector to IQFeed

Access live and historic financial market data from DTN IQFeed in Matlab, using the IQML application.IQML free trial

IQML is a Matlab connector to IQFeed, enabling users to leverage Matlab’s superior analysis and visualization capabilities, with IQFeed’s reliable data-feed of live and historic market data for stocks, ETFs, mutual funds, bonds, options, futures, commodities and Forex. IQML can be used for both automated algo-trading and selective manual trading, as well as continuous market data feed.

Simple Matlab commands access IQFeed’s data, in either blocking (snapshot) or non-blocking (streaming) mode:

IQML's IQFeed-Matlab connectivity

  • Live Level1 top-of-book market data (quotes and trades)
  • Live Level2 market-depth data
  • Historic, intra-day and live market data (individual ticks or interval bars)
  • Fundamental info on assets
  • Market scanner based on fundamental and trading criteria
  • Options and futures chains lookup (with market data, Greeks)
  • Symbols and market codes lookup
  • News headlines, story-counts and complete news stories, with user-specified filters
  • Ability to attach user-defined Matlab callback functions to IQFeed messages and market events
  • User-defined custom alerts on streaming market events (news/quotes/interval-bar/regional triggers)
  • Connection stats and programmatic connect/disconnect
  • Combine all of the above for a full-fledged end-to-end automated trading system using plain Matlab

IQML provides a reliable, easy-to-use Matlab interface to IQFeed that works right out of the box, and was optimized for excellent performance, reliability, stability and compatibility.

A very detailed User Guide is provided, complete with numerous usage examples and implementation tips.

Download a fully-functional free trial now, and check for yourself! (or email us at info@undocumentedmatlab.com for additional information)

Program features

Click to view the full IQML User Guide (PDF)
Click to view the IQML User Guide (PDF)
  • Full solution – IQML provides easy-to-use access to IQFeed’s entire data-set within Matlab. Only the core Matlab and IQFeed’s client app are required – no additional toolbox or component is required.
  • Stability – IQML has been extensively tested. It is rock solid.
  • Inexpensive – IQML provides excellent value compared to other connectors of its kind or to the amount of time that would be needed to develop a similar robust connector from scratch. A fully-functional free trial version is available (see below).
  • Easy to use – Users can access IQFeed’s data by simple Matlab commands, without need for any Matlab programming. IQML simplifies the IQFeed API in a very easy-to-use yet powerful interface that can be used by any Matlab user, novice or advanced.
  • Extensive IQFeed functionality – See full functionality list below
  • Novice and advanced users – Users can use easy-to-use Matlab commands, to access IQFeed’s data. Minimal or no programming is required to access this data.
  • Blocking and non-blocking (streaming) modes – Users can receive IQFeed data both synchronously (waiting for data to arrive with optional timeout), and asynchronously (streaming data in the background).
  • Settable market alerts – Users can define custom alerts on streaming news/quotes/interval-bars/regional-updates, which can be reported in various ways (popup window, console message, email, text (SMS) message, or Matlab callback function).
  • User callbacks – Users can attach Matlab code (callbacks) to IQFeed messages. For example, this enables adding an entry in an Excel file, or sending an email, whenever a stock reaches a certain price or trade volume (also note the related alerts functionality).
  • Compatibility – IQML works on all platforms where IQFeed runs (Windows, Mac OS, Linux), using practically any combination of IQFeed and Matlab release of the past decade (details).
  • Security – IQML transmits information only to IQFeed, so your trading information are as safe as your own computer.
  • Compilable – IQML can be compiled into a standalone executable or program component, running as an integral part of your deployed program.
  • Performance – IQML is optimized for performance, providing fast and responsive connectivity. While Matlab as a platform is not well-suited for HFT, IQML enables receiving hundreds of streaming quotes or other IQFeed messages per second, with message latencies as low as 1ms and parallelization supported.
  • Development – IQML was developed by an acknowledged Matlab expert, who wrote the reference textbooks on Matlab-Java connectivity and Matlab performance, as well as the acclaimed IB-Matlab connector (Matlab connector to Interactive Brokers). IQML is continuously improved and maintained.
  • Support – Custom development and ongoing support is available directly from the developer, with extremely fast response times.
  • Documentation – Extensive and comprehensive documentation, with numerous code examples and usage tips (see below).
  • Backtesting – IQML does not include backtesting functionality. IQML’s author (Yair Altman) has extensive experience in developing complete backtesting and real-time trading applications. We will be happy to develop a new application based on your specifications, or to integrate IQML into your existing application, under a consulting contract.

No other solution provides this rich set of features. Don’t take our word for it – download the free trial and check for yourself. You will not be disappointed. If you have any question, don’t hesitate to email us at info@undocumentedmatlab.com for additional information.

Requirements and compatibility

IQML is a Matlab connector to IQFeed, so it naturally requires the user to have both, specifically:
Mathworks partner

  • a locally-installed Matlab (no toolbox is required) or MCR (for a compiled application)
  • a locally-installed IQFeed client (IQConnect)
  • an active IQFeed data account

Compatibility:

  • Platforms: IQML works on all platforms on which IQFeed runs: Windows, Linux, Mac OS.
  • IQFeed: IQML works with all recent IQFeed releases, including the latest IQFeed API (6.2).
  • Matlab: IQML works on all Matlab releases since 2008, including the latest release (R2023a).

Documentation

Munich Germany Expo video, 10 May, 2016
Matlab Expo 2016 keynote (32:45)

Reviews and testimonials

The following product reviews were provided by IQML users (read the full reviews):

  • “Having struggled with Matlab’s data feed toolbox, I found the IQML product. What a night and day experience! This is absolutely the gold standard for working with market data.”
       – Albert Zhang, USA
  • “Fantastic product that works flawlessly and has saved me a lot of work, time and money on developing my trading systems!”
       – Rodney Ngone, UK
  • “Many features are making IQML computationally attractive and competitive with regards to other options. Yair support is first class. I strongly recommend IQML.”
       – Pierre R, Australia
  • “Before IQML I spent an inordinate amount of time to consistently retrieve IQFeed data via Matlab. IQML works flawlessly, allowing me to focus on strategy development.”
       – Jeff Busse, USA
  • “IQML for Matlab works out of the box like a charm and uses parallel execution. This enabled me to get my project up and running in a fraction of the planned time.”
       – Georgios Karas, Netherlands
  • “I find IQML intuitive and easy to use. IQML blends perfectly into my MATLAB environment. I get 40 quotes per 10 ms using the real time method. I will definitely help spread the word!”
       – Joe Galbraith, USA
  • “IQML meets institutional-level trading expectations for financial market data coverage, low latency, and easy reference. The interfaces provide intuitive Matlab commands, rock solid performance, robust documentation and Yair is available to personally tailor client needs. Well done, Mr. Altman!”
       – David M, USA
  • “IQML saved us hundreds of hours. It’s so well designed. Our systems are fully automated and very sophisticated and to get IQML working so quickly with such an easy integration, is truly a gift. Yair is the most responsive engineer I have seen – and I have seen a lot. Big companies should learn from Yair’s approach to design and customer service.”
       – Theo Koutras, USA
  • “My switch to IQML and IB-Matlab was a milestone for my work. It took me just two days to be fully productive. No more messing with technical details, I can focus on the essentials.”
       – Pietro P, Austria
  • “With IQML/IQFeed and IB-Matlab/Interactive-Brokers, you will be able to build a complete trading tool, from backtesting of the historical data to executing your trading strategies. These connectors are robust and compatible with the Parallel Toolbox of Matlab. On top of that, Yair is always keen to provide effective support.”
       – Jean-Claude H, France
  • “IQML works flawlessly, fast and is very robust. Amazing responsive service from Yair.
       – Jorn D, Belgium
  • “Yair’s Matlab-based finance add-ons has been a huge benefit to our trading. Yair is always quick to respond to queries. I cannot recommend his products and services more highly!”
       – Brett Venter, UK
  • “IQML saved me countless hours analyzing historical data and streaming real-time data into Matlab. The documentation and functionality are an apex of software design and support.”
       – Masoud Farshchian, USA

Additional detailed reviews and testimonials

Functionality matrix

For a detailed description of the functionalities in the following table, read the User Guide (PDF, ~200 pages). Corresponding usage examples for some of the important features can be found here. If you don’t see an important feature here, please let us know about it.

Feature User Guide
section(s)
Free trial Standard license Professional license Remarks
Compilable/deployable via Matlab Compiler 2.2 included included included See note 4 in Pricing table below
Latest (top of book) market data 4.1 included included included
Latest interval bars data (snapshot/streaming) 4.3, 6.3 included included included Configurable bars duration
Historic and intra-day market data 5.1-5.4 included included included
Ticks data (historic/streaming) 5.5, 6.1, 10.4 included included included Quotes/trades
Millisec/microsec ticks time resolution 5, 6 included included included Resolution depends on exchange data
Fundamental data 4.2 included included included
Symbols/markets lookup 8.1, 8.3 included included included
SIC/NAICS/Condition codes lookup 8.4-8.7 included included included
Programmatic connect/disconnect 9.1 included included included
Client connection stats 9.3 included included included
Send custom commands to IQFeed 9.4 included included included
Settable timeout for blocking data requests 3.2-3.3 included included included
Blocking and non-blocking modes 3.3 included included included
Attach custom Matlab callbacks to IQFeed messages 10 included included included
Display raw IQFeed messages data 12 included included included
Customizable data fields in quotes data 4.1, 6.1 customizable (1-70) fixed (16) customizable (1-70) Up to 70 data fields available
Customizable data fields in history data  new! 5.1-5.5 customizable (1-18) fixed customizable (1-18) Up to 18 data fields available
Parallelized queries 3.6 included included Requires Matlab’s Parallel Computing Toolbox
Level 2 market-depth data (snapshot/streaming) 4.4, 6.4, 10.5 included included
Option Greeks, Fair Value, Implied Volatility 4.5 included included
Options/futures chain lookup 8.2, 10.3 included included Symbols, fundamental data, Greeks, quotes
Market scanner based on filter criteria  new! 4.6 included included
Intra-day market summary of all listed securities  new! 4.6 included included Updated every 5 minutes
Historic end-of-day market summaries  new! 5.6 included included Includes expired contracts, delisted symbols
Streaming regional updates 6.2 included included
News bulletins (historic/streaming) 7 included included Headlines, full stories, story-counts, filters
Alert upon settable market events
(news/quotes/intervalbar/regional triggers)
11 included included Alert reported via
email/text/popup/console/callback

Pricing and support

License type License duration 5 Standard license 6,7 Professional license 7 Remarks
Free trial (see below) 15 days Free Free No extension or renewal
Commercial 1 2 months
$69 buy
$99 buy
6 months
$149 buy
$199 buy
1 year
$199 buy
$299 buy
Most popular
2 years
$349 buy
$499 buy
3 years
$499 buy
$699 buy
Best value ($14/$19 per month)
Academic 1,2 6 months
$99 buy
$149 buy
Contact us for special course-wide pricing
1 year
$149 buy
$199 buy
2 years
$249 buy
$349 buy
Bundle: IB-Matlab + IQML 1 6 months
$299 buy
$349 buy
IB-Matlab = InteractiveBrokers-Matlab connector (description)

similar bundle for EODML = EOD-Matlab connector (description)

1 year
$399 buy
$499 buy
2 years
$649 buy
$799 buy
3 years
$899 buy
$1099 buy
4-hour support package 3 1 year
$399 buy
$399 buy
10-hour support package 3 1 year
$899 buy
$899 buy
Volume (multiple computers) flexible    Contact us    Contact us Multiple computers
Site license flexible
Deployment (compiled or OEM) 4 flexible
Development (source-code) unlimited
Custom feature development unlimited
Custom trading-program
development (examples)
unlimited

Notes:

  1. Each individual license (Commercial, Academic, or Bundle) is limited to a single user on a single physical computer. Running on multiple computers requires multiple individual licenses, or one of the other license types (Site, Deployment or Development).
  2. The Academic license is available to currently-active members of a degree-granting academic institution (students or faculty) who use an academic email account.
  3. The support package is discounted to support IB-Matlab and IQML usage, in addition to free installation support. One support package per customer.
    Support via email/chat/phone, Sun-Fri. Guaranteed response within 1 business day, typical response within 1 hour during EST/GMT business hours.
    Package expires 12 months after its purchase. Additional support beyond the purchased package can be purchased at regular consulting rate.
  4. IQML can be compiled and deployed using the Matlab Compiler. Each computer running a compiled IQML requires an IQML license (just like a non-compiled IQML that runs in Matlab), unless you get a group license (Site, Deployment, or Development). In other words, for your deployed computers you have a choice of either buying individual licenses (separately for each deployed computer), or a group license which does not require dedicated license activations.
  5. License renewal can be to any license type and any duration, not necessarily the same as the original license purchase, as per the pricing table at the time of renewal.
  6. Each Standard license can be upgraded to a Professional license for the price difference plus a $50 change fee. Contact us to get the payment link.
  7. License cost includes free support by email for installation problems, and unlimited free product upgrades during the license term. Prices are subject to change from time to time.
    Payment is processed by PayPal. A PayPal account is not required; all major credit cards are accepted. Contact us if you wish to pay via wire (bank) transfer.
    Secure payment via PayPal

If you have any question, don’t hesitate to email us at info@undocumentedmatlab.com for additional information.

Free trial version

IQML free trial

Download a free trial of IQML with detailed installation and usage instructions. There are absolutely no strings attached: the trial is completely free and fully functional, just limited in duration (15 days).

You only need the basic Matlab, no toolbox is required. You can be up and running within minutes. We are confident that you will love the product, so we encourage you to test it:

Download your free 15-day trial now! (or email us at info@undocumentedmatlab.com for additional information)

Legal disclaimer

THIS SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, LOSS OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(detailed disclaimer is available in IQML’s User Guide)

Print This Page Print This Page