# 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! 🎯