KOSPI Backtest Dashboard

run_id: 20260403T113031Z_tf_baseline_score4_z2p6_rerun generated: 2026-04-03T11:33:34.134113+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 -10.548M
Return per Unit Volume -29.20bp
Beta (Dynamic) -8.137M
Alpha (Dynamic) -2.410M
Alpha Return per Unit Volume -6.67bp
Sharpe (Annualized) -2.4500
Alpha Sharpe (Annualized) -1.6813
Trades 5,415
Daily Trade Notional 144.466M
Trading Days 25
Total Fee 3.612M
Avg Position Notional 67.697M
ROI (Avg Position) -15.58%
ROI (Peak Position) -10.28%
Max Drawdown -19.791M
Model Win Rate (120m) 46.97%
Hedge Win Rate (120m) 44.64%

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.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 3074 -4.07852e+06 -0.00186621 -18.6621 0.363045 -0.00885641 -0.000917757 0.00611891 -4.07852e+06 -0.00186621 -18.6621 0.363045
10 3074 -3.86726e+06 -0.00176955 -17.6955 0.398178 -0.00617319 -0.000944734 0.00182061 -3.86726e+06 -0.00176955 -17.6955 0.398178
20 3074 -3.0006e+06 -0.00137299 -13.7299 0.440468 -0.0115282 -0.000287283 0.00392873 -3.0006e+06 -0.00137299 -13.7299 0.440468
30 3074 -2.73368e+06 -0.00125085 -12.5085 0.447951 -0.00634149 -0.000862059 0.000799762 -2.73368e+06 -0.00125085 -12.5085 0.447951
60 3074 -1.06862e+06 -0.000488968 -4.88968 0.450878 -0.0219164 0.000647344 0.00584173 -1.06862e+06 -0.000488968 -4.88968 0.450878
120 3074 2.05992e+06 0.000942563 9.42563 0.469746 0.0610756 -0.00436315 0.0207253 2.05992e+06 0.000942563 9.42563 0.469746
240 3072 -1.58769e+06 -0.000726775 -7.26775 0.454427 0.0336449 -0.00395659 0.00299943 -1.58769e+06 -0.000726775 -7.26775 0.454427

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 2341 -2.14686e+06 -0.0015053 -15.053 0.340453 -0.000420639 -0.00145561 3.33184e-05 -2.14686e+06 -0.0015053 -15.053 0.340453
10 2341 -2.49426e+06 -0.00174889 -17.4889 0.387868 0.00201772 -0.00180641 0.000399078 -2.49426e+06 -0.00174889 -17.4889 0.387868
20 2341 -2.2826e+06 -0.00160048 -16.0048 0.407518 -0.00610284 -0.00206317 0.00150155 -2.2826e+06 -0.00160048 -16.0048 0.407518
30 2341 -2.29607e+06 -0.00160993 -16.0993 0.399402 -0.00943215 -0.00189618 0.00276973 -2.29607e+06 -0.00160993 -16.0993 0.399402
60 2341 -3.09782e+06 -0.00217208 -21.7208 0.435284 -0.0286959 -0.00183993 0.0161637 -3.09782e+06 -0.00217208 -21.7208 0.435284
120 2341 -3.86628e+06 -0.0027109 -27.109 0.44639 0.0256032 -0.00287168 0.00497274 -3.86628e+06 -0.0027109 -27.109 0.44639
240 2320 -2.90624e+06 -0.00205846 -20.5846 0.468966 0.0551024 -0.00140894 0.0110255 -2.90624e+06 -0.00205846 -20.5846 0.468966

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 18 178 0.0273995 273.995
09:20 78 753 0.00545262 54.5262
09:40 123 2379 0.00159375 15.9375
10:00 142 3453 -0.00771128 -77.1128
10:20 210 2701 0.00072965 7.2965
10:40 158 2262 0.00190606 19.0606
11:00 227 3384 -0.0017824 -17.824
11:20 93 2088 -0.00141654 -14.1654
11:40 151 3337 -0.00523502 -52.3502
12:00 88 1311 0.00740607 74.0607
12:20 112 1364 -0.00313447 -31.3447
12:40 74 2665 0.00335044 33.5044
13:00 148 2586 0.00191556 19.1556
13:20 172 2837 -0.00883994 -88.3994
13:40 240 3533 -0.00302792 -30.2792
14:00 228 4237 0.00139156 13.9156
14:20 169 2623 -0.00629383 -62.9383
14:40 72 1096 -0.0130158 -130.158
15:00 47 436 0.0200282 200.282
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