See the list of release notes below for recent changes in AlgoTrader.
Version 6.2
- New Exchange Adapters
- Poloniex
- Binance Futures (USDT- and coin-based)
- User Permissions and Multi-Tenancy
- Configuration UI
- New Execution Algos
- Market Sweep
- Sniper
- Percentage of Volume
- Iceberg
- New Portfolio Dashboard
- New Example Strategies
- Support for Java 11
Version 6.1
- New Exchange Adapters
- Gemini
- Bittrex
- eToroX
- Enigma
- Blockfills
- Crypto Finance
- LMAX Digital
- Bloomberg Tradebook
- Refinitiv
- The Coinigy adapter was removed
- Smart routing for simple orders
- Integrated metrics collection and visualization
- New UI look and feel incl. mobile view
- Inbound FIX support for algo orders
- Upgraded the fee handling functionality
- Simple-page monitoring with JavaMelody
- Health check service
Version 6.0
- New Exchange Adapters
- BitHumb Pro
- Deribit
- Huobi spot
- Kraken spot
- OKCoin
- OKEx
- Level II Order Book
- Level II order book for all adapters/exchanges
- Order Book UI
- Order Book events available to strategies
- Aggregated order book across exchanges
- Execution Algo Exchange selection based on order book data
- Integration of Hazelcast Cache
- Replacement of the previous Level Zero Cache
- Example Strategies
- NLP strategy
- Short Strangle strategy
- Delta Hedge strategy
- Other
- Reference data can now be downloaded automatically upon startup
- Subscribe and unsubscribe during InfluxDB based back tests
Version 5.2
- Generic events
- Full support for generic events that can contain (i.e. corporate actions, external signals, alternative data, and news / social-media-sentiment data)
- Strategies can subscribe to these events for analysis and signal generation
- Generic events can be persisted in InfluxDB
- OTC RFQ Functionality
- Full support for RFQ (Request for Quote) processes
- Adapters
- Interface to Intrinio for the retrieval of dividend data
- Binance adapter with full support for both stop orders and margin trading
- User Interace
- Integrated TradingView charts displays your orders and execution
- Integrated RFQ functionalities
- Historical Data Management
- Trade and Quote events can be persisted into InfluxDB
- Example Strategies
- Spreader Example Strategy
Version 5.1
- Strategy development
- Full Python support
Version 5.0
- Order Execution
- Smart order routing (SOR) execution algos
- Algo order entry UI
- Algo order parent / child display
- Algo order persistence
- Display Algo Order State in UI
- Order Custom Pre-Trade checks
- Adapters
- Crypto-adapter order reconciliation on WebSocket reconnect
- Generic inbound FIX interface
- Exante Fix interface
- Coinbase Prime & Pro (GDAX) adapter
- Handling of crypto Fees
- Support for crypto withdrawals & deposit address query
- Encryption of API keys
- Support non spot-cryptos with CoinAPI
- Make send, cancel & modify order non-blocking
- Strategy development
- Python strategy live trading support
- Subscribe to Account/Deposit events via WebSocket
- JSON based properties on all Entities
- AlgoTrader UI
- Reference data management UI
- Historical data management UI
- Display of CashBalances in the UI
- Perpetual swaps P&L calculation
- Add Trade Action to Market Data & Position table
- Others
- Upgrade to Java 8 Date/Time API
- Migrate UI Entities to TypeScript
- Spring profile validation on startup
- Disseminate LifeCycleEvents event to strategies running in distributed mode
- Run flyway-migration on startup
- Eliminiate FutureFamily, OptionFamily, GenericFutureFamily and BondFamily
- Merge FeedType, Broker and OrderServiceType
- Upgrade all 3rd party libraries to latest version
Version 4.5
- UI
- Allow Trading View chart to display data from the historical data source configured in AT
- Switch to AGGrid
- Switch UI to TypeScript
- Add React DataGrid update throttling
- Enable CSV Export
- Improve security search experience
- Show execution algo properties in the UI
- New Adapters
- PrimeXM
- SocGen
- Bitflyer
- Bitfinex
- Bitstamp
- Binance
- BitMEX (including Perpetual Swaps and Indices)
- CoinAPI
- CoinMarketCap
- Historical Data Management
- CoinAPI historical data download
- New Adapter related features
- Implemented crypto margin and exchange trading
- Balances download
- Withdrawal of cryptocurrencies
- Fees can be configured in %
- Currency code mappings to cater for different symbols used in different exchanges
- Automatic connection gap detection
- Automatic reconnect
- Rest and WebSocket message synchronization (AdaptiveConsumerProducer)
- Execution Algorithms
- TWAP (based on adaptive pricing logic)
- VWAP (based on adaptive pricing logic)
- Other
- Use Swagger for REST API documentation
Version 4.0
- Major Changes
- InfluxDB integration
- Cryptocurrency trading through Coinigy
- Support HTML customizations
- New Adapters
- Coinigy
- QuantHouse
- Nexus Prime
- UBS
- Quandl
- Historical Data Management
- use InfluxDB time-series-database
- Quandl Historical Data Download
- Market Data
- QuantHouse low latency market data
- live data recording
- ad-hoc bar aggreation
- propagate BidVO, AskVO and TradeVO events to strategies
- Domain Model
- decimal quantities on Orders, Transactions, Positions, etc.
- Order Processing
- ExecutionModel
- support OrderCompletion events for AlgoOrders
- PositionMutationEvent
- Back Testing
- Stream Historical Data from InfluxDB
- Base Strategy Name
- IB Interface
- Process IB RTVolume
- IB calendar spread support
- IBOrderIdSynchronizer
- Archetypes
- algotrader-archetype-simple
- algotrader-archetype-esper
- Example Strategies
- EMA strategy
- Random strategy
- HTML5 based example strategy monitoring
- 3rd party library Upgrades
- Spring 4.3.8
- Hibernate
- Esper 5.5.0
- ActiveMQ 5.14.5
- Jetty 9.3.19
- Jackson 2.8.8
- Lucene 6.5.1
- Log4J 1.7.25
- MySql Connector 6.0.6
Version 3.0
- Major changes
- HTML5 based web frontend
- Docker based installation and deployment
- Excel based back test report
- Execution algo API redesign
- New execution algos: VWAP, target position & trailing limit
- Installation & Deployment
- use of Flyway command line
- generate separate assemblies for client & core
- Domain Model
- added CNH, CZK, DKK, HUF, ILS, MXN currencies
- generate VOBuilders
- Database
- security family & security mapping changed to one table per hierarchy
- updated database sample data
- Esper
- added ExponentialMovingAverage function
- Engine callback API redesign
- Futures & Options
- added future monthYear
- Market Data
- CvsTypeCoercer to accept yyyy-MM-dd HH:mm:ss format
- market data price normalization
- Adapters
- added DropCopy for TT & LMAX
- Events and Messaging
- added embedded ActiveMQ message broker
- added Websocket infrastructure
- Processes and Networking
- added embedded Jetty HTTP server
- added optional TLS transport security & BASIC auth
Version 2.3
- Strategy Development
- support for strategy groups
- added local MarketDataCache
- simplified strategy starters
- Adapters
- added Trading Technologies Fix interface (trading, market data & reference data)
- added Fortex Fix interface (trading & market data)
- added FIX session life cycle events
- add Trading status events for LMAX
- redesigned IB interface
- added suport for fix-jdbc-message-store
- support custom logging per Fix session
- Event handling
- added event dispatch framework
- added event listeners
- added strategy life cycle events (INIT, PREFEED, START & EXIT)
- all events are now ValueObjects
- Distributed Cache Manager
- LookupService now uses CacheManager instead of DAO’s
- CacheManager / GenericDao are now available to strategies
- New entity / VO generation framework
- added Entity Visitors
- Entities, Entity Interfaces, Value Objects and Entity to VO Converters are now generated using Hibernate tools
- Entity identifiers now use long instead of int
- enhanced equals and hashCode methods
- New DAO framework
- AbstractDAO is now base class of all DAO’s
- finders have been moved to Hibernate.hbm.xml
- Esper Enhancements
- enhanced syntax for Esper statement subscribers
- Esper Engine is now configured through Spring
- replaced EngineLocator with Spring EngineManager
- strategy initModules and runModules are now configured through Spring
- Spring Services are now available to Esper statements directly
- Order Management enhancements
- replaced Esper based OpenOrderWindow with Java based OrderRegistry
- SlicingOrder: assure minimum quantity on the last slice
- Exchange can now be set directly on an Order
- OrderStatus events now include lastQuantity attribute
- Miscellaneous enhancements
- migration to Spring Configuration annotations
- harmonized date / time formats
- new Entity Security Reference
- GoogleFincanceDownloader
- enhanced reset service
- new Reports TradeReport & PortfolioReport
- updated DB sample data
- remove margin / exit value from position
- remove support for server side close position
- trading hour definitions are now optional
- client now shows unrealizedPnL & FX Exposure
- 3rd party library Upgrades
- Java 1.8
- Esper 5.2.0 (5.3.0?)
- Hibernate 4.x
- Spring from 3.x to 4.x
- Log4J 2.x
Version 2.2
- additional Fix trading and market data interface:
- LMAX
- FXCM
- Currenex
- DukasCopy (added market data interface)
- add Calendar Service, Exchange, Trading Hours and Holidays)
- eclipse based strategy creation wizard
- eclipse based config editor
- new configuration manager
- support custom order properties
- generic symbology resolver
- persist order and order status to database
- report manager
- weekly options
- market-on-open, limit-on-open, market-on-close and limit-on-close
- order completion event
- order recovery
- in-process exchange simulator
- add flyway for database migration
- add csv diff tool
- 3rd Party Library updates (Esper 5.1.0)
Version 2.1
- new Instruments: Bond, Fund & Commodity
- overhaul AlgoTrader Reference Data Manager (based on Grails)
- RealTick Fix interface
- Fix market data interface
- Enable multiple concurrent market data streams
- AlgoTrader Maven Archetype to generate new projects
- embedded in-memory DataSource based on H2 database
- Bloomberg Historical data and security retriever interface
- BreakOut Example Strategy
- allow broker specific parameters (e.g. commissions)
- More flexibility on market data file naming
- ManagementService: allow securityId, symbol, isin, bbgid, ric and conid for security definition
- Switch from LIFO to average cost
- East-to-Borrow list for stocks
- overhaul Esper Engine management (EngineLocator, Engine, AbstractEngine and EngineImpl)
- overhaul Spring Proxy generation
- enable client specific code generation based on UML
- 3rd Party Library updates (Esper 4.11.0)
Version 2.0
- Multi Account Handling
- Bloomberg Market Data Interface
- Level-Zero Cache
- New Execution Algorithm “Disbtributional”
- InteractiveBrokers Financial Advisors Handling over FIX
- SABR Option Pricing Engine
- Single-JVM Live-Trading Mode
- Eclipse Colorer Integration
- Support for Global Industry Classification Standard (GICS)
- relate Component to Combination instead of Security
- DocBook based documentation
- add JavaDoc Comments
- Client Expert Mode
- 3rd Party Library updates:
- Esper 4.9
- Spring Framework 3.2.3
- Spring Integration 2.2.4
- Hibernate 3.6.10
Version 1.12
- Esper 4.8
- use Spring Integration for Mail Reconciliation
- Esper Threading
- Hibernate Locking
- Portfolio Value Restoring
- OpenPositionCallback / ClosePositionCallback
- Generic approach for Bars and Ticks
- FIX:
- FIX 4.4
- DukasCopy Fix Interface
- Init orderId from log-file
- Weekly Fix logon/logoff
- Client:
- Markers, Annotations, Description & Crosshair
- Monitoring & Rechability Checking & Notifications
- Market Data Snapshots
- Strategy Properties
- Market Data Gap Checking
- Position Realized P/L
- Handle crossed spreads
Version 1.11
- Reconciliation (IB / RBS / UI)
- SimpleOrders vs AlgoOrders (e.g. SlicingOrder)
- Fix Interface
- OrderPreference
- PorfolioValue logging and charting
- MailMessageReceiver
- AndroMDA 3.4
- ForexFuture / FX Hedging by ForexFuture
Version 1.10
- GenericEvents
- update Charting Functionality (add Indicators & Bars)
- JMX over SSL
Version 1.9
- SyntheticSecurities (Combinations / SyntheticIndices)
- AlgoTraderSSHClient
- PropertyService / PropertyHolder / Property
- improve Hibernate Sessions Handling / Caching
- Metrics Logging
- PortfolioService
- General performance optimizations
Version 1.8
- IncrementalLimitOrder
- HistoricalDataService HistoricalBars
- MBean Annotations
- SecurityFamily TickSizePattern
- Measurement & MeasurementService
Version 1.7
- update ServiceLocation & Configuration
- separation of code into core and common
- update Account Functionality
- Reconciliation
- OrderValidation
- TWS 921.5 / IB Gateway 921.5 / IB Client 9.65 / IBController 2.9.0
- Esper 4.5
Version 1.6
- TickCallback and OrderCallback
- Combinations & Allocations
- Asynchronous Event Propagation using ActiveMQ
- convert Model to UML2.0
- Esper 4.4
Version 1.5
- async Order & MarketDataService
- Esper 4.3
Version 1.4
- GenericFutures
- Cash Balances & FX-Equalization
- Management Service Diagrams
- MarketDataEvents (Bars, Bid, Ask & Trade)
- AndroMDA 3.4 SNAPSHOT
- Maven 2
- Esper 4.2