Appendix B – change log
Changelog
The following table lists changes done to this document and IB-Matlab. Depending on the date that you have installed IB-Matlab, your version may be missing some features discussed in this document. Whenever you renew your annual license, you will receive the latest IB-Matlab version, including all the functionality detailed here.
Note: The last column indicates the change type: F=functional; D=documentation.
Version | Date | Section(s) | Description | |
1.00 | 2010-12-06 | - | First commercial release of IB-Matlab | F |
1.09 | 2012-04-16 | - | Baseline version for this change-log | D |
1.10 | 2012-05-05 | 4 | Some account-data fields have several variants starting with this IB-Matlab version | F |
15.1 | Clarified on mixing Matlab and Java trade orders | D | ||
1.11 | 2012-05-27 | 16 | Major overhaul of the Pairs Trading sample model | D |
A.2 | Added this new section with references to online MathWorks webinars | D | ||
1.12 | 2012-05-30 | Cover | Added note about compatibility with the IB API version 9.67 | D |
15.2 | Added Java method interfaces commissionReport(), marketDataType(), reqMarketDataType() | F | ||
1.13 | 2012-06-15 | 3 | Added currency usage example (RUTà’CAD’); added explanation how to retrieve contract info in TWS via Contract Info / Description menu | D |
5 | Clarified what happens if any of the pre-conditions for querying market data are not met | D | ||
11.1 | Clarified to follow the hyperlinks in the table | D | ||
12.1 | Fixed usage example code: ‘open’ à ‘executions’ | D | ||
14 | Typo fix: “code=2000” à “code=200)” | D | ||
1.14 | 2012-06-19 | 4 | Clarified about requesting portfolio information (multi-accounts, safe programming, shorts, sums) | D |
8 | Added references to AuxPrice parameter where relevant; added TWAP order type; rearranged the parameters in the order-params table; clarified TIF =‘GTD’ usage; clarified ParentID usage | F | ||
1.15 | 2012-06-28 | 9.4 | Clarified that LimitBasis cannot be used with LimitPrice; fixed the code snippet accordingly | F |
14 | Added discussion of data error leading to -1 value | D | ||
16.1 | Added link to MathWorks Econometrics Toolbox | D | ||
1.16 | 2012-07-18 | 11.1 | Added usage example of the Java connector object for implementing combo-trades | D |
14 | Added discussion of out-of-memory errors | D | ||
1.17 | 2012-08-07 | 9.3 | Fixed LMTSTP à STPLMT | D |
1.18 | 2012-09-13 | Disclaimer | Changed paragraph ordering (no change in text) | D |
3 | Expanded the explanation how to retrieve contract info in TWS via Contract Info / Description menu | D | ||
4 | Added the contract field in the portfolio-query results struct; fixed code snippet (sleepàpause) | F | ||
5 | Clarified that if any of the pre-conditions for querying market data are not met, the returned info can be empty or error | D | ||
9.5 | Clarified on using the ibConnector | D | ||
A.1 | Clarified about telling IB support that IB-Matlab uses the Java API when contacting them | D | ||
1.19 | 2012-09-25 | 5 | Clarified that all time-stamp fields except lastTimestamp reflect the local (not server) time. | D |
1.20 | 2012-09-27 | 11.1, 14, 16.1 | Updated some reference links following changes on the mathworks.com website | D |
1.21 | 2012-10-03 | 2 | Clarified on setting the path in classpath.txt | D |
1.22 | 2012-10-06 | 3 | Clarified on reusing the struct input format | D |
4 | Split §4 into §4.1 (account information) and §4.2 (portfolio information) | D | ||
A.2 | Added resource: added reference to Automated Trading online webinar | D | ||
1.23 | 2012-10-25 | Cover | Updated IB API compatibility: 9.67 à 9.68 | D |
4.1 | Clarified that on a multi-account, not specifying the AccountName parameter can lead to stale or empty account data | D | ||
4.2 | The returned contract field in the portfolio query results struct is now a Matlab struct, not a Java object; clarification that AccountName ='All' can be used on a multi-account | F | ||
5 | Added the contractDetails field in the market-query results struct | F | ||
9.6 | New section and functionality (ComboActions, ComboRatios params) for combo-orders | F | ||
1.24 | 2012-11-19 | 2 | Clarified (item 9e) about upgrades in Windows 32-bit to 64-bit | D |
9.6 | Switched usage example from ECBOT to GLOBEX exchange | D | ||
1.25 | 2012-11-27 | 9.5, 9.6 | Switched the relative order of these sections | D |
11.1 | Clarified that the Java connector object can be used to implement combo trades as an alternative to the built-in mechanism (§9.5) | D | ||
1.26 | 2012-12-22 | 9.5 | Added ComboBagSymbol parameter; added usage example of ComboBagSymbol; clarified regarding combo legs limitations (need to use same exchange/currency, default ratio) | F |
1.27 | 2013-01-10 | 15.2 | Replaced Booleanàboolean in Java method interfaces; added methods reqNextValidId(), reqId(), reqIds(), calculateImpliedVolatility(), cancelCalculateImpliedVolatility(), calculateOptionPrice(), cancelCalculateOptionPrice() | F |
1.28 | 2013-02-08 | - | (formatting changes only; no change in text) | D |
1.29 | 2013-02-10 | A.2, A.3 | Added a few online resources | D |
1.30 | 2013-03-08 | 2 | Clarified editing the classpath.txt file | D |
1.31 | 2013-04-11 | 8 | Fixed description of Hold (refer to §9.6, not §9.5) | D |
9.6 | Added usage example for preparing an order for manual approval/transmission | D | ||
B | Added this change log in a new Appendix B | D | ||
1.32 | 2013-04-19 | Cover | Updated IB API compatibility: 9.68 à 9.69 | D |
1, A.1 | Updated IB links, following IB website changes | D | ||
15.2 | Added new methods supported by 9.69: reqAccountSummary(), cancelAccountSummary(), reqPositions(), cancelPositions(), accountSummary(), accountSummaryEnd(), position(), positionEnd() | F | ||
1.33 | 2013-04-30 | 3 | Clarified usage of Symbol and SecType options | D |
8 | Added additional supported TIF options | F | ||
11 | Added new section §11.4; updated section titles | D | ||
1.34 | 2013-05-10 | 7 | Clarified streaming quotes limitations | D |
14 | Clarified updated MsgDisplayLevel=1 behavior | F | ||
A.1 | Added references for IB API chat-room and Yahoo! Forum; updated IB’s forum web-address | D | ||
1.35 | 2013-06-21 | 2, 3 | Clarified that IB’s paper-trade account is the simulated trading account | D |
6 | Added the datenum field in the historical-data query results struct; clarified that the time part is omitted in the dateTime field when BarSize>=1d | F | ||
12.2 | Clarified setting LogFileName='', to prevent real-time execution logging, for improved performance | D | ||
1.36 | 2013-07-15 | 5, 9.5, 11.4 | Added contract field to market query results | F |
6 | Updated historical data limitations imposed by IB | D | ||
1.37 | 2013-09-11 | 11.1 | Added callbacks for IB’s AccountSummary, AccountSummaryEnd, CommissionReport, MarketDataType, Position and PositionEnd events | F |
15.2 | Clarified function interface of reqRealTimeBars() | D | ||
A.2 | Added MathWorks Commodities Trading webinar | D | ||
(all) | Updated IB links, following IB website changes | D | ||
1.38 | 2013-09-27 | 9.4 | Added the LimitUpdateMode parameter; | F |
A.2 | Added Real-time trading in MATLAB webinar / presentation (+demo application source code) | D | ||
1.39 | 2013-10-10 | 6 | Added the Timeout parameter | F |
9.4 | Clarified about LimitRepeatEvery value | D | ||
9.5 | Clarified about ComboRatios volatility and LocalSymbol sensitivity | D | ||
1.40 | 2013-10-23 | Disclaimer | Clarified the Disclaimer text e.g., clarified that any mention of a trading symbol or trading order does not constitute a trading recommendation etc. | D |
1 | Replaced outline image with a clearer version | D | ||
3 | Clarified that an IB client (TWS or Gateway) needs to be active in order for IB-Matlab to work; Added: IB-Matlab will automatically start TWS if an IB client (TWS or IB Gateway) is not active | F | ||
8 | Fixed reference URL to IB’s order-types webpage | D | ||
A.2 | Added screenshot of Real-time Trading webinar; Added link to MathWorks Algorithmic Trading portal that features a webinar on using IB-Matlab | D | ||
1.41 | 2013-11-19 | 7.1 | Clarified about using GenericTickTypes parameter to get extra info in streaming quotes | D |
7.2 | Added section on the new realtime bars feature | F | ||
11.1 | Indicated that realtimeBar events are triggered by IB-Matlab accessible via CallbackRealtimeBar | F | ||
11.4 | Clarified that the returned data structure only contains contract info for a single option contract | D | ||
13 | Clarified the options of multi-client connection(s); Minor clarification on use of ClientID parameter | D | ||
A.3 | Added reference to Spatial Econometrics Toolbox | D | ||
B | Clarified that users get the latest IB-Matlab version whenever they renew their annual license | D | ||
1.42 | 2013-11-27 | 5.2 | Added this section on the new scanner data feature | F |
7.1 | Added minor clarification about not enclosing numeric parameters in Matlab string quotes (''); Clarified that streaming quote fields are independent of each other | D | ||
11.1 | Indicated that the scanner* events are triggered by IB-Matlab, in response to user scanner requests | F | ||
1.43 | 2014-01-02 | 8 | Clarified that SSHORT order action is typically used only by some institutional traders; most users should only use BUY and SELL order actions. | D |
9.4 | Added the LimitPause parameter for automated orders | F | ||
9.5 | Clarified that IB sends an error message when the combo ratio is incorrect | D | ||
1.44 | 2014-01-25 | 6 | Clarified the effect of UseRTH on the reported historical data dates; clarified that the historical data mechanism is also used for retrieving intra-day data. | D |
7.1 | Modified streaming quotes ReconnectEvery default value (2000à5000) | F | ||
10.1 | Added usage example of filtering open orders by their limit price | D | ||
1.45 | 2014-02-03 | 5.1 | Added automatic re-fetch attempt if missing data | F |
7.2 | Added the serverTime field to realtime-bars data | F | ||
9.6 | Added usage example of setting the orderRef field | D | ||
1.46 | 2014-03-03 | 7.2 | Added ReconnectEvery feature to realtime bars | F |
1.47 | 2014-03-14 | - | Added ability for IB-Matlab to work with VPN | F |
9.4 | Added the LimitBounds parameter for automated orders | F | ||
9.5 | Clarified explanation of ComboRatios parameter | D | ||
1.48 | 2014-05-26 | 2.1 | Added section: licensing alternatives | F |
2.2 | Added section: switching activated computers | F | ||
5.2 | Clarified importance of some scanner parameters | D | ||
10.2 | Clarified how to get unique orderIds for manual orders placed within TWS | D | ||
1.49 | 2014-08-05 | 9.6 | Explained how to prepare Iceberg, hidden, all-or-none, sweep-to-fill and other special order types | D |
14 | Clarified that no IB message is displayed if MsgDisplayLevel >= 2 | D | ||
1.50 | 2014-09-05 | 17 | Added new section: FAQ | D |
1.51 | 2014-10-01 | 5.1 | Clarified possible reasons for receiving partial query data when querying current market data. | D |
9.5 | Clarified usage of CME inter-commodity spreads | D | ||
3, 9.6 | Clarified that primary exchange can be specified in Exchange parameter (e.g., 'SMART:NYSE') | D | ||
1.52 | 2014-10-06 | 8 | Added the TrailingPercent parameter for use by various TRAIL order types. Clarified the use of AuxPrice parameter for trailing amounts. | F |
1.53 | 2014-10-20 | 4.1 | Modified the returned account info data structure to reflect various currencies, where available. | F |
9.6 | Added example of setting a contract’s multiplier. | D | ||
1.54 | 2014-11-11 | 7.1 | Clarified that IB server (not IB-Matlab) limits the messages rate (this was corrected on 2014-11-22) | D |
1.55 | 2014-11-19 | 2 | Clarified usage of javaclasspath.txt file for setting Java’s static classpath; also clarified that without static classpath IB-Matlab cannot receive IB data. | D |
8 | Added the HedgeType, HedgeParam parameters | F | ||
1.56 | 2014-11-22 | 3, 8 | Clarified IB’s limit of 50 msgs/sec to IB server | D |
7.1 | Clarified that the streamed quotes rate is limited by client computer not by IB server or IB-Matlab. This fixes the clarification made on 2014-11-11. | D | ||
1.57 | 2014-11-27 | 3 | Clarified the alternatives for specifying the primary exchange of a contract. | D |
12.2 | Clarified usage of the automated trades log files. | D | ||
17 | Clarified some FAQ items, e.g. item #13 on the ability to compile and deploy IB-Matlab. | D | ||
1.58 | 2014-12-16 | 5.3 | Renumbered §5.2 (Scanner data) as §5.3. | D |
5.2, 7.3, 11.5 | Added new sections on the new Market Depth functionality and NumberOfRows parameter. | F | ||
11.1 | Indicated that IB-Matlab may trigger the UpdateMktDepth and UpdateMktDepthL2 events | D | ||
1.59 | 2015-02-14 | 15.3 | Clarified the usage of ibConnector | D |
1.60 | 2015-03-13 | 3.2 | Clarified parameter data-types | D |
6,7.2,11.1 | Fixed typos regarding the dateNum struct field | D | ||
14 | IB error messages are now sent to standard error (stderr) and displayed in red in Matlab console; | F | ||
15.2 | Fixed typos; added new methods to create default contract/order: createContract(), createOrder() | F | ||
1.61 | 2015-03-19 | 16.2 | Added new section: example of simple automated trading program using an RSI-based strategy | D |
1.62 | 2015-03-25 | 2.0 | Modified explanation to refer to Matlab’s Desktop toolstrip, rather than the outdated menubar. | D |
5.4 | Added new section: retrieving contract details of single securities and options chains | F | ||
3.3, 9.5 | Added Multiplier parameter (useful for options) | F | ||
1.63 | 2015-04-08 | 3.2 | Added example of resolving Currency ambiguity | D |
3.3 | Added new supported contract SecType values: BOND (bonds) CMDTY (commodity) FUND (mutual funds) IOPT (structured product) SSF (single-stock future) WAR (warrants) Clarified that ETF contracts use SecType=STK | F | ||
5.1 | Clarified it is wise to set the Timeout parameter when querying contracts that have missing fields. | D | ||
5.1, 13 | Clarified that IB only sends live/historic data to a single computer, so retrieving such data requires IB-Matlab to be connected to TWS with the live data, not to another TWS on a different computer. Also, if you manage several accounts, associate all of them with the main account to receive live data. | D | ||
6, 7.1 | Clarified that historical and streaming data retrieval are subject to the same pre-conditions as for retrieving the current live market data. | D | ||
9.7 | Added new section: excercising / lapsing options | F | ||
1.64 | 2015-04-15 | 2.1 | Added clarifications on the Multi-year, Site and Deployment (compiled) license options. | D |
6 | Modified the chapter title to clarify that it relates to retrieving both historical and intra-day data. | D | ||
13 | Clarified the alternatives of connecting IB-Matlab to TWS/Gateway on a different computer. | D | ||
1.65 | 2015-05-04 | 2.1 | Removed local activation alternative; explained solutions for cloud services, activation problems | D |
2.2 | Clarified, simplified the activation switch process | F | ||
1.66 | 2015-05-13 | 2 | Minor clarifications regarding IB’s demo account | D |
2.1 | Added new version parameter | F | ||
18 | Added new section: Troubleshooting | D | ||
1.67 | 2015-05-21 | 6 | Fixed bar-size “1 sec” à “1 secs” | D |
8 | Minor clarification on HedgeType, HedgeParam | D | ||
1.68 | 2015-06-02 | 18 | Clarified several troubleshooting entries | D |
1.69 | 2015-06-10 | Disclaimer | Added clarification paragraph that the IB-Matlab software depends on external software, hardware, systems and services that are beyond our control. | D |
6 | Small corrections to the Duration/BarSize table | D | ||
1.70 | 2015-06-25 | 3.3, 6 | Added the IncludeExpired contract property | D |
9.8 | Added new section: IBAlgo orders, describing the new support for IBAlgo trade-order strategies Arrival Price, Dark Ice, Percentage of Volume, Balance Impact/Risk, and Minimize Risk. | F | ||
1.71 | 2015-06-29 | 9.6 | Clarified using some special order attributes | D |
1.72 | 2015-07-14 | 6 | Clarified on potential error messages and added allowed Duration/BarSize combinations. | D |
1.73 | 2015-08-04 | 4.2 | Clarified meaning of portfolio’s marketPrice field | D |
9.6 | Clarified possible values of order clearingIntent | D | ||
1.74 | 2015-08-24 | 8 | Added the OCAType order parameter | F |
1.75 | 2015-09-27 | 1, 4.1 | Removed very old (2012) product change notes | D |
5.1 | Clarified the lastEventTime, lastTimestamp fields | D | ||
9.6 | Clarified that order modification may sometimes be rejected by IB server if done right after creation | D | ||
B | Added new column describing the change type | D | ||
1.76 | 2015-10-29 | 3.2 | Clarified the retrieval of contract info from TWS | D |
6 | Updated the allowed values of Duration/BarSize; explained usage of Bid_Ask historical data results; added SecType/WhatToShow values matrix. | D | ||
16.2 | Corrected minor printout bug in IBMatlab_AlgoRSI | D | ||
1.77 | 2015-11-22 | 3.2 | Described an issue with numeric display precision | D |
4.1, 4.2 | Fixed behavior of AccountName='All' (due to an IB server behavior change). Improved error msgs. Added summary account data where available. | F | ||
4.1, 4.2 | Clarified retrieval of account and portfolio data when multiple accounts are managed. | D | ||
4.2 | Clarified contents and usage of contract subfield. | D | ||
12.1 | Clarified how to get previous days’ executions (IB only returns today’s executions by default). | D | ||
1.78 | 2015-12-24 | 4.2 | Added Type='positions' portfolio retrieval option. | F |
8 | Added explanation on sending TRAIL orders. | D | ||
9.5 | Added several clarifications regarding combos. Added informative run-time warning messages. | F | ||
11.1 | Indicated that IB-Matlab triggers Position events. | D | ||
17.19 | TA Developer backtesting product is now defunct. | D | ||
1.79 | 2016-01-25 | 4.2 | Added Matlab code example + API settings details | D |
8 | Added Action='close' trade orders functionality. Divided chapter 8 into sections for readability. | F | ||
1.80 | 2016-01-28 | 3.3 | IB’s API uses ISLAND for NASDAQ requests – added code to accept both Exchange alternatives. | F |
1.81 | 2016-03-11 | 3.1, 13 | Clarified that the TWS account is transparent to IBMatlab; use the appropriate TWS login to control whether a live/simulated account is used. | D |
5.2 | Changed market-depth NumberOfRows limit from 5 to 10 (subject to exchange limits) | F | ||
5.4 | Clarified that reported m_expiry is the contract’s last trading date, not its actual expiration date. Clarified that extracting the full options chain contract details (although not prices) in a single IBMatlab command is possible. | D | ||
6 | Added reported workaround for a problem of IB returning missing historical index data. | D | ||
9.5 | Clarified that creating a combo in TWS might help to determine the necessary parameters. | D | ||
9.7 | Clarified that IB only supports exercising/lapsing options, not FOP (future-on-option) or warrants. | D | ||
9.8 | Clarified that IBAlgo orders cannot use the default TIF value of 'GTC': set TIF='Day' for such orders | D | ||
18 | Added workaround for error messages about using an invalid TIF with an IBAlgo order. | D | ||
A.3 | Removed reference to defunct quantcentral.com | D | ||
1.82 | 2016-03-16 | 3.2 | Clarified that LocalSymbol format follows the OSI specification naming convention. | D |
5.3 | Clarified that scanner parameters only filter data, and cannot be used to provide unsubscribed data. | D | ||
6 | Clarified that IB returns expired contract history data just for futures, and only for their last year. | D | ||
1.83 | 2016-04-07 | Disclaimer | Clarified that IB-Matlab is not officially approved by any commercial, governing or regulatory body. | D |
1.84 | 2016-05-25 | 3.2 | Clarified that the Expiry parameter indicates the last trading date, not the actual expiration date. | D |
5.3 | Added alternative online screener resources. | D | ||
9.4 | Fixed typo in the LimitRepeatEvery example. | D | ||
1.85 | 2016-07-11 | 3.2 | Clarified aspects relating to FOREX currencies. | D |
5.3 | Compacted scanner parameters XML output. | F | ||
5.5 | Added new section and functionality for fetching Fundamental data and ratios. | F | ||
11.3 | Clarified about tickGeneric’s eventData fields. | D | ||
1.86 | 2016-08-01 | 7.1 | Clarified the data type that is returned by the initial vs. subsequent streaming quotes requests. | D |
8.1 | Clarified some aspects of trade order parameters. | D | ||
8.5 | Added new section and functionality for orders in Financial Advisor (FA, multi-client) accounts. | F | ||
18 | Added some error messages to troubleshooting list | D | ||
1.87 | 2016-09-23 | 4.2 | Report a security held at different exchanges separately (previously, only one was reported). | F |
4.2 | Report the Exchange field better (either exchange or primaryExchange value, whichever IB reports). | F | ||
7, 18 | Display error message when trying to retrieve streaming data for a symbol that is not streaming. | F | ||
9.5 | Clarified potential problems with combo trades. | D | ||
1.88 | 2016-12-13 | 8.1 | Clarified potential problems with trade orders. | D |
1.89 | 2017-01-09 | 8.4 | Clarified IB API’s functionality change regarding TRAIL LIMIT orders and the new usage. | F |
1.90 | 2017-03-18 | 2 | Clarified that IB provides only limited support for some features on paper-trading/demo accounts. | D |
8.3 | Clarified that IB does not support some order types on the paper-trading accounts. | D | ||
9.5 | Clarified that IB provides only limited support for combos on the paper-trading accounts. | D | ||
1.91 | 2017-05-11 | 5.1 | Added usage example of querying a Future asset. | D |
1.92 | 2017-07-14 | 9.1 | Clarified VWAP now uses LMT as the base order; added the SpeedUp, MonetaryValue parameters. | F |
9.8 | Clarified VWAP now uses LMT as the base order; added the SpeedUp, MonetaryValue parameters; added the Close Price algo; fixed IB website links | F | ||
1.93 | 2017-10-30 | 5.1, 7.1 | Added return of delayed quotes when real-time data is not subscribed, subject to IB limitations. | F |
8.1, 8.6, 10.1 | Added new section and functionality for order margin impact (“what-if”) study. | F | ||
1.94 | 2017-11-14 | 3.1 | Added new functionality to enable specifying the input parameters using a CSV/XLS input file. | F |
1.95 | 2017-11-23 | 6 | Automatically resend historical data request to IB if no data was returned, presumably due to an un-supported combination of SecType, WhatToShow | F |
1.96 | 2017-12-01 | 3.1 | Accept Matlab string args e.g. either "Day" or 'Day' | F |
5.1 | Clarified that in a market query, multiple generic tick types can be specified, separated by a comma. | D | ||
5.5 | Added new ReportOwnership fundamental data. | F | ||
6 | Added several additional WhatToShow options. | F | ||
8.4 | Clarified that some trailing-order parameters are exclusive (cannot be specified together). | D | ||
9.5 | Added example of a FOP bear spread combo order | D | ||
17.19 | Clarified that IB-Matlab does not include a back-testing or algo-trading engine, but I will be happy to develop or integrate one for you as a consultant; | D | ||
Multiple | Updated links to IB’s online API documentation. | D | ||
1.97 | 2017-12-21 | 9.5 | Enabled combo-leg snapshot queries even on paper-trade accounts; returned leg contract details. | F |
1.98 | 2018-01-07 | 2, 2.3, 18 | IB-Matlab installation no longer requires changing the Java classpath file, from this version onward. | F |
3.1 | IB-Matlab now accepts a struct array and table object as a means of specifying multiple IB commands in a single call to IBMatlab(). | F | ||
19 | Added a new section on professional services. | D | ||
1.99 | 2018-03-06 | 3.2, 3.3 | Indicated that SecType='CONTFUT' can be used to query/trade continuous (rolling) future contracts. | F |
4.2 | Added realizedPnL and unrealizedPnL fields to the reported portfolio positions. | F | ||
2.00 | 2018-06-27 | 8.6 | Clarified a few minor points of the “what-if” feature | D |
9.5 | Added delayed data fields for combo-legs, when real-time market data is not available. | F | ||
2.01 | 2018-07-27 | 11 | Java objects contained in the callback’s eventData (e.g. eventData.contract) are now regular Matlab structs. Accessing their fields in IBMatlab callbacks remains the same (e.g. eventData.contract.m_symbol); the objects simply became easier to inspect in Matlab. | F |
2.02 | 2018-10-28 | 5.3 | Indicated where to find IB’s market scanner codes | D |
Multiple | Small performance improvement of IB data queries | F | ||
17 | Several FAQ text clarifications | D | ||
2.03 | 2018-11-22 | 5.1 | Fixed a problem fetching index quotes from NASDAQ | F |
5.2, 7.3, 11.5 | Clarified that market depth (order book) data is Level II | D | ||
2.04 | 2018-12-21 | Cover | Updated IB/MATLAB versions compatibility | D |
3.3 | Added ConId, SecId, SecIdType contract properties | F | ||
13 | Added Disconnect action: IBMatlab('disconnect') | F | ||
2.05 | 2019-02-22 | 2.1 | Updated licensing alternatives (short-term, bundle) | D |
2.2 | Updated and clarified the license reactivation process | D | ||
2.06 | 2019-09-28 | 5.2 | Clarified that SMART exchange is not supported in Level 2 data queries (only specific exchange names) | D |
- | Enabled query of IB server time using 'time' action | F | ||
2.07 | 2019-11-10 | 2.1 | Improved handling/reporting of reinstalled IBMatlab | F |
2.1 | Improved detection/reporting of installation problems | F | ||
5.4 | Added support for bond contract details | F | ||
2.08 | 2019-12-07 | 3.3 | Added an informative warning message when IB returns empty data that may be due to specifying the SMART exchange, which IB does not always support | F |
2, 9.5, 17 | Added reference that details the limitations of IB’s Demo account compared to a paper-trading account | D | ||
2.09 | 2019-12-21 | 9.8 | Added support for numerous algo-trading strategies via AlgoStrategy, AlgoParameter order properties. | F |
A.1 | Added new online references and removed stale ones | D | ||
2.10 | 2019-12-31 | 5.5 | Changed the Fundamental Data report Type of 'ReportOwnership'à'ReportsOwnership' following a change on IB’s side; simplified and improved the format of the returned report struct. | F |
2.11 | 2020-01-07 | 3.3 | Added reference to a discussion of the difference between IB’s Symbol and LocalSymbol parameters | D |
4.2 | Improved handling of empty portfolio data | F | ||
*.* | Removed warning about SMART exchange (added in version 2.08) in case of empty results from query types where the exchange is irrelevant (e.g. 'account') | F | ||
2.12 | 2020-03-05 | 2.0 | Clarified some of the installation steps | D |
2.1 | Improved support for dynamic MAC addresses | F | ||
8.1 | Added order Action of 'SLong' (institutional traders) | F | ||
13 | Explained how to check the live connectivity status; clarified the documentation text. | D | ||
14 | Expanded description on IB messages; merged the symbol ambiguity & Troubleshooting sections in here | D | ||
2.13 | 2020-04-30 | 7.1 | Clarified streaming quotes mechanism description | D |
8.1 | Added OrderRef parameter to attach a comment to the order, displayable in TWS as an Order Attribute | F | ||
8.1, 9.6 | Added Transmit parameter to enable sending orders to TWS but not [yet] to the exchange (the order will be sent when you click <Transmit> button in TWS) | F | ||
14.3 | Added the errMsg output argument and mechanism | F | ||
2.14 | 2020-11-18 | 2.1 | Modified license checks to become more resilient to small harmless variations in the activated computer | F |
8.1 | Clarified that the OutsideRTH parameter requires setting the corresponding preset in TWS Config. | D | ||
8.4 | Clarified potential conflicts between LimitPrice and fixed offset amount in TRAIL LIMIT/LIT orders | D | ||
13 | Clarified the description of IB-Matlab’s process of automated connection attempts using different Port and ClientID values; added ability to force IB-Matlab to try to connect to only a single specified Port. | F | ||
2.15 | 2020-11-23 | 3.2 | Clarified that SecIdType supports 'ISIN', 'CUSIP' and 'RIC' (but not 'SEDOL'); added usage references | D |
5.5 | Clarified that fundamental data reports sometimes do not report some fields for some contracts | D | ||
12.1 | Added report of order executions commission, P&L and yield information, where available | F | ||
14.4 | Clarified the explanations of several error messages | D | ||
2.16 | 2021-01-19 | 3.2 | Enabled specifying SecID, SecIdType in compact form, e.g. 'ISIN:US0378331005' or 'RIC:AAPL.O' | F |
2.17 | 2021-03-25 | 6 | Clarified and rearranged text; added usage example | D |
7.1 | Added clarification about IB’s nightly server maintenance that breaks streaming data subscription | D | ||
9.1 | Added clarification about usage of timezones in IB | D | ||
9.3 | Added usage example for attaching custom child orders (SL/TP brackets with an EOD exit order) | D | ||
13 | Added clarification about TWS auto-logout and related aspects of keeping a continuous connection | D | ||
A.2 | Updated links to external MATLAB resources | D | ||
2.18 | 2021-11-17 | 5.1 | Improved robustness of single-quote query to issues of missing or non-immediate data from IB | F |
5.1, 7.1 | Moved the description of GenericTickList to §7.1, since it is only relevant with streaming quotes | D | ||
5.3 | Added online reference to a list of scanner scan codes | D | ||
5.4 | Fixed support for Timeout parameter in long-running queries (esp. options-chain requests) | F | ||
7.1 | Added usage example for fetching open interest info | D | ||
11 | Fixed the reference webpage hyperlink for IB events | D | ||
11.3 | Clarified the tickGeneric value field may be called either “generic”, “value” depending on TWS version | D | ||
14.1 | Added 'lastIBError', 'lastIBMessage' commands | F | ||
2.19 | 2022-11-25 | (many) | Data fields of data structs returned by IBMatlab no longer have a m_ prefix. For example: contract.m_symbol à contract.symbol | F |
(many) | Data fields of data structs returned by IBMatlab are now automatically converted from Java objects to Matlab sub-structs whenever possible/relevant. E.g. contract.comboLegs, contractDetails.secIdList | F | ||
(many) | Data fields of data structs returned by IBMatlab now report undefined values as Inf instead of 2147483647 (intmax) or 1.79769313486232e+308 (realmax) | F | ||
5.1 | Added the WaitForGreeks parameter and report of option greeks, implied volatility, and related data | F | ||
5.1 | Clarified that IB sends delayed quotes data when IB-Matlab is connected to a paper-trading account while at the same time a live-trading account is logged-in on a different TWS/Gateway | D | ||
5.4 | Clarified that the options chain query only returns the contract details, without any market data | D | ||
10 | Open orders can now be queried using Action='open' or 'orders', in addition to the legacy combination (of Action='query' with Type='orders') that still works | F | ||
12 | Executions can be queried with Action= 'executions', in addition to the legacy combination (Action='query' with Type='executions') that still works | F | ||
14.2 | Noted that DTB exchange is now called EUREX | D | ||
16.2 | Fixed minor bugs in the IBMatlab_AlgoRSI sample program | D | ||
2.20 | 2022-12-02 | 2.2 | Added IB-Matlab’s installation path to reported struct | F |
2.3 | Emphasized that manually setting the static Java classpath is very rarely required | D | ||
3.1 | The 'Action' keyword is now optional if it is the first input parameter in the call to IBMatlab | F | ||
2.21 | 2023-03-28 | 8.5 | The FAMethod parameter now accepts 'Equal' value | F |
2.22 | 2023-06-14 | 5.1 | Minor clarifications on WaitForGreeks mechanism and real-time trading data on paper-trading accounts. | D |
5.4 | SecID data (e.g. ISIN) is now reported as top-level fields in contract query result struct, where available | F | ||
7.1-7.3 | Clarified that all streaming data is stopped when IB-Matlab disconnects from IB. | D | ||
2.23 | 2024-11-21 | 2 | Added explanation how to avoid error messages on fractional size rules support via configuration option | D |
3.3 | Added a new section to explain the conversion of returned struct arrays into cell-arrays or tables | D | ||
6 | Clarified that WhatToShow=Yield* values are only reported for indices, no other security types. Clarified that IB-Matlab automatically tries to re-query using Midpoint if a historic Trades query fails. | D | ||
7 | Clarified that collecting Generic Ticks data requires a streaming data query, using a loop with an internal pause to increase data collection robustness. | D | ||
11.3 | Fixed incorrect section cross-reference | D | ||
12.1 | Improved performance (speed) of executions query | F | ||
12.2 | Clarified differences between CSV, MAT log files | D |