Questions
The things people actually ask
These came out of real audits, not from imagining what someone might wonder. If yours isn’t here, write to us — and we’ll add it.
Before you send anything
Do I have to give you my code?
No. The statistical certificate is produced from your trade history — a list of numbers. Your source code never leaves your computer, we never see it, and we could not reconstruct your entry logic from what you send.
There is a separate, optional service that does look at code, and you would have to ask for it deliberately. It is not part of the standard audit.
Do you run my bot?
No, and it is not a matter of policy — we tried. We built an isolated virtual machine to run clients’ bots ourselves, and hit a wall: without a network connection MetaTrader emits nothing at all, and with one the isolation stops being isolation.
So you run your own bot on your own machine and send us the files it produces. That turned out to be better anyway: your code stays with you, and the backtest runs on the platform and broker you actually use, not on ours.
Which platforms do you read?
MetaTrader 5, cTrader and TradingView have their own guides. Beyond those: if your platform exports the list of trades as CSV, we can almost certainly work with it — write to us with a sample and we’ll tell you in a day.
We have already audited bots from MT5, cTrader and TradingView, and each brought its own quirks: cTrader carries the account bar by bar but not the parameters of each optimisation pass; MT5 is the other way round. The report always says which of the two limitations applied to you.
What mathematics do you actually use?
Published, peer-reviewed statistics — not a scoring formula we invented. The core of it:
- Deflated Sharpe Ratio and Probabilistic Sharpe Ratio (Bailey & López de Prado): a Sharpe ratio corrected for how many times you searched, and for skew and kurtosis.
- Probability of Backtest Overfitting by combinatorially symmetric cross-validation (Bailey, Borwein, López de Prado & Zhu): the central overfitting test.
- Minimum backtest length: how many trades your Sharpe ratio needs before it means anything at all.
- Monte Carlo reshuffling, bootstrapped risk of ruin, and CVaR with its measured coverage rather than its nominal one.
- Distance correlation (Székely) against the underlying, which catches dependence that a straight-line beta cannot see.
Every one of them is in the bibliography, with a DOI our own tests resolve on every run — if a link dies, our build fails.
What we do not publish are the exact trigger thresholds of each rule, and the reason is not secrecy: a bot could be tuned to sit just below them. The methods are public because they are science; the cut-offs stay in a versioned file whose hash is sealed inside your certificate, so you can still verify your own report without them being public.
What files do you need, and what does each one unlock?
Three, and you need not send all of them:
- The backtest report you already have saved. Unlocks risk of ruin, real drawdown, alternative scenarios, concentration of the result and the position-management pattern.
- The optimisation file your platform generated on its own. Unlocks how many times you really searched, and your Sharpe ratio corrected for that search.
- Price bars for your instrument. Unlocks the check against the market: whether the prices your bot claims to have entered at really existed at that moment.
The guides explain how to get each one. Send us whatever you have and we’ll tell you what coverage that reaches before you do any extra work.
About the report
Why does my report say “partial”?
Because some statistical test could not be run with the data supplied — and we say so instead of quietly assuming it passed.
Five of the five bots we have audited came out partial. It is the normal outcome, not a punishment. The most common cause is that there is no optimisation grid, so the overfitting probability cannot be computed at all; the second is that the grid exists but its effective length, once autocorrelation is discounted, is too short for the mathematics to hold. In that case the engine refuses to produce a number rather than produce a noisy one dressed up as rigorous.
The report always names what was missing and what would unlock it.
What is the difference between “not evaluated” and “not passed”?
It is the distinction the whole product rests on. “Not passed” means we looked and it failed. “Not evaluated” means we could not look.
Reports that don’t make this distinction end up implying that everything unmeasured is fine. A rule that was not evaluated is not a rule that was passed, and it is written down as a gap — never filled in with an optimistic guess. Mathematically the two are not even the same kind of statement: one is a measured result, the other is the absence of a measurement.
Nothing fired. Does that mean my bot is good?
No. It means nothing fired among the things we were able to check, with the power our tests actually have.
Every statistical test has a power: the fraction of real problems it actually detects. We measure ours and publish them, precisely so this answer is possible. Our overfitting test, for example, catches 23.5% of cases when the overfitting is severe. If it stays quiet, that is statistical evidence, not proof — and the report says so in those words.
Can anyone check that my certificate is genuine?
Yes, and without trusting us. Every report carries an identifier and an Ed25519 digital signature, with the public key published. Anyone can verify that the document came from here and that not a single figure has been altered since.
It is also reproducible: from the same trade history, the analysis produces the same results and the same identifier. If two audits of the same file disagree, one of them is wrong — and it can be shown which.
How long does it take?
The computation is minutes. What takes time is going back and forth about the files when something doesn’t line up — a history from a different broker, an export missing a column, an optimisation that only has the winning pass in it.
That is why we ask you to send what you have before paying: we would rather find the problem then than after charging you.
What we don’t do
Will you tell me how to improve my bot?
No, and the reason is mathematical rather than etiquette. If we suggest a change and you try it, that suggestion becomes one more attempt in your search. And the Deflated Sharpe Ratio deflates precisely by the number of attempts: it is a parameter in the formula, not a figure of speech.
So an auditor who takes part in your search, and then certifies you with a test that assumes they didn’t, is issuing a number that is wrong — measurably wrong. It is the same conflict of interest that separated auditing from accounting consultancy after Enron.
What we can tell you is what is missing for your bot to be demonstrable: how much more sample each test needs, which file unlocks which rule, and what the diagnosis flags. That touches your evidence, not your strategy.
Do you guarantee the bot will make money?
No, and no honest mathematics can. A favourable verdict says that a program holds up statistically on the history you handed us. Statistics describes the sample it was given; it does not forecast.
Botospy does not provide investment advice, does not manage capital and does not sell bots. See the legal notice.
Will you publish my results?
Never. We do not publish clients’ results — whether your report is made public is entirely your decision.
Your files are used only for your audit. They are not shared with third parties, not added to any dataset and not used to train any model, and they are deleted when you ask.
Price
Is there a free version?
Not at the moment, and we would rather say why than leave it hanging. A free tier running three easy metrics can only ever come back looking green — and a favourable-looking number with no declared coverage is exactly the statistical problem this whole service exists to attack.
What we do instead costs you nothing: send your files before subscribing and we’ll tell you what coverage we would reach and what you would still be missing. If your data cannot support the thing you care about, we would rather say so than take your money.
If I cancel, does my certificate stop being valid?
No. An issued report is signed and verifiable forever with the published public key. It does not depend on your still being subscribed, nor on Botospy still existing.
Cancelling takes one click from the customer portal and you do not have to ask us. See pricing.
Still not answered? Write to us. If the question is good, it ends up on this page.