All work

cryptolab

Most crypto “signals” promise the price direction. cryptolab checks that with rigorous tests and says plainly when there is no edge.

Client
Our own project
Type
Library and command line
Our part
Models, C++ core, tests
Year
2026
cryptolab

What it computes

Market efficiency tests, volatility with GJR-GARCH and HAR-RV, market regimes with a hidden Markov model, the return distribution one day ahead and a walk-forward check against simple models.

An example on BTC

On 3,000 hourly BTC/USDT bars the probability of a rise over a day came out at 52%, and the tool says: no edge. GARCH forecasts volatility slightly better than simple models, but the Diebold–Mariano test does not find the difference significant.

A fast core

The heaviest computations, the GARCH likelihood and the Hurst exponent, are written in C++ and bound to Python. A dedicated test checks that C++ and Python give the same answer.

A laboratory instrument

A tape of hourly bars runs through a chain of meters: efficiency, volatility, market regime. The verdict needle rests on “no edge” until the walk-forward test proves otherwise.

CRYPTOLAB
Verdict needle: rests on “no edge” until the walk-forward test passesFour meters in a chain: efficiency, GARCH volatility, HMM regime, walk-forwardPaper tape of hourly bars, as candlesA bench model of cryptolab, a Python and C++ (pybind11) toolkit that analyses crypto markets with textbook econometrics. A paper tape of hourly bars runs through four meters: an efficiency gauge (a variance ratio near 1 means prices have no memory), a pendulum that rings with GJR-GARCH-t volatility, a selector lit by the HMM regime probabilities, and a walk-forward test: until the Diebold–Mariano statistic is significant the verdict needle rests on “no edge”. The tape here is simulated from parameters measured on the real bars, a volatility persistence of 0.971 and an annualised volatility of 18.7%; it is not the bars themselves. A click plants a synthetic edge in the tape to show the needle can move. On the real BTC/USDT run (3000 hourly bars) it did not: P(up) 0.522, Diebold–Mariano p 0.289 over 215 walk-forward windows, verdict no edge. This is not financial advice.

Under the hood

  • Python with a C++ core through pybind11.
  • GJR-GARCH-t, HAR-RV, a hidden Markov model, variance-ratio and Hurst tests.
  • Checks without look-ahead: walk-forward, Diebold–Mariano, purged cross-validation.
  • An exchange rate limiter and an offline demo on synthetic data.
  • 25 tests, including a C++ vs numpy check. Not investment advice.

Python · C++ · pybind11 · NumPy

Shall we talk about your project?

Discuss your project