Skip to content

open-source framework for building and deploying high-frequency trading bots using Python. It provides a low-latency, modular system for running sophisticated strategies like VWAP and arbitrage across multiple exchanges.

License

Notifications You must be signed in to change notification settings

bhanukaranwal/High-Frequency-Trading-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

High-Frequency Trading Bot: hft-bot

Project Banner

Build StatusLicensePython VersionPRs Welcome

Ultra-Efficient, Modular, and Feature-Rich VWAP Execution Enginehft-bot is an open-source, production-grade framework for high-frequency trading (HFT). It provides a low-latency, modular system for developers and quants to build and run sophisticated strategies like VWAP and arbitrage across multiple exchanges.✨ Core FeaturesFeatureDescription🔌 Multi-Exchange SupportPluggable connectors for major crypto and traditional exchanges.🚀 Advanced StrategiesBuilt-in VWAP, with a modular engine for market making, arbitrage, and custom user-defined strategies.⚡ Ultra-Low LatencyAsynchronous, event-driven architecture optimized for microsecond-level execution.📊 Real-Time DataMillisecond-level streaming of tick data, order book depth, and on-the-fly indicator calculation.🎛️ Sophisticated OrdersAdvanced order types (Limit, Market, Iceberg, FOK) and smart order routing logic.🛡️ Robust Risk ManagementAutomated position sizing, stop-loss, max drawdown controls, and a kill-switch for safety.📈 Backtesting & AnalyticsHigh-fidelity backtesting engine and real-time performance monitoring (P&L, Sharpe Ratio).🔧 Extensible & ModularEasily add new strategies, exchanges, or data sources. Fully configurable via YAML.🏗️ Architecture OverviewThe bot is built on a decoupled, event-driven architecture. Core components communicate asynchronously through a central Event Engine, ensuring high throughput and low latency.

Architecture Diagram

Event Engine: The central nervous system, dispatching events like TICK, ORDER, and FILL.Exchange Connectors: Normalize data from different exchanges and stream it into the system.Strategy Engine: Hosts and executes trading logic, generating SIGNAL events.Risk Manager: Intercepts signals to validate them against predefined risk rules before execution.Order Manager: Manages the full lifecycle of an order, from creation to execution confirmation.Performance Monitor: Logs all trades and calculates real-time performance metrics.🛠️ Technology Stack

PythonDockerYAMLPandasNumPy

🚀 Getting StartedPrerequisitesPython 3.11+Docker & Docker ComposeExchange API Credentials1. Clone & Install# Clone the repository git clone https://github.com/your-username/hft-bot.git cd hft-bot

Install dependencies

pip install -r requirements.txt 2. ConfigurationAll parameters are managed in a central config.yaml file.# Create your personal configuration file cp config.example.yaml config.yaml Now, open config.yaml and add your exchange API keys, define strategies, and set risk limits.# Example: config.yaml exchanges: binance_futures: connector: "binance" api_key: "YOUR_API_KEY" api_secret: "YOUR_API_SECRET" is_testnet: true

strategies:

  • strategy_name: "VWAPStrategy" enabled: true params: exchange: "binance_futures" symbol: "BTCUSDT" vwap_period: 30 # minutes order_amount: 0.001 target_spread_pct: 0.001 start_time: "09:30" end_time: "16:00"
  1. Run the BotYou can run the bot directly or use the provided Docker setup for a containerized environment.Using Docker (Recommended):docker-compose up --build Directly:python main.py 🤝 ContributingContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.Please see CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.Areas for ContributionNew Strategies: Market Making, Statistical Arbitrage, etc.Exchange Connectors: Add support for Coinbase, Kraken, or traditional brokers.Performance Optimization: Profile critical paths and explore C++/Rust modules.UI/UX: Develop a web-based dashboard for live monitoring.🗺️ Project Roadmap[ ] Advanced Backtester: Implement more realistic slippage and cost models.[ ] Machine Learning Integration: Add hooks for ML/RL models for signal generation.[ ] Web Dashboard: Create a real-time monitoring UI with Plotly/Dash or Streamlit.[ ] Expanded Exchange Support: Add connectors for at least 3 more major exchanges.[ ] Cloud Deployment Scripts: Provide templates for deploying on AWS/GCP.📜 LicenseThis project is licensed under the MIT License - see the LICENSE file for details.

    Made with ❤️ by the Open Source Community

About

open-source framework for building and deploying high-frequency trading bots using Python. It provides a low-latency, modular system for running sophisticated strategies like VWAP and arbitrage across multiple exchanges.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages