Fluxy · Fund · Backtesting

A backtest you could defend in front of an allocator

Most backtesters are built to make results look good. Ours is built to make them true: point-in-time data joins that make look-ahead impossible, funding charged on each venue's real settlement clock, delisted coins that stay in history, and out-of-sample discipline built into the run itself. The flattering number you lose is the blow-up you skip.

Market realism

The lies most backtests tell — closed off one by one

No look-ahead, by construction

Point-in-time joins

Every auxiliary series is aligned onto the bar clock with a backward as-of join — a bar at time t can only ever see values stamped at or before t. There is no code path that lets a strategy read the future, and stale feeds come back as no-data instead of being forward-filled forever.

Funding on the settlement clock

Perp carry, charged for real

Funding is accrued at each venue's actual settlement timestamps on live mark notional — a Binance 8h feed and an hourly-funding venue are each charged on their own clock, automatically, for any held perp. Carry and basis strategies test the way they trade.

Delistings stay in the record

No survivorship bias

History keeps the coins that died. A held asset that leaves a venue mid-window is force-closed at its last tradable price and surfaced in the report — not silently erased the way a survivors-only universe erases every loser.

In-sample / out-of-sample

Overfitting, measured

Declare the split and every report shows IS and OOS metrics side by side. The gap between them is your overfitting tax — measured, not guessed.

Volatility targeting built in

Size by risk, not by coins

Set a vol target and a leverage cap in strategy config; the engine sizes positions bar-by-bar from trailing realized volatility with the same point-in-time discipline as every other signal.

Metrics that do not flatter

Allocator-proof arithmetic

Annualization from calendar time (not bar counts), textbook downside deviation for Sortino, and a data-quality report attached to every run so thin coverage is disclosed before anyone has to ask.

Scale

Sweep thousands of variants before lunch

Parameter sweeps run your own strategy file across the whole grid with Parquet-cached data — the market data loads once and every variant reuses it. Each run is the exact same engine a single backtest uses, so sweep results are directly comparable to any one run. Write strategies in Python against a real engine API, start from working templates, or let the AI editor draft one grounded in your actual datasets — every generated strategy is validated by a real backtest before you see it.

Start backtesting freeHow the engine kills look-ahead

Go deeper

The engineering, written up

Walk-forward analysis

Tune on one window, judge on the next — how IS/OOS discipline separates a strategy from a coincidence. Read the guide →

Funding carry, first class

Why ignoring perp funding fakes every carry backtest, and how settlement-clock accrual fixes it. Read the write-up →

Survivorship bias

The delisted coins your backtest forgot, and what force-closing them changes. Read the analysis →

© 2026 Fluxy, Inc. All rights reserved.