// "Humans vs Machines" hero — a punchy lead-in that frames the pitch: // machines already do the trading. Either you have one working for you, or // you are the liquidity it takes from. // // Animated horizontal volume bar fills from 0 → ~80% machine share over // 4 years. Live-style ticker of "machine-executed orders this second" runs // underneath. Clean, factual, no AI-slop gradients. window.ApexHeroMachines = (function () { const { useState, useEffect, useRef, useMemo } = React; // Theme is passed in from the variation (terminal.jsx) so colors stay consistent. function HumansVsMachinesHero({ theme, r, onApply }) { const t = theme; // --- 1) Animated machine-share bar (timeline 2003 → 2025) ------------- // Sourced from publicly-cited industry research (Select USA, FINRA, // academic surveys). Shown as illustrative, not real-time data. const series = useMemo(() => ([ { y: 2003, m: 15 }, { y: 2007, m: 35 }, { y: 2010, m: 56 }, { y: 2014, m: 65 }, { y: 2018, m: 70 }, { y: 2022, m: 75 }, { y: 2025, m: 78 }, ]), []); const FINAL_M = series[series.length - 1].m; // 78 const FINAL_H = 100 - FINAL_M; const [progress, setProgress] = useState(0); // 0..1 over animation const startedRef = useRef(false); const containerRef = useRef(null); // Animate when scrolled into view — but also kick off on mount because // the hero sits at the top of the page anyway. useEffect(() => { let raf; const DURATION = 2200; const t0 = performance.now(); function frame(now) { const p = Math.min(1, (now - t0) / DURATION); // ease-out cubic const eased = 1 - Math.pow(1 - p, 3); setProgress(eased); if (p < 1) raf = requestAnimationFrame(frame); } raf = requestAnimationFrame(frame); return () => cancelAnimationFrame(raf); }, []); const machinePct = FINAL_M * progress; const humanPct = 100 - machinePct; // --- 2) Live-style "orders this second" odometer --------------------- // ~ 70M algorithmic orders/sec across global equity venues at peak is a // common public estimate; we tick a counter that drifts so it feels live. const [orderCount, setOrderCount] = useState(0); useEffect(() => { const id = setInterval(() => { // 800–1400 orders per ~80ms tick → reads as ~10-17k/sec setOrderCount(c => c + 800 + Math.floor(Math.random() * 600)); }, 80); return () => clearInterval(id); }, []); // --- 3) Layout -------------------------------------------------------- const sidePad = r.isMobile ? 16 : 32; return (
{/* Subtle grid texture */}
{/* Headline */}

78% of trades are placed by machines .
Don't be the other 22%.

Our complex models trade for you. A portfolio of systematic strategies, combined to minimize drawdown and maximize returns — executed automatically through your own brokerage, on your own capital, with no performance fee.

{/* Pull quote */}
The question stopped being
“can computers trade?”
around 2010.
It’s now: whose computers are trading for you?
You don’t have to out-trade the machines.
You just have to stop being the only one without one.
); } function FactCell({ t, r, k, v, note, accent, border }) { return (
{k}
{v}
{note}
); } return { HumansVsMachinesHero }; })();