PTL Trader Changelog

From Pair Trading Lab WIKI
Revision as of 09:38, 2 July 2021 by Admin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



Since 1.6.0 this project has been released as open-source and hosted on GitHub. Visit this page for further release notes:

Released 2021-07-02.


  • CFD trading is supported
  • fixed missing z-scores in history for Kalman-Grid and Kalman-Auto models
  • fixed race condition with portfolio updates shortly after positions are closed (leading to "position mismatch" error and marking the pair as "requiring intervention")

Released 2017-11-09.


  • Kalman-Grid (v2) model fully supported
  • Kalman-Auto model fully supported
  • removed forgotten last price constraint (causing suspicious market data state in markets missing last price quotes)

Released 2016-12-21.


  • fixed serious bug causing strategy thread to crash completely if an incomplete historical data are provided from IB API (bug in IB API side)- if a strategy is in wait for hist_data state for few hours, you can treat it like crashed because of this issue
  • profit potential is indicated even in no new positions and fully inactive states (for manual traders)
  • added Reset Last Opened button for maintenance operations and manual traders
  • removed last price constraints (causing suspicious market data state in markets missing last price quotes)

Released 2016-11-23.


  • multi-platform - builds for win32, win64, linux64 and macOS now available
  • indicating both z-score bid and z-score ask separately
  • more effective margin allocation algorithm (only differs when margins differ per leg)
  • profit potential is now calculated from bid-ask quotes (instead of trades)
  • custom thresholds for downtick mode supported
  • allow-reversals constraint supported
  • copyright and license update
  • cosmetic changes
  • updated 3rd party components
  • migrated to Gradle build system

Released 2016-11-08.


Minor bugfix release.

  • fix for incorrect handling of some time zones (Moscow, etc...)
  • Z-score and RSI is now being indicated in more situations, including "No new positions"

Released 2015-12-21.


  • fix for duplicate order ID issues occurring when many orders are being sent at the same time
  • Open Long, Open Short and Close buttons can be used in more situations
  • Close button can be used to manually resolve "one leg opened" situation
  • cosmetic UI changes
  • copyright and license update

Released 2015-07-23.


  • added some price event sanity checks and constraints
  • other minor fixes / changes

Released 2015-04-18.


  • application JAR is now wrapped in EXE - fix for shortcut/installer issues with Java 1.8
  • fixed authentication fail message
  • more precise z-score indication (now also the indicated z-score is calculated using bid/ask prices)
  • cooldown after external close detected
  • "last" prices are no longer used for entry/exit signals (only ask/bid prices are used now)
  • redesigned exchange activity detection (to detect holidays / days with no activity)
  • trading engine should be more friendly to low liquidity stocks (removed some unnecessary constraints in signal evaluation)
  • trading engine will no longer allow positions reversals for now (to be consistent with backtests)
  • bid and ask sizes are now displayed in the UI
  • other minor fixes and changes

Internal release.


  • internal architecture changes related to compatibility with PTL portfolio system
  • RSI filter for Ratio model now fully supported
  • all entry modes are now supported for Residual model

Released 2015-01-02.


Bugfix release & internal architecture improvements:

  • redesigned concurrency and threading architecture (pair strategies now use thread confinement)
  • fixed few potential deadlock situations and GUI freezes
  • fixed concurrency issue which could potentially lead to allow N+1 slots opened in a rare occasion
  • fixed retrying fetching historical data after IB data pacing violation (regression introduced in 1.0.4, it worked in earlier versions)

Released 2014-10-07.


  • basic FA (Financial Adviser) account support (you have to enter the account code manually when connecting)
  • increased log file max size and number of backups
  • unadjusted split protection (stops auto trading if there is a significant price discrepancy which may indicate that IB forgot to adjust historical data after split event)
  • prevents automated trading if historical data fetched are obsolete (older than 5 days)
  • connection to IB API is now handled in a separate thread to prevent UI freezes
  • updated IB client API files to 971.01
  • minor cosmetic changes and bugfixes
  • minor changes in log file verbosity

Released 2014-08-13.


  • workaround for "ambiguous contract" issues for some particular IB symbols (MSFT, ...)
  • fix for stock symbols like XXX.Y (RDS.A for instance)
  • some other small changes/fixes
  • more verbose logging of slot allocation process

Released 2014-03-19.


  • fixed a bug causing "wait for min profit" engine status indicated outside trading hours

Released 2013-11-07.


  • z-score and profit potential now update also outside user's configured trading window (as long historical data were available)
  • manually opening/closing positions is now enabled in more engine states (for instance in "wait for min profit")
  • modified profit estimation formula for residual model, profit estimation now disabled for cases where A<0.1
  • fixed PDT protection in position exit logic
  • PTL Trader does not try to initialize trading engine and load historical data for portfolios bound to accounts not belonging to current IB account connected anymore
  • historical data are now downloaded and models are recalculated every day at 9:30 EST, so z-score and profit potential indicators work with updated model, instead of waiting for user's configured trading window

Internal release.


  • workaround for strategy P/L tracking (ignore portfolio data in IB "black hour" 0:** EST)
  • modified default log levels

First official stable release (2013-08-27).


  • workaround for equity tracking (ignore equity data in IB "black hour" 0:** EST)
  • more detailed logs for IB portfolio updates

Internal release.


  • debug logs for equity tracking
  • reworked execution and commission report handling (fixes slippage tracking problems and missing entries in transaction history)
  • PDT protection fix
  • libraries updated

Internal release.


  • changed valid range for instrument margins (15% - 100%)
  • cooldown period after closing a pair trade (it is not possible to open new pair trade earlier than in two minutes) - to prevent sending new orders until IB portfolio stats settle
  • more verbose logging of executions and commission reports (internal log)
  • reworked periodic premium membership checks
  • updated logo and icons

Internal release.


  • just a small fix - NYSEAMEX exchange has been apparently renamed to NYSEMKT, so both exchanges are now supported
  • Initial version released to public (2013-05-17).


  • Status = BETA, not recommended for real trading yet (although we already use it that way ourselves)

Known issues we are working on


Personal tools