Microservices-Based-Algorithmic-Trading-System
MBATS is a docker based platform for developing, testing and deploying Algorthmic Trading strategies with a focus on Machine Learning based algorithms.
File Explorer
Download Latest Version (.zip)- Dockerfile
- requirements.txt
- Dockerfile
- README.md
- requirements.txt
- Dockerfile
- Dockerfile
- requirements.txt
- Dockerfile
- architecture-cloud.png
- architecture.png
- backtrader.png
- components.png
- logo.PNG
- logo2.png
- logo_0.PNG
- old.png
- superset2.PNG
- cred.cpython-37.pyc
- dag_dynamic.cpython-37.pyc
- dag_fx_data.cpython-37.pyc
- dag_fx_data_download copy.cpython-37.pyc
- dag_fx_data_download.cpython-37.pyc
- dag_helper_files.cpython-37.pyc
- dag_mlflowserve.cpython-37.pyc
- dag_strategy_dynamic.cpython-37.pyc
- example_dag - 2.cpython-37.pyc
- example_dag.cpython-36.pyc
- example_dag.cpython-37.pyc
- fx_data.cpython-37.pyc
- fx_oanda_daily.cpython-37.pyc
- fx_oanda_download.cpython-37.pyc
- fx_oanda_minute.cpython-37.pyc
- mlflow_test.cpython-37.pyc
- test_dag - Copy.cpython-37.pyc
- test_dag.cpython-37.pyc
- dag_fx_data_download.py
- dag_strategy_dynamic.py
- process_configuration.json
- interested_tickers.xlsx
- strategy.csv
- conda.yaml
- MLmodel
- model.pkl
- 1_ml_log.csv
- 2_ml_log.csv
- processed_2_ml_log.csv
- 10-19-2019-checkpoint.ipynb
- Example-checkpoint.ipynb
- Mlflow Serving Test - Only look at this-checkpoint.ipynb
- PODA PATTI-checkpoint.ipynb
- launch.json
- settings.json
- conda.yaml
- ml_log_processed.csv
- MLproject
- train.py
- Example.ipynb
- 124afc37-5bde-4a12-a5fb-c25c49bc48c5
- 3e137754-12cf-4207-ac2d-e5523bb2e476
- 72632a26-21ef-4487-8f34-8201b729213c
- e4af4537-fc0b-4bb0-8ef0-430f8678aaef
- f618e8d8-213d-4139-a7cf-cff78baec139
- pgadmin4.db
- 01_create_user.sh
- __init__.cpython-37.pyc
- __init__.cpython-36.pyc
- __init__.cpython-37.pyc
- __init__.cpython-36.pyc
- __init__.cpython-37.pyc
- oandav20broker.cpython-36.pyc
- oandav20broker.cpython-37.pyc
- __init__.py
- oandav20broker.py
- __init__.cpython-36.pyc
- __init__.cpython-37.pyc
- oandav20feed.cpython-36.pyc
- oandav20feed.cpython-37.pyc
- __init__.py
- oandav20feed.py
- __init__.cpython-36.pyc
- __init__.cpython-37.pyc
- oandav20sizer.cpython-36.pyc
- oandav20sizer.cpython-37.pyc
- __init__.py
- oandav20sizer.py
- __init__.cpython-36.pyc
- __init__.cpython-37.pyc
- oandav20store.cpython-36.pyc
- oandav20store.cpython-37.pyc
- __init__.py
- oandav20store.py
- __init__.py
- fx_oanda_daily.cpython-37.pyc
- fx_oanda_minute.cpython-37.pyc
- fx_oanda_daily.py
- fx_oanda_minute.py
- risk_db_schema_builder.py
- secmaster_db_schema_builder.py
- secmaster_db_symbol_loader.py
- ml_preprocessing.cpython-37.pyc
- ml_preprocessing.py
- bt_analyzers.cpython-37.pyc
- bt_logger_analyzer.cpython-37.pyc
- bt_perform_analyzer.cpython-37.pyc
- bt_pos_perform_analyzer.cpython-37.pyc
- bt_strat_perform_analyzer.cpython-37.pyc
- bt_strategy_id_analyzer.cpython-37.pyc
- bt_transaction_analyzer.cpython-37.pyc
- bt_logger_analyzer.py
- bt_pos_perform_analyzer.py
- bt_strat_perform_analyzer.py
- bt_strategy_id_analyzer.py
- bt_transaction_analyzer.py
- db_cred.cpython-37.pyc
- db_risk_cred.cpython-37.pyc
- db_secmaster_cred.cpython-37.pyc
- oanda_cred.cpython-37.pyc
- db_risk_cred.py
- db_secmaster_cred.py
- oanda_cred.py
- bt_datafeed_postgres.cpython-37.pyc
- bt_datafeed_postgres.py
- run_BT.py
- __init__.cpython-37.pyc
- simple_strategy.cpython-37.pyc
- simple_strategy_2.cpython-37.pyc
- __init__.py
- simple_strategy.py
- simple_strategy_2.py
- args_parse_dict.cpython-37.pyc
- args_parse_other.cpython-37.pyc
- write_to_db.cpython-37.pyc
- args_parse_other.py
- write_to_db.py
- __init__.py
- superset.db
- superset_config.py
- .devcontainer.json
- .env
- .gitignore
- docker-compose.yml
- LICENSE
- README.md
- starter_script.bat
π Installation Guide
1. Get the code
git clone https://github.com/saeed349/Microservices-Based-Algorithmic-Trading-System
Downloads the entire project code from GitHub to your computer.
cd Microservices-Based-Algorithmic-Trading-System
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
3. Run docker compose:
Runs the command against the services defined in the compose file.
MBATS is a collection of 9 docker containers acting synchronously to create an environment to develop and productionise trading strategies with ease. The main parts of MBATS are as follows.
Type this command into your terminal and run it.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
Pulled directly from this repo's README.
3. Python
EasyPrerequisites
8. Go to Jupyter Notebook (http://localhost:8888) and use the Notebook [*Example.ipynb*](./Storage/notebooks/Example.ipynb) to run through the example strategy implementation where you can
Type this command into your terminal and run it.
In this project all the ML model can be tracked by the MLflow Tracker and the model artifacts are stored in Minio, the main reason for doing so is that later on I can swap Minio for a Cloud object store like S3. The ML models are then served using MLflow pyfunc. We also have the option to serve the model as Rest API using MLflow (code in sample jupyter notebook)
Type this command into your terminal and run it.
* Jupyter Notebook:http://localhost:8888
Type this command into your terminal and run it.
If it runs without errors and prints output in the terminal, it worked.
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
