-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from dev-abuke/setup-environment
Setup environment
- Loading branch information
Showing
8 changed files
with
116 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: CI/CD | ||
|
||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.8' | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install -r requirements.txt | ||
- name: Run tests | ||
run: | | ||
pytest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -126,6 +126,7 @@ celerybeat.pid | |
.venv | ||
env/ | ||
venv/ | ||
backtest/ | ||
ENV/ | ||
env.bak/ | ||
venv.bak/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,83 @@ | ||
# Scalable_Backtesting_Infrastructure_for_Crypto_Trading | ||
Our startup, Mela, aims to simplify cryptocurrency trading for everyone and provide reliable investment sources while mitigating risks. We aim to design and build a reliable, large-scale trading data pipeline that can run various backtests and store useful artifacts in a robust data warehouse. | ||
# Scalable Crypto Backtesting Infrastructure | ||
|
||
## Overview | ||
|
||
Mela, a startup, aims to simplify cryptocurrency trading for everyone and provide reliable investment sources while mitigating risks. This project is focused on designing and building a reliable, large-scale trading data pipeline that can run various backtests and store useful artifacts in a robust data warehouse. | ||
|
||
## Key Objectives | ||
|
||
- **Run Multiple Backtests**: Utilize various technical indicators and assets to perform backtests. | ||
- **Design Database Schema**: Store backtest artifacts in a well-structured database. | ||
- **Integrate MLOps Tools**: Use Apache Kafka, Airflow, MLflow, and CML. | ||
- **Build Frontend**: Create an interface for users to run backtests. | ||
- **Test Pipeline**: Ensure the pipeline's functionality and reliability. | ||
|
||
## Skills and Knowledge | ||
|
||
- **Skills**: Technical analysis, backtesting, trading, data pipeline building, structured streaming, workflow orchestration. | ||
- **Knowledge**: Financial prediction, enterprise-grade data engineering using Apache and Databricks tools. | ||
|
||
## Technical Skills | ||
|
||
- **Python Programming** | ||
- **SQL Programming** | ||
- **Data & Analytics Engineering** | ||
- **MLOps** | ||
- **Software Development Frameworks** | ||
|
||
## Setup Instructions | ||
|
||
### Clone the Repository | ||
|
||
```bash | ||
git clone https://github.com/dev-abuke/Scalable_Backtesting_Infrastructure_for_Crypto_Trading.git | ||
``` | ||
### Move to Working Directory | ||
|
||
```bash | ||
cd Scalable_Backtesting_Infrastructure_for_Crypto_Trading | ||
``` | ||
## Set Up Local Development Environment | ||
|
||
**Create a virtual environment for the project** | ||
|
||
```bash | ||
python -m venv env | ||
``` | ||
|
||
```sh | ||
source env/bin/activate # On Windows, use `env\Scripts\activate` | ||
``` | ||
|
||
**Install necessary packages** | ||
|
||
```bash | ||
pip install -r requirements.txt | ||
``` | ||
## Project Structure | ||
```bash | ||
├── data/ | ||
├── scripts/ | ||
│ └── download_data.py | ||
├── tests/ | ||
├── .github/ | ||
│ └── workflows/ | ||
│ └── ci.yml | ||
├── requirements.txt | ||
└── README.md | ||
``` | ||
## Contributors | ||
- Abubeker Shamil | ||
|
||
## License | ||
This project is licensed under the MIT License - see the LICENSE file for details. | ||
|
||
## Acknowledgments | ||
**Instructors** | ||
- Yabebal | ||
- Nathnael | ||
- Emtinan | ||
- Rehmet | ||
|
||
**References:** | ||
backtrader, Freqtrade, Vectorbt, Kafka, Airflow, MLflow, CML |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
pandas | ||
numpy | ||
matplotlib | ||
scikit-learn | ||
backtrader | ||
freqtrade | ||
yfinance |
Empty file.
Empty file.