TMS PairsTrader
Pair Trading Software, Pairs Trading Module of InfoReach TMS


The PairsTrader module can be utilized to do pair arbitrage by buying/selling a pair continuously depending on the market conditions as well as to just enter and gradually increase a long position for a pair only when the market is favorable. The algorithm will buy a pair (buy the first leg and sell the second leg) when the ratio of the first leg price to the second leg price is below the ArbRatio parameter entered by a user and it will sell a pair (sell the first leg and buy the second leg) when the ratio of the first leg price to the second leg price is above the ArbRatio parameter.

If the algorithm is in the process of entering either a long or a short position for a pair and the market conditions stop being favorable the algorithm will cancel open orders.

At all times the PairsTrader algorithm is trying to keep each pair in a balanced state where the traded value for both legs does not differ by more than the specified threshold.


  • The PairsTrader module can be assigned to a portfolio with multiple pairs. Each pair is independently tracked based on pair's individual parameters. In the same portfolio the "buy/sell" arbitrage pairs and the "buy only" pairs can be mixed.
  • When there is no "lean" leg specified for a pair the algorithm releases two Limit orders (one for each leg) simultaneously. In this case the limit price for both orders crosses the spread. If the "lean" on one leg is specified then one Limit order for the lean leg is released away from the spread and the orders for the other leg are only released when partial fills come in for the first order. The orders for the non-lean leg in this case do cross the spread. The "lean" feature is utilized when one leg of a pair is for an illiquid instrument where it is important not to pay the large spread and to get a fill before releasing an order for the liquid instrument. Note: the "lean" feature is only available for "buy only" pairs.
  • The algorithm will automatically issue replace requests for the orders if the price is moving away but the ratio is still within trading parameters.
  • The trading limit for each pair can be specified independently either in terms of total traded value or in terms of shares (for "buy only" pairs).
  • If two legs of a pair are traded in different currency the PairsTarder will do necessary currency normalization.
  • If the current market conditions are so favorable that they exceed the threshold the algorithm will stop trading a pair.
  • The "buy only" pairs can be received over FIX from clients or from OMS or other internal systems.


  • ArbRatio - theoretical ratio between the first and the second leg prices calculated by a model. For example, an ArbRatio of .85 means you expect first instrument to be 85% of the price of the second instrument.
  • ArbSpread - the spread between current ratio and theoretical ratio where pair becomes tradeable. This value is used to determine how far apart the current spread should be from the theoretical spread before trading is allowed.
    if (BidPx1 - ArbRatio * AskPx2 > ArbSpread)
    then the pair is expensive -- SELL pair (sell first instrument at Bid, buy second at Ask)
    if (BidPx2 - AskPx1 / ArbRatio > ArbSpread)
    then the pair is cheap -- BUY pair (buy first instrument at Ask, sell second at Bid)
  • ArbTotalVal - gross value to be traded. AutoTrader will pause if ArbTotalVal is exceeded. For pairs with leg sizes specified in shares the PairsTrader will also pause when the Qty is reached on either leg.
  • ImbalanceTolerancePct - Percentage of acceptable imbalance. This is calculated based on NetFillVal of the pair compared to gross total value traded.
  • Pair Buy Only - marks pair to be in "buy only" mode. All targets received via FIX are automatically marked as "buy only" since they have Side and Qty associated with each leg.
  • Lean on Buy / Sell - the algorithm will "lean" on either Buy or Sell leg by releasing the order for this leg first and waiting for partial fills before releasing the other leg.


Add Pair Dialog

Add Pair Dialog

Pairs Blotter

Pairs Blotter

Other features of InfoReach TMS