KOSPI Backtest Dashboard

run_id: 20260403T083436Z_event_queue_smoke generated: 2026-04-03T08:36:04.824105+00:00
backtest_typecandle
exchangekospi
strategy_namelong_short_zscore_gtc_strategy
start_time2026-02-23T09:00:00+09:00
end_time2026-03-31T09:00:00+09:00
fee_rate0.001
plot_every_minutes10
candle_source/shared/toss_kospi/backtest_candle_1520
inference_source/shared/inference_kospi/cs_mlp_200_base_parquet

Performance

Metric Value
Total PnL -10.533M
Return per Unit Volume -29.20bp
Beta (Dynamic) -8.118M
Alpha (Dynamic) -2.414M
Alpha Return per Unit Volume -6.69bp
Sharpe (Annualized) -2.4469
Alpha Sharpe (Annualized) -1.6866
Trades 5,413
Daily Trade Notional 144.267M
Trading Days 25
Total Fee 3.607M
Avg Position Notional 67.657M
ROI (Avg Position) -15.57%
ROI (Peak Position) -10.26%
Max Drawdown -19.791M
Model Win Rate (120m) 46.96%
Hedge Win Rate (120m) 44.66%

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.6
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 3073 -4.0629e+06 -0.00186119 -18.6119 0.363163 -0.00886128 -0.000915826 0.00612611 -4.0629e+06 -0.00186119 -18.6119 0.363163
10 3073 -3.85165e+06 -0.00176442 -17.6442 0.398308 -0.00617817 -0.000942757 0.00182363 -3.85165e+06 -0.00176442 -17.6442 0.398308
20 3073 -2.98498e+06 -0.0013674 -13.674 0.440612 -0.0115336 -0.000285158 0.00393248 -2.98498e+06 -0.0013674 -13.674 0.440612
30 3073 -2.71807e+06 -0.00124513 -12.4513 0.448096 -0.00634655 -0.000860053 0.000801044 -2.71807e+06 -0.00124513 -12.4513 0.448096
60 3073 -1.053e+06 -0.000482374 -4.82374 0.451025 -0.0219221 0.000649622 0.00584479 -1.053e+06 -0.000482374 -4.82374 0.451025
120 3073 2.01486e+06 0.000922995 9.22995 0.469574 0.0610948 -0.00437075 0.02074 2.01486e+06 0.000922995 9.22995 0.469574
240 3071 -1.63112e+06 -0.000747507 -7.47507 0.454249 0.0336645 -0.00396436 0.00300304 -1.63112e+06 -0.000747507 -7.47507 0.454249

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 2340 -2.12798e+06 -0.00149466 -14.9466 0.340598 -0.000379529 -0.00145297 2.71173e-05 -2.12798e+06 -0.00149466 -14.9466 0.340598
10 2340 -2.49834e+06 -0.0017548 -17.548 0.387607 0.00199591 -0.00180781 0.000390252 -2.49834e+06 -0.0017548 -17.548 0.387607
20 2340 -2.30472e+06 -0.00161881 -16.1881 0.407265 -0.006181 -0.00206818 0.00153965 -2.30472e+06 -0.00161881 -16.1881 0.407265
30 2340 -2.30015e+06 -0.0016156 -16.156 0.399145 -0.0094626 -0.00189813 0.00278575 -2.30015e+06 -0.0016156 -16.156 0.399145
60 2340 -3.02482e+06 -0.0021246 -21.246 0.43547 -0.0285305 -0.00182933 0.0159819 -3.02482e+06 -0.0021246 -21.246 0.43547
120 2340 -3.81788e+06 -0.00268163 -26.8163 0.446581 0.0257331 -0.00286335 0.00502046 -3.81788e+06 -0.00268163 -26.8163 0.446581
240 2319 -2.86767e+06 -0.00203472 -20.3472 0.469168 0.0552362 -0.00140028 0.0110718 -2.86767e+06 -0.00203472 -20.3472 0.469168

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 18 178 0.0273995 273.995
09:20 78 753 0.00545262 54.5262
09:40 123 2379 0.00159375 15.9375
10:00 142 3453 -0.00771128 -77.1128
10:20 210 2701 0.00072965 7.2965
10:40 158 2262 0.00190606 19.0606
11:00 227 3384 -0.0017824 -17.824
11:20 93 2088 -0.00141654 -14.1654
11:40 151 3337 -0.00523502 -52.3502
12:00 88 1311 0.00740607 74.0607
12:20 112 1364 -0.00313447 -31.3447
12:40 74 2665 0.00335044 33.5044
13:00 147 2422 0.00180569 18.0569
13:20 172 2837 -0.00883994 -88.3994
13:40 240 3533 -0.00302792 -30.2792
14:00 228 4237 0.00139156 13.9156
14:20 169 2623 -0.00629383 -62.9383
14:40 72 1096 -0.0130158 -130.158
15:00 47 436 0.0200282 200.282
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.256%0.369%0.690.332%0.475%0.70
10:000.10020.08651.1580.918%1.634%0.560.192%0.455%0.42
11:000.10970.09801.1190.901%1.349%0.670.221%0.279%0.79
12:000.10850.10741.0110.544%0.640%0.850.247%0.234%1.06
13:000.10260.10740.9550.422%0.630%0.670.253%0.502%0.50
14:000.10370.10530.9840.503%0.969%0.520.361%0.729%0.49
15:000.09070.10300.8810.310%0.803%0.390.311%0.855%0.36

Notes:

z_score_threshold = 2.600, 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