Skip to content

Commit

Permalink
screenshots added
Browse files Browse the repository at this point in the history
  • Loading branch information
AbYT101 committed Jun 26, 2024
2 parents 36466ef + d07d109 commit 36e70dd
Show file tree
Hide file tree
Showing 13 changed files with 1,939 additions and 894 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: CI/CD Pipeline

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

services:
docker:
image: docker:19.03.12
options: --privileged

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Build and push Docker images
uses: docker/build-push-action@v2
with:
push: false
tags: user/app:latest


20 changes: 20 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Use an official Python runtime as a parent image
FROM python:3.9-slim

# Set the working directory in the container
WORKDIR /app

# Copy the requirements file into the container
COPY requirements.txt .

# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Copy the rest of the application code into the container
COPY . .

# Make port 80 available to the world outside this container
EXPOSE 80

# Run the application
CMD ["python", "run.py"]
40 changes: 31 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,22 @@ The Crypto Trading Backtesting project aims to provide a robust, large-scale tra

- **Frontend Interface**: Provides a user-friendly interface for running backtests and viewing results.

- **Index Fund**: Algorithm that shows the best backtested strategy and implements a recommendation based on a combination of best returns.


## 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**

## Project Structure

```
Expand Down Expand Up @@ -58,25 +74,26 @@ crypto-trading-backtesting/
│ ├── kafka-config.yaml
│ └── mlflow-config.yaml
├── data/
│ ├── raw/
│ ├── processed/
│ └── backtests/
├── docs/
│ ├── README.md
│ ├── DESIGN.md
│ └── USAGE.md
├── notebooks/
│ ├── data_exploration.ipynb
│ ├── backtesting_yfinance.ipynb
│ ├── backtesting.ipynb
│ ├── Chronos.ipynb
│ ├── data_exploration.ipynb
│ └── model_training.ipynb
│ └── moirai_forcast.ipynb
├── scripts/
│ ├── backtest_runner.py
│ ├── data_ingestion.py
│ ├── forecast_backtest_runner.py
│ ├── forecast.py
│ ├── mlflow_backtest.py
│ └── model_training.py
│ └── moirai_forcast.py
├── tests/
│ ├── unit/
Expand All @@ -87,13 +104,16 @@ crypto-trading-backtesting/
│ │ ├── test_end_to_end.py
│ └── conftest.py
├── Dockerfile
├── .gitignore
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
├── LICENSE
├── README.md
└── setup.py
```

### Installation
### Set up Instructions

1. **Clone the repository:**

Expand Down Expand Up @@ -132,6 +152,8 @@ crypto-trading-backtesting/
7. **Run Chronos**
```sh
pip install git+https://github.com/amazon-science/chronos-forecasting.git

pip install pandas numpy torch sqlalchemy psycopg2-binary matplotlib chronos
```

#### Altenative
Expand Down
26 changes: 26 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
version: '3.8'

services:
backend:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app
ports:
- "8000:80"
environment:
- APP_ENV=development
command: python run.py

frontend:
build:
context: ./frontend
dockerfile: Dockerfile
volumes:
- ./frontend:/app
ports:
- "3000:3000"
environment:
- NODE_ENV=development
command: serve -s build
26 changes: 26 additions & 0 deletions frontend/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Use the official Node.js image as a parent image
FROM node:14

# Set the working directory in the container
WORKDIR /app

# Copy the package.json and package-lock.json files
COPY package*.json ./

# Install any needed packages
RUN npm install

# Copy the rest of the application code into the container
COPY . .

# Build the app
RUN npm run build

# Install serve to serve the build
RUN npm install -g serve

# Make port 3000 available to the world outside this container
EXPOSE 3000

# Serve the app
CMD ["serve", "-s", "build"]
1,768 changes: 888 additions & 880 deletions notebooks/Chronos.ipynb

Large diffs are not rendered by default.

224 changes: 224 additions & 0 deletions notebooks/moirai_forecast.ipynb

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions notebooks/uni2ts
Submodule uni2ts added at fac7a9
15 changes: 14 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,17 @@ python-dotenv
ccxt
yfinance
flask_cors
Flask-Migrate
safetensors
torch>=2.1
lightning>=2.0
gluonts~=0.14.3
# numpy~=1.26.0
einops==0.7.*
jaxtyping~=0.2.24
python-dotenv
hydra-core==1.3
huggingface_hub>=0.23.0
safetensors
jax[cpu]
Flask-Migrate

Loading

0 comments on commit 36e70dd

Please sign in to comment.