KOSPI Backtest Dashboard

run_id: 20260403T084302Z_event_queue_exec1_notional10k generated: 2026-04-03T08:44:45.606758+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.536M
Return per Unit Volume -29.13bp
Beta (Dynamic) -8.090M
Alpha (Dynamic) -2.446M
Alpha Return per Unit Volume -6.76bp
Sharpe (Annualized) -2.4463
Alpha Sharpe (Annualized) -1.7021
Trades 5,619
Daily Trade Notional 144.655M
Trading Days 25
Total Fee 3.616M
Avg Position Notional 67.660M
ROI (Avg Position) -15.57%
ROI (Peak Position) -10.26%
Max Drawdown -19.790M
Model Win Rate (120m) 46.77%
Hedge Win Rate (120m) 44.86%

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 3263 -4.0612e+06 -0.0018553 -18.553 0.365308 -0.00792319 -0.000954842 0.00468334 -4.0612e+06 -0.0018553 -18.553 0.365308
10 3263 -3.8622e+06 -0.00176439 -17.6439 0.398713 -0.00659065 -0.00095136 0.00201892 -3.8622e+06 -0.00176439 -17.6439 0.398713
20 3263 -3.0023e+06 -0.00137156 -13.7156 0.438247 -0.0105645 -0.000466683 0.00310496 -3.0023e+06 -0.00137156 -13.7156 0.438247
30 3263 -2.7102e+06 -0.00123811 -12.3811 0.446522 -0.00312238 -0.00110807 0.000181065 -2.7102e+06 -0.00123811 -12.3811 0.446522
60 3263 -1.06536e+06 -0.000486695 -4.86695 0.450812 -0.019813 0.000480676 0.00445997 -1.06536e+06 -0.000486695 -4.86695 0.450812
120 3263 2.03434e+06 0.00092936 9.2936 0.467668 0.0615247 -0.00471486 0.0200968 2.03434e+06 0.00092936 9.2936 0.467668
240 3261 -1.5847e+06 -0.000724237 -7.24237 0.454768 0.034646 -0.0045495 0.00312412 -1.5847e+06 -0.000724237 -7.24237 0.454768

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 2356 -2.13252e+06 -0.00149399 -14.9399 0.340832 -0.000472575 -0.00145043 4.20773e-05 -2.13252e+06 -0.00149399 -14.9399 0.340832
10 2356 -2.50734e+06 -0.00175657 -17.5657 0.385399 0.00197688 -0.00181757 0.000383932 -2.50734e+06 -0.00175657 -17.5657 0.385399
20 2356 -2.30845e+06 -0.00161724 -16.1724 0.407895 -0.0062977 -0.00205652 0.00160293 -2.30845e+06 -0.00161724 -16.1724 0.407895
30 2356 -2.29546e+06 -0.00160814 -16.0814 0.399406 -0.00957338 -0.00188923 0.00286176 -2.29546e+06 -0.00160814 -16.0814 0.399406
60 2356 -3.00025e+06 -0.00210189 -21.0189 0.435484 -0.0283846 -0.0018062 0.0158967 -3.00025e+06 -0.00210189 -21.0189 0.435484
120 2356 -3.77914e+06 -0.00264757 -26.4757 0.448642 0.0264794 -0.00279003 0.00533611 -3.77914e+06 -0.00264757 -26.4757 0.448642
240 2335 -2.81534e+06 -0.00199238 -19.9238 0.47152 0.0559768 -0.00126764 0.0113499 -2.81534e+06 -0.00199238 -19.9238 0.47152

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 24 189 0.0234692 234.692
09:20 86 760 0.00464418 46.4418
09:40 137 2399 0.00198723 19.8723
10:00 150 3456 -0.00662603 -66.2603
10:20 221 2715 6.25674e-05 0.625674
10:40 172 2279 0.00333705 33.3705
11:00 239 3408 -0.00137817 -13.7817
11:20 103 2106 -0.00158094 -15.8094
11:40 164 3353 -0.00535515 -53.5515
12:00 92 1318 0.00672223 67.2223
12:20 118 1374 -0.00280039 -28.0039
12:40 79 2672 0.00237875 23.7875
13:00 156 2425 0.00231859 23.1859
13:20 178 2840 -0.00912412 -91.2412
13:40 252 3541 -0.00608921 -60.8921
14:00 240 4263 0.00164946 16.4946
14:20 184 2645 -0.00751963 -75.1963
14:40 83 1092 -0.011786 -117.86
15:00 55 456 0.0193319 193.319
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