AlgoTraderAlgoTrader Documentation

Development Guide

AlgoTrader


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
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
5. Code Generation
6. Database
6.1. Database scripts
6.2. Transaction Handling
7. Market Data
8. Adapters
8.1. Fix Interface
8.2. Bloomberg
8.3. IB Native Interface
8.4. QuantHouse
8.5. Binance
8.6. Bitfinex
8.7. Bitflyer
8.8. BitMEX
8.9. Bitstamp
8.10. CoinAPI
8.11. Coinigy
8.12. CoinMarketCap
9. Execution Algos
9.1. Development of Execution Algos
10. Spring Services
10.1. Wiring Factories
10.2. ApplicationContext
10.3. Abstract Services
10.4. Service initialization order
11. Events and Messaging
11.1. Embedded ActiveMQ message broker
11.2. STOMP messaging over WebSockets transport
11.3. Embedded Jetty HTTP server
11.4. RESTful interface
11.5. JSON data binding
11.6. EventDispatcher
11.7. Event listeners
11.8. 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 LogEventAppender