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 does not transmit any information externally except to IQFeed, so your trading information are as safe as your own computer.
- 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)
- a locally-installed IQFeed client (IQConnect)
- an active IQFeed data account
- Platforms: IQML works on all platforms on which IQFeed runs: Windows, Mac OS, Linux.
- IQFeed: IQML works with all recent IQFeed releases, including the latest IQFeed API (6.1).
- Matlab: IQML works on all Matlab releases since 2008, including the latest release (R2019b).
- Quick-reference help
- Full User Guide (PDF, ~170 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).
For a detailed description of the functionalities in the following table, read the User Guide (PDF, ~150 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||Custom N-seconds/minutes/hours/daily/weekly/monthly interval bars|
|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||Time 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|
|Implicit and explicit parallelization of 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 and Implied Volatility||4.5||included||–||included|
|Market scanner based on fundamental and trading criteria new!||4.6||included||–||included|
|Intra-day market summary (data for all listed securities) new!||4.6||included||–||included|
|Historic end-of-day market summaries new!||5.6||included||–||included||Includes expired contracts and delisted symbols|
|Streaming regional updates||6.2||included||–||included|
|News bulletins (historic/streaming)||7||included||–||included||Headlines, full stories, story-counts, filters|
|Options/futures chain lookup||8.2, 10.3||included||–||included||Symbols, fundamental data, Greeks, and latest quotes|
|Alert upon settable market events (news/quotes/intervalbar/regional triggers)||11||included||–||included||Alert reported via email/text/popup/console/callback|
|Multiple data fields in quotes data||4.1, 6.1||customizable (1-70)||fixed (16)||customizable (1-70)||Up to 70 data fields provided by IQFeed|
Pricing and support
|License type||License duration 5||Standard license 6,7||Professional license 7||Remarks|
|Free trial (see below)||30 days||Free||Free||No extension or renewal|
|Commercial 1||2 months||
|Most popular ($17/$25 per month)|
|Best value ($12/$17 per month)|
|Academic 1,2||4 months||
|Bundle: IB-Matlab + IQML 1||1 year||IB-Matlab = InteractiveBrokers-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|
|Custom trading-program development (examples)||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 users having an active email from a degree-granting academic institution (for example, firstname.lastname@example.org, email@example.com).
- 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 (30 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 30-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)