KOSPI Backtest Dashboard

run_id: 20260403T111403Z_cs_mlp_200base_parquet_z2p5_tradefill_delay500ms_0223_0331 generated: 2026-04-03T11:16:15.336778+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_us500000
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 -11.517M
Return per Unit Volume -29.98bp
Beta (Dynamic) -7.043M
Alpha (Dynamic) -4.474M
Alpha Return per Unit Volume -11.65bp
Sharpe (Annualized) -2.4108
Alpha Sharpe (Annualized) -3.0573
Trades 5,889
Daily Trade Notional 153.659M
Trading Days 25
Total Fee 3.841M
Avg Position Notional 76.590M
ROI (Avg Position) -15.04%
ROI (Peak Position) -11.18%
Max Drawdown -20.427M
Model Win Rate (120m) 46.04%
Hedge Win Rate (120m) 44.89%

Run Parameters

source: not_found

param value
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.5
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 3571 -3.89873e+06 -0.00162652 -16.2652 0.373005 -0.0114791 -0.00069177 0.0142255 -3.89873e+06 -0.00162652 -16.2652 0.373005
10 3570 -4.59039e+06 -0.00191508 -19.1508 0.394958 -0.00817359 -0.000936916 0.00356852 -4.59039e+06 -0.00191508 -19.1508 0.394958
20 3560 -4.58989e+06 -0.00191799 -19.1799 0.421348 -0.0154694 -0.000746182 0.00734209 -4.58989e+06 -0.00191799 -19.1799 0.421348
30 3559 -4.04985e+06 -0.00169256 -16.9256 0.432987 -0.0119215 -0.000994444 0.00289261 -4.04985e+06 -0.00169256 -16.9256 0.432987
60 3549 -2.53702e+06 -0.00106249 -10.6249 0.442942 -0.0254932 -2.89427e-05 0.00846075 -2.53702e+06 -0.00106249 -10.6249 0.442942
120 3538 2.10742e+06 0.000886382 8.86382 0.46043 0.0577938 -0.00481678 0.0205994 2.10742e+06 0.000886382 8.86382 0.46043
240 3517 -481595 -0.000203552 -2.03552 0.437589 0.0246054 -0.0033543 0.0016359 -481595 -0.000203552 -2.03552 0.437589

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 2318 -2.24759e+06 -0.00155596 -15.5596 0.330026 -0.00353985 -0.0014239 0.00240809 -2.24759e+06 -0.00155596 -15.5596 0.330026
10 2318 -2.62198e+06 -0.00181515 -18.1515 0.371872 0.00727441 -0.00160079 0.00469469 -2.62198e+06 -0.00181515 -18.1515 0.371872
20 2304 -2.49918e+06 -0.0017363 -17.363 0.420139 0.004427 -0.00171033 0.00103068 -2.49918e+06 -0.0017363 -17.363 0.420139
30 2303 -3.08967e+06 -0.00214666 -21.4666 0.416848 -0.00145834 -0.00189153 6.49444e-05 -3.08967e+06 -0.00214666 -21.4666 0.416848
60 2296 -3.01488e+06 -0.00210362 -21.0362 0.439024 -0.019876 -0.00128992 0.00814883 -3.01488e+06 -0.00210362 -21.0362 0.439024
120 2272 -3.56254e+06 -0.00251646 -25.1646 0.448944 0.0358139 -0.00186242 0.0113853 -3.56254e+06 -0.00251646 -25.1646 0.448944
240 2204 -1.14663e+06 -0.000838431 -8.38431 0.475953 0.0694936 -0.000199788 0.0184831 -1.14663e+06 -0.000838431 -8.38431 0.475953

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 265 0.0253095 253.095
09:20 96 1008 -0.00287354 -28.7354
09:40 166 2686 0.00129911 12.9911
10:00 144 3035 -0.00551666 -55.1666
10:20 259 3800 -0.00157179 -15.7179
10:40 165 1917 0.00197018 19.7018
11:00 254 3867 -0.000755296 -7.55296
11:20 106 2156 -0.000545388 -5.45388
11:40 192 3891 -0.00608744 -60.8744
12:00 112 1309 0.00956407 95.6407
12:20 134 1994 0.000726386 7.26386
12:40 113 2743 0.00656124 65.6124
13:00 157 2524 -0.00203181 -20.3181
13:20 174 2884 -0.0071247 -71.247
13:40 243 3873 -0.00926007 -92.6007
14:00 231 4435 0.00311608 31.1608
14:20 154 2211 -0.0120216 -120.216
14:40 67 1083 -0.00729325 -72.9325
15:00 52 527 0.00917119 91.7119
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.329%0.452%0.730.332%0.475%0.70
10:000.10020.08651.1581.126%1.925%0.580.192%0.455%0.42
11:000.10970.09801.1191.126%1.645%0.680.221%0.279%0.79
12:000.10850.10741.0110.705%0.833%0.850.247%0.234%1.06
13:000.10260.10740.9550.522%0.754%0.690.253%0.502%0.50
14:000.10370.10530.9840.606%1.108%0.550.361%0.729%0.49
15:000.09070.10300.8810.369%0.919%0.400.311%0.855%0.36

Notes:

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