vike
StrategiesTemplates

Pairs z-score (pairs_zscore)

The pairs_zscore portable strategy: what it trades, every parameter key with its TOML type, and whether it mounts live today — rendered from the strategy registry.

Pairs z-score trades the rolling z-score of a two-leg spread — long the cheap leg, short the rich one. It is one of the portable strategies — the names vike_strategy::strategy_by_name resolves for a live mount as well as a backtest — so a run profile or a daemon names it as pairs_zscore under [strategy], and the keys below arrive through [strategy.params]. The registry page explains the roster; the simulator-only page lists the names a backtest can still resolve that a daemon cannot.

Parameters

Each key is listed with the TOML type its reader insists on — read off the strategy's own from_params by the registry's gate, never chosen (vike_strategy::registry::PARAM_KEYS). A key of the wrong type is a silent no-op, which is why the type is stated.

KeyTOML type
symbol_astring
symbol_bstring
periodnumber
entry_znumber
exit_znumber
betanumber
notionalnumber
taker_feenumber
half_spread_bpsnumber
hold_intervalsnumber
funding_anumber
funding_bnumber
max_half_lifenumber

Live mount

Resolves but would not trade live. The registry's LIVE_CAPABLE row names the missing input: TWO-LEG: needs symbol_a + symbol_b as declared mount legs admitted into the venue engine's extra_symbols; a mount declares no legs today, so the second leg's bars never arrive and its orders would be dropped at ExecutionEngine::accepts_symbol

Where this comes from

The roster is vike_strategy::registry::PORTABLE_STRATEGIES; its parameter table and live verdict are that registry's PARAM_KEYS and LIVE_CAPABLE rows, held exhaustive against each other by the registry's own tests and exported as templates.json at every release. The glosses on this page are the one hand-written part; every table is rendered.

On this page