Blog

How Thesis works: the design rules behind the language and what happens under the hood.

Same bars, same result: why Thesis is deterministic

A backtest is only worth something if it gives the same answer tomorrow. Here is what Thesis gives up to make that true, and why it is worth it.

Series without loops: how history works in Thesis

In Thesis you never write the bar loop. Every value is already a series, and the past is one operator away.

One call site, one state: inside the ta.* library

Why two calls to ta.sma(close, 20) never interfere, why a function is compiled again at every call, and why that rules out recursion.

From source to bytecode: how a Thesis script runs a bar

Thesis never compiles your script to native code and never starts a compiler on your device. It builds a small program, and an interpreter walks it, bar by bar.

na, not zero: how Thesis fails out loud

A silent wrong number is the worst thing a trading script can produce. Thesis would rather stop with a position and a hint.