Skip to content

Latest commit

 

History

History
148 lines (101 loc) · 3.32 KB

File metadata and controls

148 lines (101 loc) · 3.32 KB

🚀 Low-Latency Algorithmic Cryptocurrency Trading System (Go + Python)

A high-performance cryptocurrency trading platform with a Go-based backend and a Python Streamlit frontend. Designed for backtesting and executing algorithmic strategies using historical and live data with low latency.


📐 System Design

  • Procedure Diagram:
    Procedure Diagram
  • Sequence Diagram:
    Sequence Diagram
  • System Architecture:
    Architecture
  • Class Diagram:
    Class Diagram

📁 Repository Structure

trading-system/
├── backend/           # Go backend for strategy execution and APIs
├── frontend/          # Python Streamlit frontend for user interface
├── dependencies/      # go.mod and go.sum for module management
├── docs/              # Design documents and PDFs
├── logs/              # Log files for trades
├── README.md          # Project documentation

🔧 Requirements

Backend (Go)

  • Go 1.18+
  • Key packages:
    • github.com/adshao/go-binance/v2
    • github.com/gin-gonic/gin
    • gonum.org/v1/plot

Frontend (Python)

  • Python 3.8+
  • Key packages:
    • streamlit
    • requests
    • pandas

⚙️ Installation & Setup

Backend Setup

# Install Go from https://golang.org/dl/
git clone https://github.com/yourusername/trading-system.git
cd trading-system/backend
go mod tidy
go run main.go

Frontend Setup

# Install Python from https://python.org
cd frontend
pip install -r requirements.txt
streamlit run frontend.py

🚀 Running the Application

  • Backend runs on localhost:8080 with routes like:

    • POST /trade
    • GET /exchanges
    • GET /symbols
  • Frontend launches a local Streamlit web UI where users can:

    • Select exchange/symbol
    • Input strategy parameters
    • Run backtests
    • View & download results

📊 Strategy & Usage

  • Backend:

    • Supports custom strategies like KAGE, KITSUNE, ZEN, TENSHI, etc.
    • Reads historical data from CSV or Binance API.
    • Logs and visualizes trades.
  • Frontend:

    • User-friendly tabs for input and visualization.
    • Trade results displayed with metrics and graphs.
    • CSV export option for trade data.

📦 Backend Code Highlights

  • main.go: Core logic, strategy handlers, API endpoints.
  • Custom indicators: RSI, Stochastic, SMA/EMA, Novel Oscillator.
  • Multiple strategy modules, each independently testable.

💻 Frontend Highlights

  • Streamlit dashboard with real-time UI components.
  • Sidebar input for parameters.
  • Tabs for strategy logic, documentation, and results.

🤝 Contributing

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature-name).
  3. Commit your changes.
  4. Push to the branch (git push origin feature-name).
  5. Open a pull request!

📄 License

This project is licensed under the MIT License. See LICENSE for details.


Would you like this saved as an updated README.md file?

License

Distributed under the MIT License. See LICENSE for more information.