Docs
Introduction
AWTS is a modular suite of software tools for the analysis and trading of financial markets. It is intended for data-driven traders, quant researchers and quant developers to facilitate faster, more efficient analysis and strategy development. A modular, a la carte suite of components where you can run your whole operation using AWTS… …or just pick the modules you need to reduce your own dev/support needs. One size does not fit all!Installation
The AWTS suite is delivered as a set of Docker images to run on your own infrastructure. Using Docker makes the apps easier to install and manage - as well as being safer from a security perspective; Docker keeps the apps in a secure sandbox so they cannot access other files/apps on your host servers.
Quickstart
This section lists various tutorials and quickstart guides for different scenarios to help you get to grips with AWTS.
Dash (visualization)
The AWTS dash
service provides a rich, powerful and data-driven UI for visualizing market data, quant analytics outputs, fundamentals and a wide variety of other outputs.
Data
Data modules bring time series data into AWTS. Modules are available for most major brokers and data vendors. Data sources are typically price data for tradable instruments - but can also be for any other data, including fundamentals and alternative data.
Book
Modules implementing the Book service are broker-specific, and provide execution services for backtesting, paper and live execution of trades.
Calendar
The Calendar service provides a stream of dated events that have occured, and will occur in the future.
News
News modules stream articles in real time from news sources such as Bloomberg, RSS feeds and many other places - including custom feeds you create.
Results
This service provides a storage for trade results, plus properties & statistics about each set of results (e.g. strategy, parameters) to facilitate comparing results. Use the results service to analyse the performance of backtests and live execution.
Runner
The Runner service is central to putting AWTS to work. Essentially it runs Jobs, which are defined by a Job Spec to configure the Execution Engine. Runner runs trading algorithms, as well as any custom data/processing/analytics tasks.
Strat service
The Strat service should be served by any module in your environment that is running full active trading strategy. If you create and run standalone strategies, consider implementing this service yourself to leverage Dash and the other AWTS tools for visibility and management.
The engine
The AWTS engine is a simulation-based time-series engine for backtesting, market replay, live visualization as well as running strategies. It supports parallelized execution, and live casting of state data to dashboards.
Modules
AWTS Modules are the individual software components you may run in your AWTS environment. Each module serves a specific purpose and serves one or more services such as Market data or News. Your AWTS environment is the sum of all the modules you choose to run.
CLI
The AWTS command line utility serves to aid configuration and management of your environment. Use it to inspect running services, export data for offline analysis, discover/manage running services and pretty much everything else.
Operations
This section documents various functionality and considerations for hosting an AWTS environment in a production capacity, such as TLS/SSL configuration, licensing, health/performance monitoring and more.
APIs
AWTS is fully API-based, and all APIs are exposed for you to use to drive the system. SDKs and client libraries are provided for Python, Go, C++, Typescript and other languages.
Customization
AWTS is modular and highly configurable and customizable out-of-the-box (sic). However it can also be extended with your own data sources and analytics tools. The default method is to just use the AWTS modules that make sense for you, and build out the rest of your proprietary environment as ’normal’; treating AWTS as a suite of APIs to help with boilerplate integrations and common-case functionality. However, you can also build new modules of your own simply by implementing the same API contracts as the AWTS modules do and adding some small administrative logic to register your own modules with mux.Reference material
This section documents AWTS-wide concepts and development philosophies that apply across services & modules.
Glossary
Precise language is important. Here are the terms used throughout AWTS documentation and services and what each term means.
FAQs
Here are some frequently-asked and introductory questions about AWTS