KOSPI Backtest Dashboard

run_id: 20260323_ens2_best_tossenriched_z2p995 generated: 2026-03-23T07:37:47.320550+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 27.301M
Return per Unit Volume 20.24bp
Beta (Dynamic) 17.004M
Alpha (Dynamic) 10.297M
Alpha Return per Unit Volume 7.63bp
Sharpe (Annualized) 5.1317
Alpha Sharpe (Annualized) 5.3761
Trades 5,677
Daily Trade Notional 328.934M
Trading Days 41
Total Fee 13.486M
Avg Position Notional 55.649M
ROI (Avg Position) 49.06%
ROI (Peak Position) 24.85%
Max Drawdown -12.241M
Model Win Rate (120m) 54.07%
Hedge Win Rate (120m) 48.30%

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 3912 6.91086e+06 0.000750731 7.50731 0.591002 0.00144503 0.000637431 1.04555e-05 6.91086e+06 0.000750731 7.50731 0.591002
10 3912 7.42245e+06 0.000806305 8.06305 0.568763 -0.00436403 0.00110117 4.93553e-05 7.42245e+06 0.000806305 8.06305 0.568763
20 3908 9.95495e+06 0.00108248 10.8248 0.558854 -0.00775834 0.00168872 0.000102675 9.95495e+06 0.00108248 10.8248 0.558854
30 3907 1.32678e+07 0.00144308 14.4308 0.568723 -0.0214851 0.00299731 0.000592035 1.32678e+07 0.00144308 14.4308 0.568723
60 3891 1.68219e+07 0.00183703 18.3703 0.560267 -0.00284449 0.00208527 6.12585e-06 1.68219e+07 0.00183703 18.3703 0.560267
120 3834 1.70067e+07 0.00188577 18.8577 0.540689 0.0663059 -0.00276893 0.00156052 1.70067e+07 0.00188577 18.8577 0.540689
240 3773 3.31198e+07 0.00373188 37.3188 0.532468 0.116662 -0.00448142 0.00237215 3.31198e+07 0.00373188 37.3188 0.532468

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 1765 -1.66525e+06 -0.000389006 -3.89006 0.481586 0.00324288 -0.000443287 2.78611e-05 -1.66525e+06 -0.000389006 -3.89006 0.481586
10 1765 -1.29988e+06 -0.000303656 -3.03656 0.483286 -0.00350408 -0.000285806 2.00852e-05 -1.29988e+06 -0.000303656 -3.03656 0.483286
20 1759 -2.07147e+06 -0.000485543 -4.85543 0.497442 -0.0288877 -0.000171575 0.000820323 -2.07147e+06 -0.000485543 -4.85543 0.497442
30 1757 -2.60768e+06 -0.000611947 -6.11947 0.494593 -0.0384191 -0.000189011 0.000968966 -2.60768e+06 -0.000611947 -6.11947 0.494593
60 1751 -5.46675e+06 -0.00128716 -12.8716 0.495717 -0.0170541 -0.00105835 9.97953e-05 -5.46675e+06 -0.00128716 -12.8716 0.495717
120 1735 -7.28618e+06 -0.00173161 -17.3161 0.482997 -0.0172845 -0.00143494 5.52195e-05 -7.28618e+06 -0.00173161 -17.3161 0.482997
240 1698 -1.83953e+07 -0.00446586 -44.6586 0.461131 -0.0129853 -0.00428222 1.53606e-05 -1.83953e+07 -0.00446586 -44.6586 0.461131

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 35 1504 -0.0060127 -60.127
09:20 55 3264 0.0130046 130.046
09:40 79 5971 0.00489602 48.9602
10:00 130 5269 -0.00286041 -28.6041
10:20 237 10970 0.00145327 14.5327
10:40 259 16562 0.000563604 5.63604
11:00 264 13677 -0.000673978 -6.73978
11:20 167 7136 0.00404725 40.4725
11:40 130 5927 0.00442032 44.2032
12:00 98 6601 0.00252378 25.2378
12:20 109 5991 0.00407362 40.7362
12:40 111 7354 -0.00147256 -14.7256
13:00 183 12928 -0.00227372 -22.7372
13:20 371 25501 0.00198276 19.8276
13:40 304 19496 0.00562166 56.2166
14:00 174 11194 0.00374547 37.4547
14:20 87 4380 0.0114074 114.074
14:40 72 5908 0.0189058 189.058
15:00 50 3389 0.0136679 136.679
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