The Gateway to Algorithmic and Automated Trading

Spotlight: Patsystems IQ-Trader

Published in Automated Trader Magazine Issue 03 October 2006

Patsystems were one of the first ISVs to launch an electronic dealing platform when futures markets began migrating from open outcry in the 1990s. AT takes a look at the automated trading functionality within the latest incarnation of its mid-tier IQ-Trader platform.

Figure 1

Just to avoid confusion, I should point out immediately that Patsystems IQ-Trader isn't just an automated trading platform. It's also a full blown technical analysis package and trading interface, but since this magazine is called Automated Trader, this review just focuses on the functionality within IQ-Trader associated with trade automation and model building.


TradeGuard is IQ-Trader's generic term for a study that only obeys exit rather than entry rules. These studies can take any one of a number of forms, but probably the simplest is in the handling of bracket orders. Figure 1 shows IQ-Trader's Designer dialog box with a bracket order set 10 ticks either side of the order entry point - a "click stop" profit target of 10 ticks and a stop loss for the same amount. Once set, the price level of the orders can be adjusted either through the dialog or by physically dragging them to a new position on a chart. The software also has automated order cancels order (OCO) functionality - so if a profit target is hit on a long position, it will automatically remove the corresponding top loss - thereby preventing any possibility of an inadvertent short position. This OCO functionality can also handle partial fills on one or other exit order.

Bracket orders can also be combined with a variety of other built in automated stops, including trailing, time, period Hi/Lo and even Cynthia Kase's DevStop. In addition, any technical indicator (either built in or custom scripted by the user) can also be set to act as a TradeGuard exit. For example, Figure 2 shows the Add Sentimentor (more on Sentimentors below) dialog box with Granville's On Balance Volume highlighted. Clicking the Stop command button at the bottom of the dialog will add the OBV as a stop.

Figure 2

Any mixture of stops can be used and IQ-Trader will always activate the tightest of these. A nice feature for those who like some manual interaction with their automated trading is that it is also possible to add a trend line to this mix. Draw it where desired, open the Line Properties dialog, and change the usage of the line from Drawing Only to the desired type of long/short stop. IQTrader will then track this in just the same way as any other stop. This type of graphical stop concept can also be used with trend channels and Fibonacci lines.

Those who don't like their stops being visible in the market will be pleased to know that they don't have to put them there. Profit targets and stop losses can be individually configured so they are either placed in the market or immediately sent as a market order once they are triggered.


Sentimentors are one of the fundamental concepts in IQ-Trader and are effectively a means of scoring a particular input, such as a technical indicator. Sentimentors can be used for just exits, entries and exits, and as Filters (more on Filters below). Any signals they generate can be automated, so you could say that they were the basic building blocks of an automated trading model.

The lowest Sentimentor score is 0 (most pessimistic), the highest 100 (most optimistic). The relationship between any indicator or other Sentimentor input and the Sentimentor score can be adjusted by the user. For example, Figure 3 shows the Interpretation dialog for various popular candlestick patterns together with their associated Sentimentor scores.


Figure 3

Several Sentimentors can be combined into a Meta Sentimentor which thereby provides what might be termed a consensus score. The weighting of the individual Sentimentors within the Meta Sentimentor can be adjusted by the user in the Designer dialog. However, more sophisticated manipulation of the weightings is possible in the Manipulation through Conditions dialog, which allows the use of "if then" statements. So for example you might assign an RSI crossing above 10 a Sentimentor score of 100 if a particular moving average had been going up for X periods, but only a score of 75 if the MA was going down.


Sentimentors can also be used as Filters, which interact with trading models to allow/deny trade placement. A simple example of this can be seen in Figure 4, which

shows a 30 period exponential moving average used in a Sentimentor filter. In this case it has been configured so that if the market crosses or stays above the EMA, trading is permitted (green areas), but not if it crosses or stays below (red areas). Additional Filter types are possible, such as time, so you can for example configure your automated trading model so it always exits any open positions 45 minutes before US Non-Farm Payroll and does not allow any new positions to be opened until an hour after it.

Express language

Figure 4

Although IQ-Trader includes a good selection of technical indicators, it also allows you to expand on these using its Express programming language, which is similar to many of the Pascal-type languages used in other model building packages. Express includes a selection of mathematical, statistical and tradingspecific functions. At present it cannot make calls to external libraries for additional functionality, though this feature is currently being considered for inclusion. On the other hand, it is possible to achieve a similar result by outputting the result of an external library to file and inputting that via Express. Alternatively, if this needs to be done in real time, it can be accomplished through a link to Excel.


Over the years I have used and tested numerous packages for optimising the parameters of trading models. Some used exhaustive optimisation, while others used genetic algorithms or similar AI techniques in order to speed up the process. Most have ranged from moderate to downright indifferent.

Figure 5

By contrast, IQ-Trader optimisation technology is first rate. The underlying concept is the Tabu search, an optimisation method commonly accredited to Dr Fred Glover of the University of Colorado. The developers of

IQ-Trader have tweaked the basic Tabu technique for the particular problem of trading model parameter optimisation and the result is the fastest optimisation engine I have seen by a substantial margin (and I include several extremely expensive specialised optimisers in that comparison).

However, while the speed is impressive, the thinking behind the optimiser and the way it has been implemented is even more so, including as it does numerous features such as walk forward optimisation/ testing. Rather than the usual constraints and narrow vision, this is an optimiser built with the intention of enhancing automated models by making inherent robustness part of the optimisation processes.

If you end up balancing your model on the pin head of massively over fitted parameters, it won't be IQ-Trader's fault. For example, after you have conducted a first pass optimisation you can display the parameter sensitivities of all the model's components. (See Figure 5). This allows you to identify areas of instability quickly and either exclude an indicator completely or constrain its parameter set.

Figure 6

Another feature that illustrates the thought that has gone into IQ-Trader is the way in which you can input constraints such as min/max acceptable trade count or profit factor before optimising. (See Figure 6). This saves time,

by preventing the optimiser from searching an undesired solution space. I mentioned parameter sensitivities earlier, and IQ-Trader has a further neat trick up its sleeve for these by allowing them to be specified as an additional constraint. The net result is that this effectively forces IQTrader to calculate more robust parameter value sets.


Even restricting this review to functionality in IQ-Trader that directly relates to automated trading and model building, leaves much ground uncovered in the available column inches. Other practical features not covered in detail include: cascading studies for intermarket and inter timeframe analysis, complex spreads, multi source data access, and scripting that allows automation of various activities - such as mass optimisation of studies across multiple assets.

The overall impression is that IQ-Trader is a multifeatured model development environment coupled with a robust automated trade execution engine. The mooted addition of the ability to link to external libraries would add an extra layer of extensibility, but IQ-Trader is already something pretty special. Its careful attention to the niggling practical difficulties that are part and parcel of model building an automation makes IQ-Trader stand out.

Well, that and an optimisation engine to die for…

IQ-Trader Client Case Study: Berkeley Futures Ltd

Berkeley clients use IQ-Trader. Typically, clients will start using it just for charting and moving stops on their charts. However, they then start to investigate some of the other functionality, such as the backtesting and optimisation tools, before finally moving on to automation. While not all clients use IQ-Trader to develop and run complex automated trading models, many of them use the automated bracket order and automated trailing stop loss functionality. In Quinn's view, IQTrader's robust automated trading platform is a popular means by which traders can improve their trading discipline. "One of the biggest trading obstacles for a lot of traders is themselves," he says. "They may have built a good trading system, but when it comes to order placement they will second guess the entry/exit signals, which often results in sub-standard performance." By contrast, IQ-Trader allows Berkeley's clients to define their trading system and then run it automatically and reliably. They can therefore focus on building and improving their trading models, rather than executing trades. Reliability is obviously a crucial factor with any automated trading platform. According to Quinn, IQ-Trader has proved solid over the last year it has been used by Berkeley clients. "There have been no problems or disasters," he says. "It has the Patsystems J-Trader platform behind it, which is obviously a well tried and tested solution and IQ-Trader combines well with that. Ultimately, clients start using it and keep doing so, some of them for increasingly sophisticated automated trading - which tells you all you need to know." (A free trial of IQ-Trader can be obtained by contacting Marc Quinn on 0207 758 4777 or emailing him at