Documentation

Guides, references, and everything you need to use the platform.

Platform Overview

FerroQuant is an institutional-grade algorithmic trading platform with real-time signal generation across 5 asset classes. The stack runs 198+ strategies continuously on live market data, covering 1060+ instruments.

Supported Markets

Market Symbols Data Source Update Frequency
Crypto Futures 459+ USDT perpetuals Binance Futures Real-time (WebSocket)
Crypto Spot 541+ trading pairs Binance Spot Real-time (WebSocket)
Forex 28 pairs OANDA 1-second polling
Stock Indices 20 global index CFDs OANDA 1-second polling
Commodities 12 (Gold, Silver, Oil…) OANDA 1-second polling

System Architecture

FerroQuant runs a hybrid architecture: 32 WebSocket shards for low-latency crypto data, systemd signal engines, and PostgreSQL + Redis for persistent storage.
┌─────────────────────────────────────────────────────────┐
               FerroQuant Architecture                    
├─────────────────────────────────────────────────────────┤
  Binance WS ──┐                                          
  (32 shards)  ├──► Redis ──► Signal Engines ──► Dashboard 
  OANDA API ───┘         (6 markets)      (REST / SSE)   


                         PostgreSQL                        
                     (trades, signals)                     
└─────────────────────────────────────────────────────────┘

API Reference

All API endpoints return JSON. Authenticated endpoints require a valid session cookie or API key header.

Signals

GET /api/signals/:symbol Latest signals for a symbol
bash
curl https://ferroquant.com/api/signals/BTCUSDT
GET /api/signals/latest All recent signals across all symbols
bash
curl https://ferroquant.com/api/signals/latest
GET /api/sse/signals Real-time SSE stream
bash
curl -N -H "Cookie: session=YOUR_SESSION" \ https://ferroquant.com/api/sse/signals

Backtests

POST /api/backtest/run Run a backtest (auth required)
json
{ "symbol": "BTCUSDT", "market": "futures", "strategy": "rsi_mean_reversion", "timeframe": "1h", "start_date": "2024-01-01", "end_date": "2025-01-01", "initial_capital": 10000 }

Rate Limits

Rate limits are applied per API key. Exceeding limits returns 429 Too Many Requests.

Tier Signal API Backtest API SSE Connections
Free 60 req / min 3 / day 1
Pro 600 req / min Unlimited 5
Enterprise Custom Custom Custom

Code Examples

Python — Subscribe to live signals

python
import requests, json, sseclient # Stream real-time signals url = "https://ferroquant.com/api/sse/signals" headers = {"Cookie": "session=YOUR_SESSION_TOKEN"} response = requests.get(url, headers=headers, stream=True) client = sseclient.SSEClient(response) for event in client.events(): signal = json.loads(event.data) if signal["confidence"] >= 0.8: print(f"Strong signal: {signal['symbol']} {signal['direction']}")

JavaScript — Fetch latest signals

javascript
const resp = await fetch("/api/signals/BTCUSDT"); const signals = await resp.json(); signals .filter(s => s.confidence >= 0.75) .forEach(s => console.log(s.direction, s.entry_price));

FAQ

FerroQuant covers 5 markets: Crypto Futures (459+ symbols), Crypto Spot (541+ pairs), Forex (28 pairs), Stock Indices (20 CFDs), Commodities, and Exotic instruments. Total coverage: 1060+ instruments.
The backtesting engine has 7 years of 1-minute OHLCV data sourced directly from Binance and OANDA. No synthetic data, no interpolation.
Six market-specific signal engines run continuously on live data. Each engine evaluates 198+ strategy templates, computing RSI, MACD, Bollinger Bands, ATR, EMA, and 10+ other indicators across 1m, 5m, 15m, 1h, 4h, and 1d timeframes. When conditions align, a signal is emitted via SSE within milliseconds.
Yes. Free accounts include 198+ strategy templates, 3 backtests per day, real-time signal access, and full dashboard access. No credit card required.
All exchange API keys are encrypted with AES-256-GCM before being written to disk. The encryption key is stored separately from the data. You can revoke access from the Exchange Accounts page at any time.