Files
gogo2/ANNOTATE/REALTIME_INFERENCE_GUIDE.md
2025-10-25 16:35:08 +03:00

6.2 KiB

Real-Time Inference Guide

🎯 Overview

Real-time inference mode runs your trained model on live streaming data from the DataProvider, updating charts every second and displaying model predictions in real-time.


Starting Real-Time Inference

Step 1: Select Model

Choose the model you want to run from the dropdown in the training panel.

Step 2: Click "Start Live Inference"

  • Button turns red: "Stop Inference"
  • Live mode banner appears at top
  • Charts begin updating every second
  • Model predictions displayed

Visual Indicators

  • 🔴 LIVE banner at top of page
  • Green status box in training panel
  • Update counter showing number of updates
  • Signal markers on charts (🔵 BUY, 🔴 SELL)

📊 What Updates in Real-Time

Charts (Every 1 Second)

  • All 4 timeframes update with latest data
  • Candlesticks show new price action
  • Volume bars update with new volume
  • Smooth updates without page refresh

Model Signals

  • Latest prediction displayed (BUY/SELL/HOLD)
  • Confidence level shown as percentage
  • Signal markers added to charts
  • Last 10 signals kept visible

Data Source

  • Uses DataProvider's cached data
  • Same data as main trading system
  • Updates from exchange feeds
  • 1-second resolution

🎨 Visual Elements

Live Mode Banner

🔴 LIVE | Real-Time Inference Active
Charts updating with live data every second
[X updates]

Signal Markers on Charts

  • 🔵 BUY - Green marker with arrow
  • 🔴 SELL - Red marker with arrow
  • Timestamp - When signal was generated
  • Price - Price at signal time

Training Panel Status

🔴 LIVE
Signal: BUY
Confidence: 75.3%
Charts updating every 1s

🛑 Stopping Real-Time Inference

Click "Stop Inference"

  • Live mode banner disappears
  • Charts stop updating
  • Signal markers remain visible
  • Can review final signals

What Happens

  • Inference loop terminates
  • Chart updates stop
  • Last 100 signals saved
  • Model remains loaded

📈 Monitoring Performance

Watch For

  • Signal frequency - How often model signals
  • Confidence levels - Higher is better (>70%)
  • Signal accuracy - Do signals make sense?
  • False positives - Signals that shouldn't happen

Good Signs

  • Signals at key levels (support/resistance)
  • High confidence (>70%)
  • Signals match your analysis
  • Few false positives

Warning Signs

  • Too many signals (every second)
  • Low confidence (<50%)
  • Random signals
  • Signals don't match patterns

🔧 Technical Details

Update Frequency

  • Charts: 1 second
  • Signals: 1 second
  • Model inference: 1 second

Data Flow

DataProvider (Live Data)
    ↓
Latest Market State (4 timeframes)
    ↓
Model Inference
    ↓
Prediction (Action + Confidence)
    ↓
Update Charts + Display Signal

Performance

  • Latency: ~100-200ms per update
  • CPU Usage: Moderate (model inference)
  • Memory: Stable (no leaks)
  • Network: Minimal (uses cached data)

💡 Tips & Tricks

Tip 1: Watch Multiple Timeframes

All 4 charts update simultaneously. Watch for:

  • Alignment across timeframes
  • Divergences between timeframes
  • Pattern confirmation

Tip 2: Monitor Confidence

  • >80%: Very strong signal
  • 70-80%: Strong signal
  • 50-70%: Moderate signal
  • <50%: Weak signal (ignore)

Tip 3: Compare with Annotations

  • Do live signals match your annotations?
  • Are signals at similar price levels?
  • Is timing similar to your trades?

Tip 4: Test Different Models

  • Try CNN vs DQN vs Transformer
  • Compare signal quality
  • Note which performs best

Tip 5: Use for Validation

  • After training, test with live inference
  • Verify model learned correctly
  • Check for overfitting

🐛 Troubleshooting

Charts Not Updating

Issue: Live mode active but charts frozen

Solutions:

  • Check browser console for errors
  • Verify DataProvider has live data
  • Refresh page and restart inference
  • Check network tab for failed requests

No Signals Generated

Issue: Status shows "HOLD" constantly

Solutions:

  • Model may need more training
  • Check model is loaded correctly
  • Verify market conditions (model may correctly hold)
  • Try different model

Signals Too Frequent

Issue: Signal every second

Solutions:

  • Model may be overtrained
  • Need more negative examples in training
  • Adjust confidence threshold
  • Retrain with better annotations

Performance Issues

Issue: Browser slow/laggy

Solutions:

  • Close other tabs
  • Reduce number of visible timeframes
  • Stop inference when not needed
  • Clear browser cache

📊 Example Session

Scenario: Testing CNN After Training

1. Preparation

  • Trained CNN on 20 breakout annotations
  • Model learned breakout patterns
  • Ready to test on live data

2. Start Inference

  • Select "StandardizedCNN"
  • Click "Start Live Inference"
  • 🔴 LIVE banner appears
  • Charts begin updating

3. Observation (5 minutes)

  • Charts update smoothly
  • Model generates 2 BUY signals
  • Both at resistance breakouts
  • Confidence: 78% and 82%

4. Validation

  • Signals match training patterns
  • Timing is precise
  • No false positives
  • Model learned correctly

5. Stop Inference

  • Click "Stop Inference"
  • Review signal history
  • Model performs well
  • Ready for production

🎯 Best Practices

Before Starting

  • Train model first
  • Verify model loaded
  • Check DataProvider has data
  • Close unnecessary tabs

During Inference

  • Monitor all timeframes
  • Note signal quality
  • Check confidence levels
  • Compare with your analysis

After Stopping

  • Review signal history
  • Note performance
  • Identify improvements
  • Adjust training if needed

Summary

Real-time inference provides:

Live chart updates (1/second)
Model predictions in real-time
Signal markers on charts
Confidence levels displayed
Performance monitoring built-in

Use it to:

  • Validate training - Check model learned correctly
  • Test models - Compare different models
  • Monitor performance - Track signal quality
  • Debug issues - Identify problems

Result: Confidence that your model works correctly before deploying to production! 🎯