Access live and historic financial market data from DTN IQFeed in Matlab, using the IQML application.
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:
- 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 firstname.lastname@example.org for additional information)
- 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 email@example.com for additional information.
Requirements and compatibility
IQML is a Matlab connector to IQFeed, so it naturally requires the user to have both, specifically:
- 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
- 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).
Matlab Expo 2016 keynote (32:45)
- Quick-reference help
- Full User Guide (PDF, ~200 pages)
- Full User Guide (HTML, web-based)
- Usage examples
- Questions & Answers
- Reviews and testimonials
- Change-log: concise, detailed
- Presentation of a real-time backtest & trading system that uses IQML – a keynote address at the MATLAB Expo Conference in Munich, May 2016 (presentation slides, presentation video).
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
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.
|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|
|Symbols/markets lookup||8.1, 8.3||included||included||included|
|SIC/NAICS/Condition codes lookup||8.4-8.7||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
|11||included||–||included||Alert reported via
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||
|Best value ($14/$19 per month)|
|Academic 1,2||6 months||
|Contact us for special course-wide pricing|
|Bundle: IB-Matlab + IQML 1||6 months||
|IB-Matlab = InteractiveBrokers-Matlab connector (description) similar bundle for EODML = EOD-Matlab connector (description)|
|4-hour support package 3||1 year|
|10-hour support package 3||1 year|
|Volume (multiple computers)||flexible||Contact us||Contact us||Multiple computers|
|Deployment (compiled or OEM) 4||flexible|
|Custom feature development||unlimited|
- 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).
- The Academic license is available to currently-active members of a degree-granting academic institution (students or faculty) who use an academic email account.
- 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.
- 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.
- 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.
- 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.
- 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.
If you have any question, don’t hesitate to email us at firstname.lastname@example.org for additional information.
Free trial version
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 email@example.com for additional information)
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)