AlgoTraderAlgoTrader Documentation

Development Guide

AlgoTrader

Version 5.1


Preface
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
1. Introduction
2. Building AlgoTrader
2.1. Command Line
2.1.1. Git Checkout
2.1.2. Maven Build
2.1.3. Docker Build
2.2. Eclipse
2.2.1. Git Checkout
2.2.2. Maven Build
2.2.3. Docker Build
2.3. AlgoTrader UI
2.3.1. Git Checkout
2.3.2. Maven Build
2.3.3. Docker Build
3. Domain Model
3.1. Security Visitors
3.2. Data access objects (DAOs)
3.3. Services
3.3.1. Private Services
3.3.2. Order Services
3.3.3. Market Data Services
3.3.4. Historical Data Services
3.3.5. Reference Data Services
4. Java Environment
4.1. AlgoTrader Project Structure
4.1.1. common project
4.1.2. core project
4.1.3. conf project
4.1.4. launch project
4.1.5. strategy projects
4.2. Java Packages & Classes
4.3. Maven Environment
4.3.1. Maven assemblies
4.3.2. Packaging strategies
5. Code Generation
6. Database
6.1. Database scripts
6.2. Transaction Handling
7. Market Data
8. Adapters
8.1. Bloomberg
8.2. Currenex
8.3. DukasCopy
8.4. Exante
8.5. EzeSoft/RealTick
8.6. Fix Interface
8.7. Fortex
8.8. FXCM
8.9. IB Native Interface
8.10. JP Morgan
8.11. LMAX
8.12. Nexus Prime
8.13. PrimeXM
8.14. Quandl
8.15. QuantHouse
8.16. SocGen
8.17. Trading Technologies
8.18. UBS
8.19. Binance
8.20. Bitfinex
8.21. Bitflyer
8.22. BitMEX
8.23. Bitstamp
8.24. CoinAPI
8.25. Coinbase
8.26. Coinigy
8.27. CoinMarketCap
9. Execution Algos
9.1. Development of Execution Algos
9.2. Execution Algos entry form generation
10. Spring Services
10.1. Wiring Factories
10.2. Application Context
10.3. Abstract Services
10.4. Service initialization order
11. Events and Messaging
11.1. Embedded ActiveMQ message broker
11.2. Embedded Jetty HTTP server
11.3. RESTful interface
11.4. Event Dispatcher
11.5. Event Listeners
11.6. JMS Destinations
12. Configuration and Preferences API
12.1. Config Providers
12.2. Config Beans
12.3. Config Locator
13. Processes and Networking
13.1. Processes
13.2. Sockets
13.3. RMI
14. Hibernate Sessions and Caching
14.1. Hibernate Caching
14.1.1. Level-Zero Cache
15. Logging
15.1. Custom UI Log Event Appender