Skip to content

A high-performance algorithmic cryptocurrency trading system featuring a low-latency Go backend and an interactive Python Streamlit frontend. Designed for both live and historical backtesting, the platform integrates technical analysis tools and offers a full-stack architecture for strategy development and evaluation.

License

Notifications You must be signed in to change notification settings

Ronit26Mehta/Algorithm-Based-Cryptocurrency-Low-Latency-based-trading-System-Using-GO-Lang


🚀 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.


About

A high-performance algorithmic cryptocurrency trading system featuring a low-latency Go backend and an interactive Python Streamlit frontend. Designed for both live and historical backtesting, the platform integrates technical analysis tools and offers a full-stack architecture for strategy development and evaluation.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published