Skip to content

Latest commit

 

History

History
72 lines (58 loc) · 2.33 KB

File metadata and controls

72 lines (58 loc) · 2.33 KB

Architecture Overview

Trading Bot Workflow

Initialization Phase

  1. Data Generation

    • Generate or load synthetic market data (ETH prices, funding rates) using generate_data.nim.
  2. Liquidity Pool Setup

    • Initialize liquidity positions in Uniswap V2 ETH/USDC pool.
  3. Hedging Initialization

    • Establish initial hedge by shorting ETH perpetual futures on Binance.

Daily Backtest Loop

For each simulated day:

  • Update LP Position

    • Adjust pool balances based on ETH price movements (simulateUniswapLP).
  • Calculate PnL

    • Compute futures profit and loss.
    • Include funding rate costs.
  • Fee Calculation

    • Account for liquidity provider fees.
    • Deduct Binance trading fees.
    • Deduct Ethereum gas costs.
  • Hedge Rebalancing

    • If ETH exposure deviates by more than the set threshold (5%), rebalance the short position.
  • Record Metrics

    • Track daily portfolio metrics.

Result Calculation

  • Compute and output initial investment, final portfolio value, and net return (main.nim).

Workflow Description/Chart

Start
  │
  ├─ Load Synthetic or Real Market Data (generate_data.nim)
  │
  ├─ Initialize LP Position in Uniswap V2 ETH/USDC Pool
  ├─ Establish Initial Hedge via Short ETH Perpetuals (Binance)
  │
  ├─ For each day in Backtest Period:
  │   ├─ Update LP Position based on ETH price movements (simulateUniswapLP)
  │   ├─ Calculate futures PnL & funding rate costs
  │   ├─ Calculate Fees (LP, Binance, Gas)
  │   ├─ Check Hedge Rebalance Threshold (5%)
  │   │   ├─ If exceeded → Adjust Short Position & record gas/trade fees
  │   └─ Update Daily Portfolio Metrics
  │
  ├─ Calculate Final Performance Metrics (initial, final value, net returns)
  │
  └─ Output results (main.nim)
End

Key Components

  • generate_data.nim: Synthetic data generation
  • backtest.nim: Core simulation and hedging logic
  • utils.nim: Helper functions for simulations
  • main.nim: Orchestrates data loading, backtest execution, and results presentation

Future Enhancements

  • Integration of live data feeds (Uniswap API, Binance API)
  • Advanced rebalancing strategies (volatility-based triggers, ML models)
  • Multi-chain support (e.g., SushiSwap, Uniswap V3)
  • Gas cost optimization (batch transactions, Layer 2 solutions)