Training Simulator

Train a trading model in the browser.

Quantfoo is built to answer a blunt question: does the signal survive a baseline check, a chronological split, and actual trading costs? Generate a market, import a local CSV, or switch the model family and watch the trade log change.

Nothing is uploaded. The whole run stays on your machine.

Read the methodology See how the data generator, validation, and trade simulation fit together.
Generated market details

What this simulator checks

Signal quality beats the headline number.

The controls above are there to make the uncomfortable parts visible. A model can look good on raw predictions and still fail once you apply a stop, a holding period, a threshold, and a cost model.

  • Baselines. Compare boosted trees against a linear regressor on the same features.
  • Validation. Use walk-forward or a single chronological split instead of random shuffling.
  • Thresholds. Trade only when the score clears the calibrated activation level.
  • Costs. Test whether the edge survives slippage and transaction frictions in R.

Imported CSVs are mapped locally in the browser. If your own OHLCV data has a price series, volume, and timestamps, you can drop it in and run the same pipeline without changing the rest of the setup.

Training view

Price, volume, splits, and trades

FAQ

Quick answers before you start training.

Does anything leave my browser?

No. The simulator is client-side. Local CSVs stay local, and the model runs in the page.

Can I use imported OHLCV data?

Yes. Map the columns, load the file, and the same feature and validation pipeline applies.

Why compare against a linear model?

Because a simpler baseline tells you whether the tree is adding signal or just complexity.

Why does walk-forward matter?

It forces retraining on past data only. That is closer to live trading than a random split.

How are thresholds chosen?

The activation level is calibrated to the target trade frequency, then checked against realized behavior.

Do costs matter here?

Yes. Transaction cost and slippage are deducted in R, so weak edges usually get exposed fast.