Language & compilation

Express custom factors in .at files using bar and book sources, arithmetic, rolling windows, lag operators, and conditional expressions. The Athanor compiler implements the Alpha DSL and emits ordinary typed C++ plugins.

// Bollinger Band width - normalized spread of the bands factor bb_width := IF MEAN(Bar.close) > 0 THEN (4 * STD(Bar.close)) / MEAN(Bar.close) ELSE 0 // Bollinger %B - position of price within the bands factor bb_pctb := IF STD(Bar.close) > 0 THEN (Bar.close - (MEAN(Bar.close) - 2 * STD(Bar.close))) / (4 * STD(Bar.close)) ELSE 0

The e-graph optimizer processes every expression ahead of time — algebraic rewrites, constant folding, and common subexpression elimination are applied before your strategy ever sees market data. The output is standard C++23 that links directly into your strategy binary and runs on the engine thread at native speed.

Included factors

Shipped as .at source, compiled into your strategy: