Skip to content
LQM Registry / backtesting

Signal Strategy Backtester

Lagged-signal strategy backtest with look-ahead guard, transaction costs, turnover, drawdown and risk-adjusted performance metrics.

Model keylq.backtest.signal-strategy
Version1.0.0
Runtimepython-process
Model contract

Inputs are explicit.

{
    "type": "object",
    "required": [
        "returns",
        "signals"
    ]
}
Output contract

Outputs are explicit.

{
    "type": "object",
    "required": [
        "lookahead_guard",
        "equity_curve",
        "annualized_return",
        "sharpe_ratio",
        "max_drawdown",
        "turnover"
    ]
}
Default parameters
{
    "signal_lag": 1,
    "transaction_cost_bps": 5,
    "periods_per_year": 252,
    "max_abs_position": 1
}
Example input
{
    "returns": [
        0.01000000000000000020816681711721685132943093776702880859375,
        -0.0040000000000000000832667268468867405317723751068115234375,
        0.00600000000000000012490009027033011079765856266021728515625,
        0.0120000000000000002498001805406602215953171253204345703125,
        -0.008000000000000000166533453693773481063544750213623046875,
        0.003000000000000000062450045135165055398829281330108642578125,
        0.005000000000000000104083408558608425664715468883514404296875,
        -0.00899999999999999931998839741709161899052560329437255859375,
        0.0109999999999999993616217608405349892564117908477783203125,
        0.0040000000000000000832667268468867405317723751068115234375,
        -0.00200000000000000004163336342344337026588618755340576171875,
        0.007000000000000000145716771982051795930601656436920166015625
    ],
    "signals": [
        1,
        1,
        -1,
        1,
        1,
        -1,
        1,
        -1,
        1,
        1,
        0,
        1
    ]
}
Capabilities
cpubacktestinglookahead-guard