Independent signal & forecast validation

Does your signal actually work?

Seven statistical tests on your own data — and, if you want it, a written verdict from a person. We ran the same tests on our own crypto engine first, in public. It failed. So did the one we rebuilt.

  • Same price whatever the verdict
  • Your data deleted after 30 days
  • Servers in the EU
01

From a quick check to a verdict you can show

Start free. If the result matters — to investors, customers or your own money — get it judged and written down.

01 · QUICK CHECK

Test it yourself

Free

The seven tests, instantly, on your own file. Runs on our server, nothing stored, no account. Up to 100,000 rows.

Run a Quick Check
02 · VALIDATION REPORT

A written verdict on your claim

DKK 7,500 · €1,000 · excl. VAT
  • Data check: duplicates, lookahead, misaligned outcomes, missing periods
  • The seven tests, with every number shown
  • Cost sensitivity, per-group and regime analysis
  • Does your claim hold, partly hold, or not — and why
  • What it would take to support it
  • 30-minute review call

Delivered in 5 working days from complete data.

Request a report
03 · FORWARD TEST LATER IN 2026

Prove it on data that doesn’t exist yet

DKK 2,500 · €350 / month · min. 3 months

Your claim is locked with a timestamp and a hash before the test starts. You submit predictions as you make them; each one is hash-chained before its outcome is known. Evaluated after 4, 8 and 12 weeks, with a certificate anyone can verify.

Get notified when it opens
02

Quick Check: test your own signal

The same seven tests that rejected every signal we believed in. Upload a CSV and get the verdict in seconds.

SIGNAL_VALIDATION · 7 tests · runs on our server · nothing storedREADY
How far ahead your outcome column measures.
Fees + spread + slippage for one in-and-out trade.
Column mapping (optional)

We guess column names and tell you what we guessed. Only fill these in if we guess wrong.

Your file is analysed in memory on our own server in the EU and deleted when the analysis finishes. It is never written to disk and we don’t look at it. No account needed. The test code runs server-side only.
FILE FORMAT

Three columns is enough

One row per prediction: when it was made, what your model said, and what actually happened over the horizon. Any scale works for the prediction; the outcome is typically a forward return in percent.

timestamp,prediction,outcome,asset,price
2026-03-01 00:00,62.4,0.31,BTC,84210.5
2026-03-01 00:15,48.9,-0.12,BTC,84188.0

Optional: a group column (asset, sector, segment) enables the per-group breakdown. A price or other level column enables the regime test. Use ISO dates or Unix time — ambiguous formats like 03/04/2026 can’t be read safely.

Full data guide: formats, conversions and criteria →

WHAT IT WON’T DO

No score out of 100

A single number gets quoted as “my model scored 82”. You get pass or fail per test, with the numbers behind it and what they mean. There is no parameter search and no “best threshold” — that is exactly where overfitting starts.

It doesn’t simulate a strategy, and it knows nothing about trading: sales forecasts, demand models, churn scores — anything you predict and later observe can be tested.

03

Six traps we fell into first

Every test exists because it caught a mistake we made ourselves, with real numbers. None of these look wrong until you check.

r = −0.39

Regime artefact

Our v1 engine’s 24-hour signal looked like a strong contrarian edge. Split into up-days and down-days, it was a short bias in a falling market.

Caught by: regime split
0.49 → 0.06

Window noise

A model score that collapsed when the validation window grew from 192 to 330 rows. The number was the window, not the model.

Caught by: effective sample size
3 of 8

Selection

We locked a claim that three coins carried the signal. The three held — but the “noise” coins turned positive too. The selection was the illusion.

Caught by: stability & per-group
+0.04% < 0.06%

Cost blindness

A real, monotone gap per trade — smaller than the cost of one round trip. Real signal, negative trade.

Caught by: net of costs
−53% → −29%

Mechanical risk reduction

An index that cut BTC’s worst drawdown almost in half. Random strategies with the same time in the market averaged −32%. Most of the effect was just being out of the market.

Caught by: permutation
145,800 ≠ 53,987

Duplicated rows

A data extract matched each score several times. The sample looked almost three times larger, and weak effects suddenly looked significant.

Caught by: duplicate check
04

We tested ourselves first

Kvantix started as a crypto signal engine. Every score was logged before its outcome, in a ledger that can’t be rewritten. Here is what happened.

  1. Early JulyThe public ledger starts. Engine v1 scores eight coins; every score is hash-chained before its outcome exists.
  2. 14 JulyA rebuilt engine starts in shadow. Logged, measured, shown to no one.
  3. 3 AugustOur first claim is locked. Which coins would work, written down and hashed before the data existed.
  4. 17 AugustThe claim fails: 3 of 8 held.
  5. SeptemberSix more data sources tested — macro, DeFi flows, funding, order books, cross-asset, volatility. None gave a tradeable edge.
  6. SeptemberBoth engines judged with the seven tests: 1 of 7 and 2 of 7. The shadow engine is stopped.
  7. NowThe tests are the product. Nothing else is for sale.
CHECKING…
Hash chain, full history
—
Scores logged
Latest ledger entries · liveCHECKING…
Loading the ledger…

The v1 engine still logs, as a public record of a signal that failed — not as a signal. Outcomes are measured against public Binance prices you can recompute yourself.

CASE STUDY · WHY EVERY TEST SPLITS BY REGIME

The number that looked best was the most misleading

For a period, our v1 engine’s 24-hour results looked outstanding: a correlation of −0.39, with the lowest-conviction bucket finishing positive 72% of the time. Read at face value, that is a powerful contrarian signal, and it would have been easy to build a product on it.

It wasn’t a signal. It was a short bias that happened to coincide with a falling market. Split into up-days and down-days, the gap was positive on down-days and negative on up-days. A signal that only works while the market falls isn’t an edge — it’s a directional bet in disguise, and it breaks the moment conditions change.

05

How we work

Independence is the only thing a verdict is worth. These rules are in every engagement.

Same price, whatever the verdict. A result can’t be bought.
We judge; we don’t repair. We never tune the model we’re testing.
Quoted in full or not at all. Not just the tests that passed.
Your data is deleted 30 days after delivery.
Statistics, not advice. We don’t tell anyone to trade.
What if my signal fails?

Then the report says so, and you pay the same. Most signals fail — ours did. A clear “no” with the reasons is usually the most useful thing you can get before you put money or reputation behind a claim.

Who sees my data?

Quick Check: nobody. The file is analysed in memory and deleted when the request ends. Validation Report: only us, for your case. It is deleted 30 days after delivery and never shared or reused.

Does it have to be crypto or trading?

No. The tests need three things: when a prediction was made, what it said, and what actually happened. Sales forecasts, demand models, churn scores and sports models work the same way.

My data is in Excel. Can I use it?

Yes — save it as CSV. Danish and European formats with semicolons and decimal commas are read automatically. The data guide shows the details.

What exactly gets tested in a report?

Your claim, in one sentence — for example “our score predicts 4-hour returns across eight coins after 0.06% costs”. It is locked with a timestamp and a hash when you submit it, so it can’t drift while we work.

Do you sell signals or give trading advice?

No. We don’t sell signals, manage money, trade, or take commissions from anyone we test. We judge statistics, not whether anyone should act on them.

06 · GET STARTED

Tell us what you want tested

Email us the claim in one sentence and a short description of your data. We reply within two working days with what we need and whether it can be tested. Before any work starts, your claim is locked with a timestamp and a hash, so it can’t drift while we work. How to prepare your data →

Already a client? Log in → · Email: validation@kvantix.tech

Request a validation
Run a free Quick Check