KOSPI Backtest Dashboard

run_id: 20260404T052439Z_minute_bar_base generated: 2026-04-04T05:26:07.493682+00:00
backtest_typetrade
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
trade_maker_exec_ratio0.0
trade_delay_us0
bar_duration_seconds60
plot_every_minutes120
trade_root/data/krx/parquet
candle_source/shared/toss_kospi/backtest_candle_1520
inference_source/shared/inference_kospi/cs_mlp_200_base_parquet

Performance

Metric Value
Total PnL -2.195M
Return per Unit Volume -4.99bp
Beta (Dynamic) -2.777M
Alpha (Dynamic) 0.581M
Alpha Return per Unit Volume 1.32bp
Sharpe (Annualized) -0.6304
Alpha Sharpe (Annualized) 0.4290
Trades 7,464
Daily Trade Notional 176.075M
Trading Days 25
Total Fee 4.402M
Avg Position Notional 77.492M
ROI (Avg Position) -2.83%
ROI (Peak Position) -2.17%
Max Drawdown -14.490M
Model Win Rate (120m) 48.89%
Hedge Win Rate (120m) 48.85%

Run Parameters

source: not_found

param value
active_minutes_ratio 0.5
confidence_median_adjust_multiplier 1
force_hedge_timeout_bars 300
force_order_ttl_ms 60000
force_taker_start_hhmm 1540
hedge_max_amount_krw 2.5e+06
hedge_order_ttl_ms 60000
hedge_pred_threshold 1.5
hedge_slippage 0
high_speed 1
model_order_ttl_ms 60000
model_slippage 0
one_coin_max_neg_position_krw 0
one_coin_max_pos_position_krw 2.5e+06
position_close_timeout_bars 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 4821 -3.00749e+06 -0.00106137 -10.6137 0.410703 -0.0060015 -0.000332714 0.0125098 -3.00749e+06 -0.00106137 -10.6137 0.410703
10 4821 -2.59524e+06 -0.000915884 -9.15884 0.42543 -0.00590107 -0.000240722 0.00584852 -2.59524e+06 -0.000915884 -9.15884 0.42543
20 4821 -2.23741e+06 -0.000789603 -7.89603 0.440572 -0.00962079 -6.70422e-05 0.0103475 -2.23741e+06 -0.000789603 -7.89603 0.440572
30 4821 -1.79254e+06 -0.000632602 -6.32602 0.46982 -0.00633853 -0.000248901 0.00382426 -1.79254e+06 -0.000632602 -6.32602 0.46982
60 4821 -926863 -0.000327098 -3.27098 0.486206 -0.0171156 0.000843042 0.0161509 -926863 -0.000327098 -3.27098 0.486206
120 4821 2.20845e+06 0.000779382 7.79382 0.488903 0.00502837 -0.000529595 0.000641422 2.20845e+06 0.000779382 7.79382 0.488903
240 4821 2.33098e+06 0.000822622 8.22622 0.501141 -0.00319358 0.000448676 0.0001269 2.33098e+06 0.000822622 8.22622 0.501141

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 2643 -2.2215e+06 -0.00141652 -14.1652 0.340144 -0.000923557 -0.00158925 7.73252e-05 -2.2215e+06 -0.00141652 -14.1652 0.340144
10 2643 -1.50548e+06 -0.000959953 -9.59953 0.445327 -9.47979e-06 -0.00115319 4.98098e-09 -1.50548e+06 -0.000959953 -9.59953 0.445327
20 2643 -2.88548e+06 -0.0018399 -18.399 0.431328 0.00231243 -0.00241737 0.000125358 -2.88548e+06 -0.0018399 -18.399 0.431328
30 2643 -3.42142e+06 -0.00218163 -21.8163 0.43549 0.00689047 -0.0032178 0.000937166 -3.42142e+06 -0.00218163 -21.8163 0.43549
60 2643 -2.99141e+06 -0.00190744 -19.0744 0.453651 -0.000949648 -0.0030759 1.13864e-05 -2.99141e+06 -0.00190744 -19.0744 0.453651
120 2643 834816 0.000532312 5.32312 0.48846 -0.00184092 -0.000607138 2.88486e-05 834816 0.000532312 5.32312 0.48846
240 2643 4.02553e+06 0.00256683 25.6683 0.510405 -0.020146 0.00179516 0.00247073 4.02553e+06 0.00256683 25.6683 0.510405

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 83 1914 0.00867342 86.7342
09:20 242 3173 0.00616739 61.6739
09:40 307 5116 0.00107576 10.7576
10:00 555 7689 -0.00398187 -39.8187
10:20 573 10459 -0.00263761 -26.3761
10:40 368 5398 0.000314763 3.14763
11:00 545 7467 0.000917202 9.17202
11:20 206 3366 -0.00141151 -14.1151
11:40 213 2969 0.000941857 9.41857
12:00 107 780 0.00127644 12.7644
12:20 67 1361 0.00144448 14.4448
12:40 71 1530 0.00126463 12.6463
13:00 65 732 -0.00207734 -20.7734
13:20 87 1576 -0.00675027 -67.5027
13:40 75 1445 0.00485755 48.5755
14:00 106 1751 0.0224316 224.316
14:20 33 720 -0.0202402 -202.402
14:40 46 1179 -0.00224255 -22.4255
15:00 20 427 -0.0108595 -108.595
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