Trading System Test Suite

A backtesting and walk-forward testing library for advanced system developers. Provide signals for one or more securities and receive more than two dozen risk and performance metrics, no matter what language your strategy is written in.

The Trading System Test Suite provides both backtesting against historical data and walk-forward testing that validates a system as new data arrives, offering two complementary methods to construct data before going live.

Modulus is a modern fintech company building on more than 30 years of experience and millions of lines of production-proven source code, accelerated by AI.

Back-testing and Walk-forward testing

Unlike backtesting, which evaluates a system against historical data it has already seen, walk-forward testing requires the system to be tested going forward in time. Results are gathered either from held-out historical data or from new data points as they become available, providing genuine out-of-sample validation.

This is essential for systems that cannot be meaningfully backtested in the traditional sense, including LLM-based trading systems, strategies that rely on natural-language processing, and any approach driven by sentiment analysis. These systems learn and adapt, so the only honest test is one where the data has never influenced the model.

BacktestWalk-Forward TestLoading price historyBacktest: graded in one pass across the entire price history.250270290310IN-SAMPLE · ENTIRE HISTORYMarAprMayJunEquity curveBacktest +42.8% · in-sample0%Win rate64%Sharpe2.1Calmar5.8Max drawdown-7.4%in-sample metrics

Language-agnostic by design

It does not matter how your trading system is written. The Trading System Test Suite can be used with any programming language. You supply a list of trades and the library does the rest, so you keep full freedom in how you express your strategy.

The workflow is deliberately simple: build a collection of trades, each with a timestamp, a signal type, and a price, pass it to the test engine along with a last price, and read the results object back. From there your application can print a full report, log every trade, and drive further analysis.

Languages & platforms supported

C++
C#
JavaScript
HTML5
Java
iOS
Android
.NET

Two dozen risk measurements

The Trading System Test Suite turns a trade list into a complete profile of profitability and risk, so you can judge a system on more than its headline P&L. It computes the metrics professional developers rely on to compare strategies and decide what is worth trading.

  • Sharpe, Calmar, Sortino, and Sterling ratios
  • Maximum drawdown and Monte Carlo drawdown
  • Total P&L, largest profit, and largest loss
  • Risk-to-reward ratio and percent profitable
  • Standard deviation and downside deviation
  • Value Added Monthly Index (VAMI)
  • Average trades per month and full trade logs
  • Profitable versus losing trade counts

Built for strategy optimization

Every good strategy eventually meets a losing stretch as liquidity, volatility, and market dynamics shift, which means systems must be optimized over time or retired. The Trading System Test Suite gives you the objective measurements to know which is which, summarizing the profitability and risk of a system against the exact data it was tested on.

Because results come back as a structured object, optimization loops are straightforward: sweep parameters, run the test for each combination, and compare the metrics that matter to your mandate. Validate before going live, then keep validating as the market moves.

Sweeping parameters and comparing risk metrics for strategy optimization

For advanced developers

The Trading System Test Suite was written for engineers who want their testing in code, not buried in a black-box application. It pairs cleanly with the rest of the Modulus toolchain, author strategies in ModScript, compute signals with TA-SDK, and visualize results with StockChartX, and ships with complete source code so you can audit and extend it.

What developers get

A focused, code-first testing engine that quantifies strategy performance the way professional system developers expect.

Just supply trades

Provide a list of trades with timestamps, signals, and prices; the library handles the entire performance and risk calculation for you.

24+ metrics

Sharpe, Calmar, Sortino, and Sterling ratios, max and Monte Carlo drawdown, VAMI, deviations, and a full set of profit-and-loss figures.

Walk-forward testing

Validate systems going forward in time with out-of-sample data, essential for LLM trading systems and sentiment-driven strategies.

Any language

Compatible with strategies written in any programming language and accepts data in any format.

Structured results

Read metrics back from a results object, making automated parameter sweeps and optimization loops simple to build.

Full trade logs

Iterate the resulting trades to print or persist a complete log of dates, signals, and prices for audit and review.

Capabilities and integration

A library built to slot into an advanced developer's existing strategy code and the wider Modulus toolchain.

Types of testing

  • Back testing individual securities
  • Back testing baskets of securities
  • Walk forward testing individual securities
  • Walk forward testing baskets of securities

Metrics & data

  • Sharpe, Calmar, Sortino, Sterling ratios
  • Max and Monte Carlo drawdown
  • Standard and downside deviation, VAMI
  • Profit, loss, and percent-profitable figures
  • Tick or bar data input

Toolchain

  • Pairs with ModScript strategies
  • Uses TA-SDK indicator values
  • Visualize with StockChartX
  • Complete source code included
  • Perpetual license, no revenue share

Let's build.

Request an instant meeting or schedule a call with our team to discuss your financial software or hardware project.