KOSPI Backtest Dashboard

run_id: 20260323T070722Z_userreq_top200_ens2_best_parquet_20260323_tossenriched_origfixrange_z2p995 generated: 2026-03-23T07:15:40.710164+00:00
exchangekospi
strategy_namelong_short_zscore_gtc_strategy
start_time2026-01-02T09:00:00+09:00
end_time2026-03-05T15:31:00+09:00
fee_rate0.001
plot_every_minutes60
data_root_inference/shared/inference_kospi/top200_ens2_best_parquet_20260323

Performance

Metric Value
Total PnL 25.851M
Return per Unit Volume 18.85bp
Beta (Dynamic) 16.173M
Alpha (Dynamic) 9.678M
Alpha Return per Unit Volume 7.06bp
Sharpe (Annualized) 4.8406
Alpha Sharpe (Annualized) 5.1041
Trades 5,774
Daily Trade Notional 334.518M
Trading Days 41
Total Fee 13.715M
Avg Position Notional 55.808M
ROI (Avg Position) 46.32%
ROI (Peak Position) 23.53%
Max Drawdown -12.709M
Model Win Rate (120m) 53.33%
Hedge Win Rate (120m) 48.73%
Model Win Rate β-adj (120m) 50.83%
Hedge Win Rate β-adj (120m) 52.00%

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 0
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.995
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 3982 6.90534e+06 0.000737056 7.37056 0.588398 0.00208168 0.000572924 2.14949e-05 6.69357e+06 0.000714453 7.14453 0.579357
10 3982 7.2784e+06 0.000776875 7.76875 0.566047 -0.00338845 0.000993906 2.9618e-05 6.60322e+06 0.000704809 7.04809 0.563034
20 3981 8.98121e+06 0.000958847 9.58847 0.55363 -0.00639709 0.00146665 6.90316e-05 7.57331e+06 0.000808538 8.08538 0.563426
30 3981 1.22056e+07 0.00130309 13.0309 0.563677 -0.0189798 0.00267503 0.000458293 9.5826e+06 0.00102305 10.2305 0.56217
60 3975 1.57069e+07 0.00167955 16.7955 0.556478 -0.00338823 0.0019494 8.63776e-06 1.17854e+07 0.00126021 12.6021 0.548931
120 3960 1.44988e+07 0.00155649 15.5649 0.533333 0.0580284 -0.00255002 0.00118522 9.74342e+06 0.00104599 10.4599 0.508333
240 3941 2.99026e+07 0.00322563 32.2563 0.523979 0.0908372 -0.00314705 0.00143663 1.54589e+07 0.00166757 16.6757 0.498097

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 1792 -1.90582e+06 -0.000438479 -4.38479 0.478237 0.00424016 -0.000503264 4.52818e-05 -2.11073e+06 -0.000485624 -4.85624 0.466518
10 1792 -1.69388e+06 -0.000389717 -3.89717 0.474888 -0.000901686 -0.000403834 1.28599e-06 -1.69853e+06 -0.000390788 -3.90788 0.479353
20 1788 -2.34305e+06 -0.000540291 -5.40291 0.488814 -0.0197294 -0.000333757 0.000365908 -1.46905e+06 -0.000338753 -3.38753 0.503915
30 1786 -2.56469e+06 -0.000592084 -5.92084 0.493281 -0.0323635 -0.000241898 0.000660284 -832955 -0.000192296 -1.92296 0.506159
60 1783 -5.49722e+06 -0.00127101 -12.7101 0.491868 -0.013714 -0.00109392 6.31894e-05 -1.69364e+06 -0.000391587 -3.91587 0.52608
120 1777 -5.7518e+06 -0.00133431 -13.3431 0.487338 -0.0398718 -0.000798901 0.000287295 -1.577e+06 -0.000365832 -3.65832 0.519977
240 1765 -1.32254e+07 -0.00308885 -30.8885 0.470822 -0.022531 -0.00280668 4.24971e-05 -3.27117e+06 -0.000763998 -7.63998 0.533711

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 36 1516 -0.0056687 -56.687
09:20 57 3285 0.0122335 122.335
09:40 88 6152 0.00165612 16.5612
10:00 141 5470 -0.00422184 -42.2184
10:20 251 11403 0.000150531 1.50531
10:40 287 18219 -0.000970235 -9.70235
11:00 255 13698 -0.000510824 -5.10824
11:20 166 7126 0.00417442 41.7442
11:40 129 5923 0.00459553 45.9553
12:00 96 6475 0.00253777 25.3777
12:20 109 5945 0.00407362 40.7362
12:40 110 7302 -0.00165887 -16.5887
13:00 182 12968 -0.00221912 -22.1912
13:20 370 25405 0.00162651 16.2651
13:40 305 19500 0.00467394 46.7394
14:00 174 11194 0.00351876 35.1876
14:20 87 4380 0.0105177 105.177
14:40 72 5908 0.0178972 178.972
15:00 50 3389 0.0117753 117.753
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.04910.06030.8140.114%0.041%2.750.355%0.143%2.48
10:000.06060.05331.1360.486%0.246%1.980.184%0.098%1.88
11:000.07700.06211.2390.536%0.691%0.780.075%0.152%0.49
12:000.07980.07431.0740.186%0.139%1.330.092%0.070%1.31
13:000.07210.07740.9310.116%0.075%1.540.157%0.096%1.64
14:000.06970.07310.9540.052%0.094%0.550.062%0.134%0.46
15:000.05220.06940.7520.018%0.039%0.460.252%0.338%0.75

Notes:

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