testfol.io, often written testfolio, has become the default free backtester for the Bogleheads and Reddit investing communities, and it earned that position: it uses daily data, it is fast, it handles leverage and simulated long histories, and it costs nothing to use for most purposes. People look for an alternative when they want to test a rule that testfol.io's signal tools cannot express, when they want the implementation and a shareable result rather than a chart in a browser tab, or when they want an API or an AI assistant to drive the research. This page compares testfol.io and ENSEMBLE honestly on each point. Competitor facts were checked on September 3, 2026; pricing is at testfol.io/pricing and should be trusted over this page if the two differ.
What testfol.io does well
- Free and fast. Core backtesting works anonymously with no account. Results appear in a second or two.
- Daily data. Drawdown and volatility figures are computed from daily prices, which is more accurate than the monthly data some older tools use.
- Leverage and expense modifiers. Appending
?L=2to a ticker simulates 2x daily leverage with a financing cost;?E=0.5applies an annual expense ratio. This makes testfol.io the standard tool for leveraged ETF research. - Simulated long histories. Tickers like
SPYSIMandTLTSIMextend index histories back decades using underlying index data, so a portfolio can be tested through the 1970s and 1980s rather than only the ETF era. - Cash flows and rebalancing bands. Contributions, withdrawals, and drift-based rebalancing rather than only calendar rebalancing.
- Tactical signal tools. A Signal Analyzer that swaps between allocations based on documented indicators such as moving averages, with configurable frequency and offsets.
- Active development. It is built by a small team that ships features frequently and responds to community reports.
For fixed allocations, leveraged research, and long-history simulation, it is a very good tool and you should keep using it.
Pricing and limits, as of September 2026
| testfol.io | ENSEMBLE | |
|---|---|---|
| Free use | Anonymous for core backtests; some tools require sign-in | $100 credit on signup, no card required |
| Entry paid plan | Pro, $15/month or $150/year; uploads, downloads, alerts, cloud saves, higher limits | Starter, $0/month; usage at list rates; reads free |
| Upper plan | Pro+, $30/month or $300/year; higher limits | Hobby $33/month with $50 included usage; Business $99/month with $200 included usage, webhooks, white-label fact sheets, broker allocation files, fee modeling |
| Data | Daily, end of day | Daily closes, total return, about twenty years |
| Costs modeled | Expense ratios and leverage financing via modifiers | Simulated execution cost on every trade |
| API | None documented | REST API with OpenAPI schema; hosted MCP server |
| Allocation exports | Downloads on paid plans | Current target weights as CSV or JSON; Altruist and Interactive Brokers upload files on Business |
ENSEMBLE's pricing is on the pricing page and at /pricing.md.
Where the tools differ
Forms versus descriptions
testfol.io is form-driven, and its forms are more flexible than most: modifiers, cash flows, bands, and signals cover a lot of ground. But a form can only express what its designer anticipated. A rule that combines two signals, applies a signal to one sleeve and not another, or uses a construction like inverse-volatility weighting has to wait for a feature.
ENSEMBLE is description-driven. You write the rule; the platform writes and runs the code. "Risk parity across SPY, TLT and GLD on a 60-day volatility lookback, but move the TLT sleeve to BIL when TLT is below its 200-day average" is one sentence and one model. The strategies section has worked examples, and how to backtest a portfolio explains what a complete description contains.
The reverse trade-off holds as well: when what you want is on the form, the form is faster.
Simulated versus actual history
testfol.io's simulated tickers and leverage modifiers let you test through decades that no ETF covers. That is a real capability with a real caveat: simulated leverage and extended histories are models of what a fund would have done, with assumptions about financing costs, tracking, and expenses baked in. The common mistakes guide's section on regime-limited samples cuts both ways here; a longer sample is better, and a simulated sample is a sample of a model.
ENSEMBLE backtests only actual listed instruments over their actual history, roughly twenty years of daily total-return data for the main ETFs. That is a narrower window and a more literal one. Neither approach is wrong; they answer different questions.
The implementation
testfol.io shows the result. ENSEMBLE shows the result and the Python that produced it, downloadable as a standalone file. For a rule-based strategy, the code is where the edge cases live, such as what "monthly" means when the month ends on a holiday or what the portfolio holds on the first day before a signal exists, and being able to read those choices is the difference between testing your rule and testing the tool's interpretation of it. The code is yours to keep as well: an inverse-volatility or momentum construction on ENSEMBLE is written out in full and downloads as a standalone script, not a signal option whose internals you cannot inspect.
Composition
ENSEMBLE models hold assets, other models, or both, to any depth, so you can build a client model from a fixed core and several rule-based sleeves, each with its own tear sheet, and see the look-through holdings of the whole. testfol.io backtests one allocation at a time.
Persistence and sharing
An ENSEMBLE model is a durable object: a public tear sheet URL, an embed, a nightly rerun that keeps it current, and, on Business, webhooks that deliver allocation changes and a white-label PDF fact sheet. testfol.io saves and shares backtests on paid plans as configurations that recompute when opened.
Agents and automation
testfol.io has no documented API, so it is a tool for a person at a keyboard. ENSEMBLE exposes every capability through a REST API and a hosted MCP server, which means Claude, Cursor, or a custom agent can build, read, and revise models. If AI-assisted research is part of how you work, see the AI agents section; this is the largest difference between the two tools.
A live example
The prompt below is a rule that testfol.io's Signal Analyzer can approximate and ENSEMBLE expresses directly, including the month-end evaluation and the explicit cash instrument. Run it to see the tear sheet, the trade count, and the generated code.
The 200-day moving average page explains what this rule does, where it has failed, and which variations are worth testing.
Choose testfol.io if
- You want a fast, free backtest of a fixed allocation with no setup at all.
- You are researching leveraged ETFs or need simulated leverage on an unlevered index.
- You need history back to the 1970s or 1980s via simulated funds.
- You model drift-band rebalancing on a fixed allocation, or want contributions and withdrawals as backtest modifiers rather than as a simulation.
- The signal you want is one the Signal Analyzer offers.
Choose ENSEMBLE if
- The rule you want to test is not on any form.
- You want to read and keep the implementation, not just the chart.
- You want to compose models out of other models.
- You want a public tear sheet that updates nightly, or fact sheets and exports for clients.
- You want the current allocation as a file your custodian can import (Altruist, Interactive Brokers).
- You want an API, or an AI assistant that can run the research.
Using both
There is no conflict in doing so. testfol.io for quick allocation checks, leveraged research, and long simulated histories; ENSEMBLE for rule-based strategies, composition, persistence, and agents. The two tools overlap on the plain 60/40 backtest and diverge almost everywhere else.
Backtests are hypothetical, past performance does not guarantee future results, and ENSEMBLE is research software rather than an investment adviser. testfol.io is an independent product not affiliated with ENSEMBLE.
Frequently asked questions
- Is testfol.io free?
- As of September 2026, testfol.io can be used free and anonymously for core backtests, with some tools requiring a free sign-in. Paid plans are Pro at $15 per month or $150 per year and Pro+ at $30 per month or $300 per year, adding uploads, downloads, alerts, cloud saves, and higher limits. Check testfol.io/pricing for current terms.
- Can ENSEMBLE backtest leveraged ETFs?
- It can backtest any listed leveraged ETF over its actual history, such as UPRO or TQQQ since their launch dates. It does not simulate leverage on an unlevered fund or extend history with synthetic data, which testfol.io does with its ticker modifiers and simulated funds. For long-history leveraged backtests, testfol.io is the better tool.
- Which uses daily data?
- Both. testfol.io and ENSEMBLE compute results from daily prices, which gives more accurate drawdown figures than monthly tools. ENSEMBLE additionally charges a simulated transaction cost on every trade and computes metrics on the net series.
- Does testfol.io have an API?
- No public API is documented as of September 2026. ENSEMBLE exposes everything through a REST API and a hosted MCP server for AI assistants and custom agents.
Related
- ComparePortfolio Visualizer alternative: when to switch and when not to
An honest comparison of Portfolio Visualizer and ENSEMBLE for portfolio backtesting: what Portfolio Visualizer does well, its pricing and limits as of September 2026, what it cannot express, and the cases where each tool is the better choice.
- BacktestingHow to backtest a portfolio without writing code
A step-by-step walkthrough of backtesting a portfolio from a plain-language description: choosing the universe, stating the rule, running the test, reading the tear sheet, and deciding what to change. Takes about ten minutes.
- BacktestingCommon backtesting mistakes and how to avoid them
The ways a backtest lies: lookahead bias, survivorship bias, overfitting, ignored costs, short or regime-limited samples, and misread metrics. What each one looks like, how to detect it, and what a backtesting tool can and cannot protect you from.
- StrategiesThe 200-day moving average strategy: rules, evidence, and a backtest
The 200-day moving average rule holds an asset when its price is above its long-term average and moves to cash when it is below. Here are the exact rules, the research behind them, the whipsaw problem, and a prompt that backtests it in under a minute.