We Built a Quant Desk. No Hedge Fund Required.

We Built a Quant Desk. No Hedge Fund Required.

Somewhere around the fourth time a discretionary trade went sideways because the "setup looked good," we started asking a different question. Not "what does the chart look like?" but "what do the numbers actually say?"

That question turned into Bulletproof Bulls — a full quantitative trading analytics platform covering 15 instruments across FX majors, crosses, precious metals, commodities, and indices. Three proprietary signal algorithms. A weighted multi-timeframe confluence scoring system. Six specialised dashboards. AI-powered trading agents. And a real-time data pipeline pulling institutional-grade market data from OANDA's API into PostgreSQL.

This isn't a trading bot. It's a decision-support system that overlays statistical rigour onto technical analysis. The kind of infrastructure that hedge funds spend millions building — except we built it ourselves.

The Problem With Gut Feel

Here's a stat that should bother anyone trading retail FX: according to the Financial Conduct Authority, roughly 80% of retail forex traders lose money. The CFTC's data tells a similar story — 70% to 80% of accounts end up in the red. And it's not because the market is unknowable. It's because most traders are making decisions based on incomplete information, inconsistent frameworks, and emotional conviction masquerading as analysis.

The global algorithmic trading market tells the other side of this story. Valued at approximately $21 billion in 2024, it's projected to reach $43 billion by 2030 at a compound annual growth rate of 12.9%, according to a 2026 TakeProfit report aggregating data from Fortune Business Insights, Grand View Research, and Mordor Intelligence. Retail investors are the fastest-growing segment. The tools that were once locked behind Bloomberg terminals and prime brokerage accounts are migrating downstream.

But here's the gap nobody talks about: having access to quantitative tools and actually building a quantitative system for your own trading are two completely different things. Most retail "algo trading" is still someone downloading a Moving Average crossover bot and hoping for the best.

We wanted something different. Something that could score every instrument across every timeframe, weight the signals by reliability, and present a single confluence number that means something.

Three Algorithms, One Scoring Framework

The core of Bulletproof Bulls is three independent signal algorithms, each designed to capture a different dimension of market behaviour.

MOMO handles momentum. It runs SMA(20) versus SMA(50) crossover analysis across H1, H4, and Daily timeframes. When the fast average sits above the slow average, the signal reads bullish. Below, bearish. Simple in isolation — but momentum only tells you where the train is heading, not whether you should be on it.

PATI does the pattern work. This one's more complex — a stateful swing high/low analysis that identifies pullback patterns and trend reversals. It tracks higher highs, lower lows, bullish and bearish pullbacks, and outputs a directional read. PATI is the algorithm that catches trend exhaustion before it shows up on a standard indicator panel.

OE monitors overbought/oversold conditions using RSI(7) with Wilder's smoothing method against 80/20 thresholds. It's the counter-trend lens — the algorithm that flags when momentum has stretched too far and a reversion is statistically likely.

Each algorithm runs independently across three timeframes. That gives us nine individual signal reads per instrument. The question is: how do you turn nine signals into a single actionable score?

Confluence Scoring: Where the Edge Lives

This is the part we're most proud of. The confluence scoring system applies a weighted hierarchy to every signal:

Daily (D):      Weight = 3
4-Hour (H4):    Weight = 2
Hourly (H1):    Weight = 1

Daily carries the heaviest weight because higher timeframe trends are more reliable. H4 provides the structural context. H1 gives the tactical entry timing. The system sums all bullish and bearish weights, computes a net trend score, and maps it to a directional signal:

  • STRONG_BUY: Net score ≥ 12 — every algorithm on every timeframe agrees
  • BUY: Net score 6–11 — strong bullish lean with minor disagreement
  • NEUTRAL: Net score -5 to 5 — mixed signals, no statistical edge
  • SELL: Net score -11 to -6 — strong bearish lean
  • STRONG_SELL: Net score ≤ -12 — full bearish confluence

A STRONG_BUY on EURUSD means that momentum, pattern structure, and overbought/oversold conditions across daily, H4, and hourly timeframes are all pointing the same direction. That kind of alignment doesn't guarantee a winner — nothing does — but it dramatically shifts the probability distribution in your favour.

Beyond the raw score, we built a secondary confluence layer that weighs five additional factors: trend alignment (30%), zone proximity to support and resistance (25%), momentum confirmation via RSI divergence and MACD crossovers (20%), volume analysis (15%), and session timing for London/NY overlap windows (10%). The combined output produces a confidence percentage: High (80–100%), Medium (60–79%), Low (40–59%), or No Trade (below 40%).

The Pipeline That Feeds the Machine

Algorithms are only as good as the data behind them. We built a Python backend that connects directly to OANDA's v20 API — the same institutional-grade feed that professional desks use.

The data pipeline ingests H1 and Daily candles for all 15 instruments, stores them in PostgreSQL, and derives H4 candles programmatically from the H1 data. That derivation isn't trivial — you're grouping hourly candles into four-hour periods, taking the first open, the highest high, the lowest low, the last close, and summing volume. Get the period boundaries wrong and your entire H4 analysis is garbage.

For performance, we skipped ORMs entirely. The pipeline uses psycopg2 with execute_values() for bulk inserts — a choice that delivered 60–70% better insert performance compared to row-by-row ORM operations. When you're ingesting thousands of OHLC records daily across 15 instruments and two timeframes, that performance gap matters.

The pipeline includes smart gap detection for incremental updates, data quality validation, and a complete audit log of every ingestion run. It's not glamorous engineering. But it's the kind of infrastructure that separates systems that work from systems that work sometimes.

AI That Actually Understands the Market

On top of the quantitative layer, we built a multi-agent AI system using LangGraph and GPT-4o. The first production agent is the Morning Brief — a Chief Market Strategist that synthesises overnight developments, current signal scores, and live news into a daily trading brief.

The agent has access to six specialised tools that query the same shared services layer the dashboards use. It can pull instrument snapshots, run correlation checks, assess session timing, and evaluate risk — all using the same data and calculations a human analyst would. The difference is it does it in seconds, with memory persistence across conversations so it builds context over time.

We integrated Perplexity's API for live market news, complete with retry logic and fallback caching for when the API times out. The agent renders responses in markdown with custom styling, supports multi-session management, and stores conversation history in PostgreSQL. It's not a chatbot duct-taped onto a trading platform. It's a genuine analytical assistant that shares the platform's analytical brain.

Six Dashboards, One Decision

The frontend runs on Next.js 15 with React 19, TypeScript in strict mode, and Tailwind CSS. Professional-grade charting uses Lightweight Charts (the same library TradingView is built on) for price action and Recharts for statistical visualisations.

Each dashboard serves a specific analytical function:

The Overview gives a snapshot of every instrument — current price, signal direction, confidence level, and trend alignment at a glance. The Analytics dashboard lets you drill into individual instruments with full signal breakdowns across all three algorithms and timeframes. Sessions maps trading activity against London, New York, Tokyo, and Sydney sessions — because a STRONG_BUY at 3am Sydney time is a different proposition than one at the London/NY overlap.

Correlations runs Pearson correlation analysis across all pairs, highlighting when you're inadvertently doubling exposure (EURUSD and GBPUSD moving in lockstep, for instance). The Range Tracker monitors ATR, daily ranges, and breakout signals — critical for knowing whether a move has room to run or has already exhausted its average daily range.

All six dashboards pull from the same shared services layer the AI agents use. There's a single source of truth. When the data updates, everything updates — dashboards, agents, and scoring — simultaneously.

Risk Management That Doesn't Lie to You

Position sizing in Bulletproof Bulls is ATR-aware. The system calculates position size based on account balance, risk percentage, entry price, stop loss, and current ATR — then caps the stop distance at 2x ATR to prevent outsized risk on volatile instruments.

But the risk engine goes deeper than position sizing. It monitors correlation across open positions, flagging when aggregate exposure to correlated instruments exceeds a 70% threshold. It adjusts risk parameters by trading session. And it validates every stop loss against recent volatility to ensure you're not placing stops inside normal market noise.

The platform supports three risk profiles — Conservative (1% per trade, 10% max drawdown), Moderate (2%, 20%), and Aggressive (3%, 30%). But the real value is the correlation-aware exposure management. Most retail traders blow up not because a single trade goes wrong, but because three correlated trades all go wrong at the same time. The system sees that coming.

Backtesting With Statistical Rigour

We didn't stop at forward-looking signals. The backtesting engine validates every algorithm against historical data with walk-forward analysis to prevent overfitting and Monte Carlo testing to stress-test timing sensitivity.

Performance metrics include Sharpe ratio, maximum drawdown, win rate, risk-reward ratios, maximum favourable excursion, and maximum adverse excursion. The validation criteria are strict: 200+ historical trades for statistical significance, maximum 30% drawdown tolerance, and a Sharpe ratio above 1.5 before any signal configuration gets considered for live trading.

These aren't arbitrary thresholds. They're the same standards quantitative funds use to separate strategies that backtest well from strategies that actually survive contact with live markets.

By the Numbers

Building Bulletproof Bulls as a unified platform rather than assembling disparate tools and spreadsheets replaced what would have required dedicated specialist roles:

  • Quantitative Developer/Analyst (~$140,000 AUD/year, SEEK/Hays 2025) — building and maintaining signal algorithms, running multi-timeframe analysis, tuning confluence scoring, operating the backtesting engine, and validating strategy performance
  • Data Engineer (~$130,000 AUD/year, SEEK/Hays 2025) — maintaining the OANDA data pipeline, managing PostgreSQL operations, ensuring data quality, running automated ingestion, and monitoring pipeline health

Operational savings breakdown:

  • $270,000 AUD in annual savings from the two specialist roles this platform replaces
  • 500 dev hours avoided compared to a traditional build of this scope — multi-instrument analytics, six dashboards, AI agents, backtesting engine, and a full Python data pipeline
  • 2.5 FTEs replaced — quantitative analyst, data engineer, and partial DevOps for pipeline operations
  • Automation type: AI integration — signal generation, confluence scoring, and market analysis run continuously without human intervention

The Quant Mindset

There's a common misconception that quantitative trading is about removing the human from the equation. It's not. It's about removing the parts of the human that make bad decisions — the confirmation bias, the revenge trading, the conviction that "this time it's different" when the numbers say otherwise.

Bulletproof Bulls doesn't trade for you. It scores the market across 15 instruments using three independent algorithms, weights them by timeframe reliability, factors in zone proximity and session timing, checks correlation risk, validates against volatility, and presents a single confidence number.

What you do with that number is still your call. But at least now, it's an informed one.

    Float Infinity Logo

    Powered by Float Infinity

    Privacy PolicyTerms of Service© 2025 Float Infinity