KOSPI Backtest Dashboard

run_id: 20260402T034403Z_userreq_cs_mlp_200base_z2p5_tradefill_m0_0309_0401 generated: 2026-04-02T03:50:28.966452+00:00
backtest_typetrade
exchangekospi
strategy_namelong_short_zscore_gtc_strategy
start_time2026-03-09T09:00:00+09:00
end_time2026-04-02T09:00:00+09:00
fee_rate0.001
trade_maker_exec_ratio0.0
plot_every_minutes120
candle_source/shared/toss_kospi/backtest_candle_1520
inference_source/shared/inference_kospi/cs_mlp_200_base_20260401

Performance

Metric Value
Total PnL 2.604M
Return per Unit Volume 9.23bp
Beta (Dynamic) 1.124M
Alpha (Dynamic) 1.479M
Alpha Return per Unit Volume 5.24bp
Sharpe (Annualized) 1.2311
Alpha Sharpe (Annualized) 2.0460
Trades 1,533
Daily Trade Notional 176.392M
Trading Days 16
Total Fee 2.822M
Avg Position Notional 77.164M
ROI (Avg Position) 3.37%
ROI (Peak Position) 2.53%
Max Drawdown -6.794M
Model Win Rate (120m) 51.10%
Hedge Win Rate (120m) 41.02%

Run Parameters

source: not_found

param value
active_minutes_ratio 0.5
confidence_median_adjust_multiplier 1
force_hedge_timeout_window 300
force_taker_start_hhmm 1540
hedge_max_amount_krw 2.5e+06
hedge_pred_threshold 1.5
hedge_slippage 0
high_speed 1
model_slippage 0
one_coin_max_neg_position_krw 0
one_coin_max_pos_position_krw 2.5e+06
position_close_timeout_minutes 120
pred_sma_len 1
total_max_abs_position_krw 1e+08
trade_end_hhmm 1520
trade_start_hhmm 905
z_score_threshold 2.5
z_score_time_window 120

Quality By Horizon (Model)

quality = side_sign * (mid_price(next_n_bars) - execution_price) / execution_price - (fee / notional)

quality_btc_adj = quality - side_sign * ((btc_mid(t+n) - btc_mid(t)) / btc_mid(t))

quality_per_notional_bp = quality_per_notional * 10000

n_min pair_count quality_pnl_final quality_per_notional quality_per_notional_bp win_rate reg_a reg_b reg_r2 quality_btc_adj_pnl_final quality_btc_adj_per_notional quality_btc_adj_per_notional_bp win_rate_btc_adj
5 1004 -1.55414e+06 -0.000856934 -8.56934 0.427291 -0.010276 0.000153011 0.00731938 -1.55414e+06 -0.000856934 -8.56934 0.427291
10 1004 -2.08504e+06 -0.00114966 -11.4966 0.432271 -0.0109995 -0.000115194 0.00428413 -2.08504e+06 -0.00114966 -11.4966 0.432271
20 1004 -1.51086e+06 -0.000833067 -8.33067 0.465139 0.00874348 -0.00168586 0.00144777 -1.51086e+06 -0.000833067 -8.33067 0.465139
30 1004 -1.33746e+06 -0.000737457 -7.37457 0.460159 0.0196291 -0.00255574 0.00468316 -1.33746e+06 -0.000737457 -7.37457 0.460159
60 1004 -109527 -6.03915e-05 -0.603915 0.515936 0.0441512 -0.00417527 0.0121077 -109527 -6.03915e-05 -0.603915 0.515936
120 1004 2.75919e+06 0.00152138 15.2138 0.510956 0.113891 -0.00998039 0.0396335 2.75919e+06 0.00152138 15.2138 0.510956
240 1004 2.3866e+06 0.00131594 13.1594 0.481076 0.131179 -0.0118087 0.0243889 2.3866e+06 0.00131594 13.1594 0.481076

Quality By Horizon (Hedge)

n_min pair_count quality_pnl_final quality_per_notional quality_per_notional_bp win_rate reg_a reg_b reg_r2 quality_btc_adj_pnl_final quality_btc_adj_per_notional quality_btc_adj_per_notional_bp win_rate_btc_adj
5 529 -1.20061e+06 -0.00119029 -11.9029 0.362949 -0.00313791 -0.00113361 0.00135747 -1.20061e+06 -0.00119029 -11.9029 0.362949
10 529 -1.45318e+06 -0.00144069 -14.4069 0.393195 0.00456677 -0.0016114 0.00123423 -1.45318e+06 -0.00144069 -14.4069 0.393195
20 529 -1.57682e+06 -0.00156327 -15.6327 0.406427 0.000607695 -0.00155156 1.14723e-05 -1.57682e+06 -0.00156327 -15.6327 0.406427
30 529 -1.22972e+06 -0.00121915 -12.1915 0.432892 0.0188017 -0.00200927 0.0070506 -1.22972e+06 -0.00121915 -12.1915 0.432892
60 529 -2.59742e+06 -0.00257509 -25.7509 0.42344 0.02655 -0.0034618 0.00948983 -2.59742e+06 -0.00257509 -25.7509 0.42344
120 529 -3.28263e+06 -0.00325441 -32.5441 0.410208 -0.0181224 -0.0031595 0.00201838 -3.28263e+06 -0.00325441 -32.5441 0.410208
240 513 -3.63727e+06 -0.0036612 -36.612 0.465887 -0.00577537 -0.00388191 0.000120328 -3.63727e+06 -0.0036612 -36.612 0.465887

Quality By Horizon (Force)

n_min pair_count quality_pnl_final quality_per_notional quality_per_notional_bp win_rate reg_a reg_b reg_r2 quality_btc_adj_pnl_final quality_btc_adj_per_notional quality_btc_adj_per_notional_bp win_rate_btc_adj
5 0 0 NaN NaN NaN 0 0 0 0 NaN NaN NaN
10 0 0 NaN NaN NaN 0 0 0 0 NaN NaN NaN
20 0 0 NaN NaN NaN 0 0 0 0 NaN NaN NaN
30 0 0 NaN NaN NaN 0 0 0 0 NaN NaN NaN
60 0 0 NaN NaN NaN 0 0 0 0 NaN NaN NaN
120 0 0 NaN NaN NaN 0 0 0 0 NaN NaN NaN
240 0 0 NaN NaN NaN 0 0 0 0 NaN NaN NaN

PnL / Exposure

Model Buy 120m Relative Quality By Entry Time (20m, 09:00-15:30 KST)

quality_120m_mean_bp = quality_120m_mean * 10000, total_amount = sum(abs(amount))

entry_time_bucket trade_count total_amount quality_120m_mean quality_120m_mean_bp
09:00 10 227 0.00539215 53.9215
09:20 34 1293 -0.00783697 -78.3697
09:40 52 1345 0.000962257 9.62257
10:00 37 2435 -0.00300908 -30.0908
10:20 70 3417 0.0030776 30.776
10:40 62 1899 0.00170195 17.0195
11:00 69 3524 0.00507617 50.7617
11:20 45 2453 -0.0024405 -24.405
11:40 42 3073 -7.84866e-05 -0.784866
12:00 39 1626 0.00461638 46.1638
12:20 42 1495 0.00574437 57.4437
12:40 31 1619 0.00872339 87.2339
13:00 34 1143 0.001767 17.67
13:20 38 1712 -0.00626986 -62.6986
13:40 60 2894 -0.000378214 -3.78214
14:00 67 3126 -0.000158117 -1.58117
14:20 27 923 0.00484878 48.4878
14:40 26 586 -0.00192828 -19.2828
15:00 13 505 0.023735 237.35
15:20 0 0

Z-Score-Quality Scatter + Regression

Model Buy/Sell Scatter + Regression

Notional Periodicity Analysis

Intraday periodicity in total notional position: inference tail asymmetry & rolling z-score window effects

Intraday Notional & Execution Pattern

Inference Tail Asymmetry (before z-score)

Rolling Z-Score Window Effect

Counterfactual: Cross-Sectional Z vs Rolling Z

Summary Table

Hourdata σpool σamp (d/p)Buy sig%Sell sig%B/S ratiopos >3σ%neg >3σ%pos/neg
09:000.08020.09430.8500.329%0.452%0.730.332%0.475%0.70
10:000.10020.08651.1581.125%1.925%0.580.193%0.455%0.42
11:000.10970.09801.1191.127%1.643%0.690.221%0.278%0.79
12:000.10850.10731.0110.705%0.832%0.850.247%0.234%1.06
13:000.10260.10740.9550.522%0.753%0.690.253%0.502%0.50
14:000.10370.10530.9840.608%1.109%0.550.361%0.729%0.50
15:000.09070.10300.8810.369%0.921%0.400.311%0.854%0.36

Notes:

z_score_threshold = 2.500, z_score_time_window = 120 bars, coins = 200

data σ = model_pred cross-sectional std at that hour

pool σ = rolling shared window std (z-score denominator)

amp = data σ / pool σ (>1 → z-scores inflated, <1 → suppressed)

B/S ratio = buy signal / sell signal (>1 → net long entry dominant)

pos/neg >3σ = raw model_pred tail asymmetry before z-score transformation