KOSPI Backtest Dashboard

run_id: test_z2p5_window10 generated: 2026-03-23T07:18:46.490213+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/toss_ultimate_v2_parquet_20260322

Performance

Metric Value
Total PnL 47.103M
Return per Unit Volume 26.38bp
Beta (Dynamic) 6.617M
Alpha (Dynamic) 40.486M
Alpha Return per Unit Volume 22.67bp
Sharpe (Annualized) 13.5664
Alpha Sharpe (Annualized) 13.5516
Trades 7,641
Daily Trade Notional 435.504M
Trading Days 41
Total Fee 17.856M
Avg Position Notional 74.211M
ROI (Avg Position) 63.47%
ROI (Peak Position) 46.22%
Max Drawdown -7.216M
Model Win Rate (120m) 57.52%
Hedge Win Rate (120m) 50.73%

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.5
z_score_time_window 10

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 5982 1.67743e+07 0.00120776 12.0776 0.581411 0.00623131 -1.35225e-05 0.00208501 1.67743e+07 0.00120776 12.0776 0.581411
10 5982 2.33202e+07 0.00167907 16.7907 0.603477 0.0110521 -0.000522601 0.00508858 2.33202e+07 0.00167907 16.7907 0.603477
20 5972 2.45356e+07 0.00176977 17.6977 0.604823 0.0117158 -0.000512435 0.00359622 2.45356e+07 0.00176977 17.6977 0.604823
30 5967 2.58387e+07 0.00186545 18.6545 0.59762 0.0131417 -0.00068907 0.00372177 2.58387e+07 0.00186545 18.6545 0.59762
60 5948 2.84573e+07 0.00206155 20.6155 0.588769 0.0105706 -6.81045e-05 0.00145739 2.84573e+07 0.00206155 20.6155 0.588769
120 5904 4.12039e+07 0.003009 30.09 0.575203 0.0102233 0.00105609 0.000612734 4.12039e+07 0.003009 30.09 0.575203
240 5796 5.16581e+07 0.00384555 38.4555 0.559351 0.0160114 0.00085632 0.00080204 5.16581e+07 0.00384555 38.4555 0.559351

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 1659 -3.38119e+06 -0.000852358 -8.52358 0.366486 0.000881716 -0.000868754 8.21027e-05 -3.38119e+06 -0.000852358 -8.52358 0.366486
10 1659 -2.11883e+06 -0.000534133 -5.34133 0.427366 0.00637873 -0.000822167 0.00313604 -2.11883e+06 -0.000534133 -5.34133 0.427366
20 1659 -2.42944e+06 -0.000612433 -6.12433 0.460518 0.006095 -0.000893882 0.00108267 -2.42944e+06 -0.000612433 -6.12433 0.460518
30 1657 -2.36512e+06 -0.000596983 -5.96983 0.476765 0.00860963 -0.000956956 0.00145198 -2.36512e+06 -0.000596983 -5.96983 0.476765
60 1653 -3.55864e+06 -0.000900525 -9.00525 0.493648 -0.0104667 -0.000459153 0.000904759 -3.55864e+06 -0.000900525 -9.00525 0.493648
120 1636 -3.65652e+06 -0.00093396 -9.3396 0.507335 -0.0046046 -0.000789475 9.78009e-05 -3.65652e+06 -0.00093396 -9.3396 0.507335
240 1594 -3.10739e+06 -0.000812247 -8.12247 0.508783 -0.0243337 0.0001251 0.00127431 -3.10739e+06 -0.000812247 -8.12247 0.508783

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 236 395936 0.00817474 81.7474
09:20 357 569032 0.00236464 23.6464
09:40 331 615417 -0.000982875 -9.82875
10:00 283 509442 0.00294359 29.4359
10:20 236 330893 0.0011725 11.725
10:40 216 373902 0.00428195 42.8195
11:00 220 451655 0.00334879 33.4879
11:20 170 314881 0.00423883 42.3883
11:40 133 283547 0.00332482 33.2482
12:00 156 359339 0.0038604 38.604
12:20 160 311387 0.00512969 51.2969
12:40 195 440148 0.00256639 25.6639
13:00 235 325211 0.00393434 39.3434
13:20 317 590013 0.0167225 167.225
13:40 176 256928 0.00457515 45.7515
14:00 139 247351 0.00758327 75.8327
14:20 142 208565 0.00964427 96.4427
14:40 106 159810 0.00642419 64.2419
15:00 155 260731 0.00634808 63.4808
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.17040.16871.0100.643%2.133%0.300.287%1.468%0.20
10:000.15640.15391.0160.727%2.130%0.340.297%1.423%0.21
11:000.15780.15631.0090.670%1.946%0.340.308%1.261%0.24
12:000.16170.15841.0210.679%1.793%0.380.431%1.175%0.37
13:000.16590.16261.0210.788%1.517%0.520.415%0.837%0.50
14:000.17050.16951.0060.752%0.880%0.850.421%0.422%1.00
15:000.16930.16641.0170.727%1.155%0.630.322%0.583%0.55

Notes:

z_score_threshold = 2.500, z_score_time_window = 10 bars, coins = 837

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