Skip to content

hakanyakar/bilira-case

Repository files navigation

Bilira Case Project Algorithmic Trading

A Python-based cryptocurrency trading bot that implements a Simple Moving Average (SMA) crossover strategy for automated trading on Binance.

Features

  • Real-time price monitoring via Binance orderbook WebSocket
  • SMA crossover strategy implementation
  • PostgreSQL database for storing prices, signals, and orders
  • Redis caching for optimized SMA calculations
  • Prometheus metrics for monitoring
  • FastAPI endpoints for metrics and monitoring
  • Unit tests

Strategy Details

The bot implements a Simple Moving Average (SMA) crossover strategy:

  • Generates BUY signals when short-term SMA crosses above long-term SMA
  • Generates SELL signals when short-term SMA crosses below long-term SMA
  • Uses Redis caching for efficient SMA calculations
  • Stores all signals and trades in PostgreSQL database

Prerequisites

  • Docker and Docker Compose
  • Binance API credentials

Monitoring

The bot includes comprehensive monitoring:

  • Operation latency
  • CPU and memory usage
  • Error counts
  • Data loss events
  • Trading signals and executions

Services:

  • Trading Bot Swagger API: http://localhost:8080/docs
  • Prometheus metrics: http://localhost:8000
  • PostgreSQL: localhost:5432
  • Redis: localhost:6379

Access monitoring endpoints:

  • Dashboard: http://127.0.0.1:8080/
  • Trading signals: http://127.0.0.1:8080/signals
  • Trading orders: http://127.0.0.1:8080/orders
  • Performance metrics: http://localhost:8080/api/monitoring/performance
  • Error metrics: http://localhost:8080/api/monitoring/errors
  • Prometheus graphical metrics: http://localhost:9090

Testing

pytest tests/test_strategy.py -v

Installation

  1. Clone the repository:
git clone https://github.com/hakanyakar/bilira-case.git
  1. Navigate to the project directory:
cd bilira-case
  1. Create a .env file with your configuration like .env.example. Change only Binance credentials.

  2. Edit src/config.py to customize trading parameters:

  • Trading pair
  • SMA periods
  • Order quantity
  • Database settings
  • Redis settings
  1. Run app
docker compose up --build

About

This repository is for Bilira case project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published