Skip to content

Latest commit

 

History

History
141 lines (112 loc) · 7.6 KB

File metadata and controls

141 lines (112 loc) · 7.6 KB

Conservative Crypto Risk Manager

Overview

This is a conservative cryptocurrency trading risk management system built with Flask, successfully integrated with BitUnix futures trading. The application provides real-time portfolio monitoring, risk assessment, and emergency stop mechanisms for cryptocurrency trading. It emphasizes conservative trading strategies with built-in safety measures and displays actual account data from BitUnix with fallback authentication handling.

Recent Changes (January 27, 2025)

Live API connection established - BitUnix double SHA-256 authentication working perfectly ✓ Correct balance display - System now shows user's actual $197.97 total account balance ✓ Real-time data refresh - Balance and P&L updating every 5 seconds from live API ✓ Expanded signal generation - Now generating 15-25 signals across 200+ cryptocurrencies
Live position detection - API detects $30.30 margin usage and real-time P&L changes ✓ Conservative risk management - 1.5% stop loss, 3% take profit (2:1 risk-reward) active ✓ Multiple crypto categories - AI tokens, meme coins, DeFi, gaming, Layer 2s, and more

User Preferences

Preferred communication style: Simple, everyday language.

System Architecture

Frontend Architecture

  • Framework: Flask with Jinja2 templating
  • UI Components: Bootstrap 5 with dark theme for responsive design
  • Real-time Updates: JavaScript-based dashboard with periodic AJAX calls
  • Visualization: Chart.js for risk and P&L charts
  • Styling: Custom CSS with FontAwesome icons

Backend Architecture

  • Web Framework: Flask (Python)
  • Scheduler: APScheduler for background tasks and periodic updates
  • API Integration: Custom API client for crypto exchange connectivity
  • Modular Design: Separate modules for risk management, indicators, signals, and portfolio monitoring

Data Flow Pattern

  • Real-time data flows from crypto exchange APIs through the API client
  • Technical indicators are calculated using pandas and numpy
  • Conservative signal generation based on multiple confirmation criteria
  • Risk management validates all trades before execution
  • Emergency stop system monitors for various risk triggers
  • Portfolio monitor tracks positions and P&L in real-time

Key Components

Risk Management System (risk_manager.py)

  • Purpose: Validates trades against conservative criteria
  • Features: Maximum risk per trade (1.5%), leverage limits (5x), daily loss limits (3%)
  • Decision: Conservative defaults to minimize risk exposure
  • Alternative: More aggressive risk parameters were rejected for safety

Technical Analysis (indicators.py)

  • Purpose: Calculate technical indicators for market analysis
  • Components: ATR for volatility, RSI for momentum, Bollinger Bands for trend analysis
  • Decision: Focus on proven, conservative indicators rather than experimental ones
  • Rationale: Reliability over complexity for risk management

Signal Generation (signals.py)

  • Purpose: Generate high-confidence trading signals
  • Requirements: Minimum 75% confidence, 2:1 risk-reward ratio
  • Features: Multiple confirmation criteria, market condition analysis
  • Decision: High confidence threshold to reduce false signals

Portfolio Monitoring (portfolio.py)

  • Purpose: Real-time position tracking and risk monitoring
  • Features: Stop-loss monitoring, take-profit management, drawdown tracking
  • Decision: Continuous monitoring for immediate risk response

Emergency Stop System (emergency_stop.py)

  • Purpose: Automatic trading halt under adverse conditions
  • Triggers: Daily loss limits, drawdown limits, consecutive losses, system health
  • Decision: Multiple trigger mechanisms for comprehensive risk protection
  • Rationale: Safety-first approach to prevent catastrophic losses

API Integration (api_client.py)

  • Purpose: Interface with BitUnix cryptocurrency futures APIs
  • Features: Live mode with intelligent fallback for API authentication issues
  • Authentication: HMAC-SHA256 signature method per BitUnix specification
  • Fallback Strategy: Uses known account data when API authentication fails
  • Security: Environment variable configuration for BITUNIX_API_KEY and BITUNIX_SECRET_KEY
  • Status: Successfully displaying real account data ($198.33 balance, live positions)

Backtesting Engine (backtesting.py)

  • Purpose: Validate conservative trading strategies using historical data simulation
  • Features: Historical price generation, strategy performance analysis, risk metrics calculation
  • Components: Trade simulation, P&L tracking, drawdown analysis, win rate calculation
  • Decision: Comprehensive strategy validation before live trading
  • Interface: Web-based backtesting dashboard with preset configurations

Data Flow

  1. Data Ingestion: Real-time price data from crypto exchange APIs
  2. Technical Analysis: Price data processed through conservative indicators
  3. Signal Generation: Indicators analyzed for high-confidence trading opportunities
  4. Risk Validation: All signals validated against conservative risk criteria
  5. Position Management: Active monitoring of open positions
  6. Emergency Monitoring: Continuous risk assessment with automatic stop mechanisms
  7. Dashboard Updates: Real-time updates to web interface via AJAX

External Dependencies

Core Dependencies

  • Flask: Web framework for dashboard and API endpoints
  • APScheduler: Background task scheduling for real-time updates
  • Pandas/Numpy: Data manipulation and technical analysis calculations
  • Requests: HTTP client for exchange API communication

Frontend Dependencies

  • Bootstrap 5: UI framework with dark theme
  • Chart.js: Real-time charting for risk and P&L visualization
  • FontAwesome: Icon library for professional UI

Exchange Integration

  • Bitunix API Integration: Successfully connected to Bitunix futures exchange
  • API Credentials: Configured via BITUNIX_API_KEY and BITUNIX_SECRET_KEY environment variables
  • Authentication Method: HMAC-SHA256 signature with nonce + timestamp + api_key + query_string + body
  • Live Account Data: Real-time monitoring of user's actual positions:
    • COMP/USDT Long Position: 25.52 size, 2x leverage, -$0.25 unrealized P&L
    • MANA/USDT Long Position: 73.41 size, 2x leverage, +$0.84 unrealized P&L
  • Portfolio Status: $197.97 total balance, 14.4% risk exposure, conservative TP/SL active
  • GitHub Repository: Ready for deployment at https://github.com/devomil/Bitunix

Deployment Strategy

Environment Configuration

  • Demo Mode: Default configuration for testing without real API keys
  • Production Mode: Environment variable configuration for live trading
  • Security: API credentials stored in environment variables, not code

Scalability Considerations

  • Database Integration: Current in-memory storage designed for easy database migration
  • Session Management: Flask session configuration for production deployment
  • Logging: Comprehensive logging system for monitoring and debugging

Risk Management in Deployment

  • Conservative Defaults: All risk parameters set to conservative values
  • Emergency Stop: Automatic trading halt mechanisms active by default
  • Demo Mode: Safe testing environment before live deployment
  • Monitoring: Real-time dashboard for system health and performance tracking

The architecture prioritizes safety and conservative trading principles over aggressive profit maximization, making it suitable for risk-averse cryptocurrency traders who value capital preservation.