KOSPI Backtest Dashboard

run_id: 20260323_ens2_best_tossenriched_z2p995_w120_hpt1 generated: 2026-03-24T08:11:31.646849+00:00
exchangekospi
strategy_namelong_short_zscore_gtc_strategy
start_time2026-01-02T09:00:00+09:00
end_time2026-03-06T09:00:00+09:00
fee_rate0.001
plot_every_minutes60
candle_source/data/kospi_data/enriched_candle_toss_from_enricher
inference_source/shared/inference_kospi/top200_ens2_best_parquet_20260323

Performance

Metric Value
Total PnL 29.202M
Return per Unit Volume 22.11bp
Beta (Dynamic) 17.312M
Alpha (Dynamic) 11.890M
Alpha Return per Unit Volume 9.00bp
Sharpe (Annualized) 5.3380
Alpha Sharpe (Annualized) 6.0580
Trades 5,566
Daily Trade Notional 322.082M
Trading Days 41
Total Fee 13.205M
Avg Position Notional 59.511M
ROI (Avg Position) 49.07%
ROI (Peak Position) 26.74%
Max Drawdown -13.309M
Model Win Rate (120m) 54.23%
Hedge Win Rate (120m) 48.16%

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
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 3871 6.95328e+06 0.000764558 7.64558 0.592612 0.00126491 0.000685893 7.98332e-06 6.95328e+06 0.000764558 7.64558 0.592612
10 3871 7.28199e+06 0.000800702 8.00702 0.571429 -0.00749256 0.00134379 0.000145447 7.28199e+06 0.000800702 8.00702 0.571429
20 3867 9.98269e+06 0.00109876 10.9876 0.560641 -0.0118083 0.00196082 0.000247063 9.98269e+06 0.00109876 10.9876 0.560641
30 3866 1.30222e+07 0.00143367 14.3367 0.569322 -0.0200498 0.00287112 0.000535673 1.30222e+07 0.00143367 14.3367 0.569322
60 3850 1.57603e+07 0.00174222 17.4222 0.560779 -0.00177701 0.00190068 2.48528e-06 1.57603e+07 0.00174222 17.4222 0.560779
120 3793 1.65801e+07 0.00186139 18.6139 0.542315 0.0641147 -0.00261048 0.00148026 1.65801e+07 0.00186139 18.6139 0.542315
240 3732 3.16602e+07 0.00361259 36.1259 0.532422 0.118893 -0.00472888 0.00248207 3.16602e+07 0.00361259 36.1259 0.532422

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 1695 -494557 -0.000120305 -1.20305 0.502065 0.00446337 -0.000218103 7.96949e-05 -494557 -0.000120305 -1.20305 0.502065
10 1695 -460191 -0.000111945 -1.11945 0.487316 -0.00374672 -4.41024e-05 3.5959e-05 -460191 -0.000111945 -1.11945 0.487316
20 1693 -693835 -0.000168983 -1.68983 0.517425 -0.00511093 -7.1235e-05 3.86148e-05 -693835 -0.000168983 -1.68983 0.517425
30 1691 -1.91782e+06 -0.000467653 -4.67653 0.503844 0.00240795 -0.000484502 5.61568e-06 -1.91782e+06 -0.000467653 -4.67653 0.503844
60 1686 -2.76449e+06 -0.000676006 -6.76006 0.510676 0.0215112 -0.00104958 0.000240811 -2.76449e+06 -0.000676006 -6.76006 0.510676
120 1661 -4.42291e+06 -0.00109837 -10.9837 0.481638 0.0208164 -0.00138617 0.000106787 -4.42291e+06 -0.00109837 -10.9837 0.481638
240 1629 -1.49246e+07 -0.00377865 -37.7865 0.472683 0.00127097 -0.00379973 1.83706e-07 -1.49246e+07 -0.00377865 -37.7865 0.472683

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 34 1502 -0.00657633 -65.7633
09:20 51 2986 0.0163473 163.473
09:40 74 5701 0.00478681 47.8681
10:00 127 5457 -0.00295247 -29.5247
10:20 231 10605 0.00166608 16.6608
10:40 253 16242 0.00053016 5.3016
11:00 260 13552 -0.00069076 -6.9076
11:20 166 7105 0.00416206 41.6206
11:40 129 5917 0.00447829 44.7829
12:00 97 6498 0.00243257 24.3257
12:20 108 5951 0.00410542 41.0542
12:40 109 7243 -0.00160386 -16.0386
13:00 176 11666 -0.00188731 -18.8731
13:20 371 25216 0.00210242 21.0242
13:40 302 19492 0.00561516 56.1516
14:00 172 11034 0.00408223 40.8223
14:20 87 3992 0.0099446 99.446
14:40 73 5683 0.0173525 173.525
15:00 45 3166 0.0107895 107.895
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