Ready to go further
Next: learn to read a test properly
The backtesting guide covers what a historical test measures and the traps to check before you trust one.
What is included
- What it is, in plain words
- The formula or mechanism, with exact arithmetic
- How it hits grid, martingale and DCA bots
- A check you can run before you switch a bot on
Who it is for
- People who run or plan to run a trading bot
- Anyone reading a backtest or a bot sales page
- Readers who want the numbers, not the pitch
- Not advice, and not a signal service
Key facts
- QuantConnect is described here only as a type of product: a code-based research and backtesting platform. You write a strategy in a programming language, the platform replays historical data through it and reports the result.
- A backtest is a simulation. Its result depends on the data, the cost model and the fill model you or the platform chose. A backtest with no costs can show a profit that vanishes once costs are added.
- Trying many variants and keeping the best one inflates the result. In a made-up model, 100 no-skill variants give a 66% chance that at least one looks excellent (calculated by us on 31 Oct 2026, exact). See overfitting.
- Worked example (made-up): 400 trades with 0.12% edge each look like 48% a year with no costs, and 8% after a 0.10% cost per trade. The costs took 83% of the result.
- Past or simulated results are not a guide to future results. You can lose all the money you put in. We do not offer signals or run this platform for you.
What a platform like this is
A code-based research platform gives you three things in one place: historical data, a programming interface for writing a strategy, and an engine that steps through the data one bar or tick at a time, placing simulated orders as your code asks. Some platforms of this type also connect to a broker or exchange so the same code can trade live. Whether a particular product does that, and with which brokers, markets and data, is a fact that changes. Read the vendor's current documentation for it, and do not rely on this page or on a review that is a year old.
The appeal is control. You decide every rule, and you can test it before you risk money. The cost is that you must write correct code and understand what the test is actually measuring. A bug in your code, or a quiet assumption in the engine, produces a result that looks like evidence and is not. For the general idea of testing a strategy on past data, see backtesting and the list of backtest software features to compare.
The general risks of this kind of product
A backtest without realistic costs
Every trade pays a spread or commission and usually some slippage. A strategy with a small edge per trade and many trades is the most exposed. If the test assumes fills at the quoted price with no cost, it flatters exactly that kind of strategy. See slippage and spread.
Looking at the future by accident
If your code uses a number that was not known at the time of the trade, such as a daily high used before the day ends, the test cheats without telling you. Platforms try to prevent this, but your own data choices can still leak. See look-ahead bias.
Searching until something fits
Because testing is quick, it is easy to try hundreds of settings. The more you try, the more likely the best one is luck. Keeping part of the data unseen, and testing forward on new data, is the usual defence. See forward testing and walk-forward testing.
Data that is not what it seems
Historical data can have gaps, adjustments for splits and dividends, and lists of instruments that leave out the ones that stopped trading. A test on today's survivors overstates what a strategy would have done. See survivorship bias.
Worked example: what costs do to a backtest
Everything here is made up. A strategy makes 400 trades a year. Before any cost, each trade makes an average of 0.12 percent. The test either ignores costs or charges 0.10 percent per round trip for spread and slippage. To keep the arithmetic plain, the yearly figure is the simple sum of the per-trade percentages, with no compounding.
| Item | No costs | With costs |
|---|---|---|
| Trades a year | 400 | 400 |
| Edge per trade (percent) | 0.12 | 0.02 |
| Cost per trade (percent) | 0.00 | 0.10 |
| Sum over the year (percent) | 48 | 8 |
| Share of the no-cost result kept | 100% | 16.7% |
Calculated by us on 31 Oct 2026, exact. The cost of 40 percent over the year is larger than the whole after-cost result. A small change in the cost assumption moves the result a lot: at 0.12 percent cost the same strategy would show zero. The platform did nothing wrong here. The result simply depends on an input that you choose, and that is why you should always look for where costs are set in a test.
How it hits bots
- Grid and martingale logic can look smooth in a test that stops before a long one-way move. A test that ends early hides the event that ends the bot. See martingale.
- Fast bots depend on fill assumptions most. A test that fills every order at the quote is least reliable for them.
- Live versus tested: when code moves from a test to a live account, order handling, data delays and rejected orders become real. The first live weeks are a test of the plumbing, not only of the idea.
What to verify on the vendor's current pages
Do not rely on this page for any fact about a product. Check, on the vendor's own pages and on the date you read them:
- Which markets and data the platform covers, and how far back the data goes.
- How fees, spread and slippage are modelled by default, and whether you can change them.
- Whether live trading is offered, with which brokers, and what the rules are.
- What the plans cost and what each limits. Prices change, so read the current page and note the date.
- What the terms say about losses, data errors and who owns the code you write.
- Whether results shown in public examples include costs, and over what period.
What this page does not tell you
It does not say whether the platform is good for you, and it states nothing about its prices, features or users because we have not run it. It says what a result from any platform of this kind can and cannot show. The numbers are made up and nothing here is a recommendation.
Keep Going
Related Tools and Guides
Keep exploring
FAQ
Frequently Asked Questions
What kind of product is QuantConnect?
In general terms it belongs to the class of code-based research and backtesting platforms, where you write a strategy and test it on historical data. We have not run it, so check its current pages for what it offers.
Does a good backtest mean a strategy will work live?
No. A backtest depends on its data, costs and fill assumptions, and it cannot include what happens after it ends. Forward testing on new data is a better check.
Why do costs matter so much in a backtest?
A strategy with a small edge per trade and many trades loses most of its result to costs. In our made-up example the costs removed 83 percent of the result.
What should I check on the vendor pages?
Markets and data covered, how costs are modelled, whether live trading exists and with whom, current plan limits and terms. Note the date you read them.
Can I lose money with a platform like this?
Yes, if you trade live with it. Past or simulated results are not a guide to future results. You can lose all the money you put in.
Are the numbers on this page real?
Example numbers are made up to show how the maths works, and the page says so. A figure only counts as exact when the page says it was calculated on a stated date. Nothing you enter in a calculator leaves your browser.
Can I use this to decide whether to run a bot?
It can show whether a bot's numbers hold together and how much an account can lose. It cannot say what the market will do, and it is not advice. Use it to ask better questions, then read the terms of your own broker or exchange.
Is this financial advice?
No. It is general education. All example numbers are made up and nothing here is a recommendation to use any product.
Know the Risk Before You Run It
Free calculators and guides, added every week. Leave your details and we will email you when new ones go up.
Trading carries a risk of loss