KOSPI Backtest Dashboard

run_id: 20260322T114921Z_userreq_toss_tabm3seed_parquet_20260321_tossenriched_target350_z2p7
generated_at_utc: 2026-03-22T11:50:02.508043+00:00

Top KPI

trade_return_per_trade_bp = (total_pnl_final / total_trade_notional) * 10000
metric value
total_pnl_final 41.641M
total_trade_notional 17240.201M
daily_trade_notional 420.493M
total_fee 17.240M
mdd_pnl -6.092M
alpha_vs_dynamic_notional_beta_pnl_final 32.340M
alpha_vs_avg_hold_notional_beta_pnl_final 31.962M
dynamic_alpha_mdd_pnl -1.804M
avg_hold_alpha_mdd_pnl -2.301M
dynamic_alpha_sharpe_annualized 11.1354
avg_hold_alpha_sharpe_annualized 10.4571
time_avg_total_notional_position_usdt 86.890M
time_avg_high_mc_notional_position_usdt 0.000M
time_avg_low_mc_notional_position_usdt 86.890M
trade_return_per_trade_bp 24.15bp
roi_avg_notional_position_pct 47.92%
roi_peak_notional_position_pct 41.03%
num_trades 7,539
high_mc_trade_notional 0.000M
high_mc_sharpe_annualized
high_mc_trade_return_per_trade_bp
low_mc_trade_notional 17240.201M
low_mc_sharpe_annualized 12.4398
low_mc_trade_return_per_trade_bp 24.15bp
sharpe_annualized 12.4398

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.7
z_score_time_window 120

Core KPI

roi_avg_notional_position_pct = total_pnl_final / time_avg_abs_net_position_usdt * 100
roi_peak_notional_position_pct = total_pnl_final / peak_abs_net_position_usdt * 100
dynamic_notional_beta = cumsum(total_notional_position_usdt(t) * mean(close c2c return across all coins at t))
avg_hold_notional_beta = cumsum(avg_total_notional_position_usdt * mean(close c2c return across all coins at t))
high/low dynamic_notional_beta = cumsum(segment_notional_position_usdt(t) * mean(close c2c return in each segment at t))
high/low avg_hold_notional_beta = cumsum(avg_segment_notional_position_usdt * mean(close c2c return in each segment at t))
alpha_vs_dynamic = pnl - dynamic_notional_beta, alpha_vs_avg_hold = pnl - avg_hold_notional_beta
dynamic_alpha_mdd_pnl / avg_hold_alpha_mdd_pnl = min(alpha - cummax(alpha)) on each alpha series
dynamic_alpha_sharpe_annualized / avg_hold_alpha_sharpe_annualized = mean(Δalpha) / std(Δalpha) * sqrt(252 * 390)
mdd_pnl = min(total_pnl - cummax(total_pnl))
sharpe_annualized = mean(Δpnl) / std(Δpnl) * sqrt(252 * 390)
total_fee = sum(execution fee)
metric value
total_pnl_final 41.641M
total_pnl_peak 41.704M
dynamic_notional_beta_pnl_final 9.301M
alpha_vs_dynamic_notional_beta_pnl_final 32.340M
avg_hold_notional_beta_pnl_final 9.679M
alpha_vs_avg_hold_notional_beta_pnl_final 31.962M
high_mc_dynamic_notional_beta_pnl_final 0.000M
low_mc_dynamic_notional_beta_pnl_final 9.301M
high_mc_avg_hold_notional_beta_pnl_final 0.000M
low_mc_avg_hold_notional_beta_pnl_final 9.679M
high_mc_alpha_vs_dynamic_notional_beta_pnl_final 0.000M
low_mc_alpha_vs_dynamic_notional_beta_pnl_final 32.340M
high_mc_alpha_vs_avg_hold_notional_beta_pnl_final 0.000M
low_mc_alpha_vs_avg_hold_notional_beta_pnl_final 31.962M
dynamic_alpha_mdd_pnl -1.804M
dynamic_alpha_sharpe_annualized 11.1354
avg_hold_alpha_mdd_pnl -2.301M
avg_hold_alpha_sharpe_annualized 10.4571
num_trades 7,539
total_traded_amount_sum 1.24621e+07
total_trade_notional 17240.201M
daily_trade_notional 420.493M
trading_day_count 41
total_fee 17.240M
time_avg_total_notional_position_usdt 86.890M
time_avg_high_mc_notional_position_usdt 0.000M
time_avg_low_mc_notional_position_usdt 86.890M
time_avg_net_position_usdt 86.890M
time_avg_abs_net_position_usdt 86.890M
peak_abs_net_position_usdt 1.01478e+08
roi_avg_notional_position_pct 47.92%
roi_peak_notional_position_pct 41.03%
mdd_pnl -6.092M
sharpe_annualized 12.4398
high_mc_pnl_final 0.000M
high_mc_trade_notional 0.000M
high_mc_num_trades 0
high_mc_sharpe_annualized
high_mc_trade_return_per_trade_bp
low_mc_pnl_final 41.641M
low_mc_trade_notional 17240.201M
low_mc_num_trades 7,539
low_mc_sharpe_annualized 12.4398
low_mc_trade_return_per_trade_bp 24.15bp
model_zscore_pnl_final 5458.901M
hedge_zscore_pnl_final 907.656M
force_zscore_pnl_final 0.000M
funding_fee_pnl_final 0.000M
funding_event_count 0
model_win_rate_20m 63.41%
hedge_win_rate_20m 43.61%
force_win_rate_20m
model_win_rate_btc_adj_20m 63.41%
hedge_win_rate_btc_adj_20m 43.61%
force_win_rate_btc_adj_20m

MC Segment KPI

segment in [total, high, low] computed by the same metric function over coin subsets
trade_return_per_trade_bp = pnl_final / trade_notional * 10000
segment pnl_final trade_notional num_trades sharpe_annualized trade_return_per_trade_bp
total 4.16413e+07 1.72402e+10 7539 12.4398 24.1536
high 0 0 0
low 4.16413e+07 1.72402e+10 7539 12.4398 24.1536

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 = quality_pnl / sum(notional_usdt)
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 5213 1.70949e+07 0.00145424 14.5424 0.603108 0.000900861 0.000889819 0.000200934 1.70949e+07 0.00145424 14.5424 0.603108
10 5213 2.30099e+07 0.00195742 19.5742 0.634951 0.00332036 0.000219109 0.00214097 2.30099e+07 0.00195742 19.5742 0.634951
20 5206 2.57709e+07 0.00219553 21.9553 0.634076 0.00325511 0.000454634 0.0013307 2.57709e+07 0.00219553 21.9553 0.634076
30 5197 2.6888e+07 0.00229509 22.9509 0.628632 0.00138432 0.00142552 0.000172035 2.6888e+07 0.00229509 22.9509 0.628632
60 5193 2.93627e+07 0.00250843 25.0843 0.621028 -0.000244188 0.00250614 3.5258e-06 2.93627e+07 0.00250843 25.0843 0.621028
120 5183 4.68795e+07 0.00401343 40.1343 0.611036 -0.000849501 0.00427088 1.69507e-05 4.68795e+07 0.00401343 40.1343 0.611036
240 5159 4.63901e+07 0.00399205 39.9205 0.578794 -0.00193172 0.00481328 5.53957e-05 4.63901e+07 0.00399205 39.9205 0.578794

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 2326 -3.77136e+06 -0.000687578 -6.87578 0.371883 0.000585293 -0.00077115 0.000204623 -3.77136e+06 -0.000687578 -6.87578 0.371883
10 2326 -3.33706e+06 -0.000608399 -6.08399 0.413586 -8.00327e-05 -0.000585973 2.56656e-06 -3.33706e+06 -0.000608399 -6.08399 0.413586
20 2325 -5.40936e+06 -0.000986666 -9.86666 0.436129 0.00268789 -0.00141385 0.000998677 -5.40936e+06 -0.000986666 -9.86666 0.436129
30 2323 -5.06232e+06 -0.000924226 -9.24226 0.444684 0.00361635 -0.00151063 0.00152033 -5.06232e+06 -0.000924226 -9.24226 0.444684
60 2317 -7.22871e+06 -0.00132345 -13.2345 0.464825 0.000112297 -0.00130655 6.38177e-07 -7.22871e+06 -0.00132345 -13.2345 0.464825
120 2311 -5.91385e+06 -0.0010857 -10.857 0.47209 0.00714329 -0.00227244 0.00162863 -5.91385e+06 -0.0010857 -10.857 0.47209
240 2304 -3.75594e+06 -0.000691694 -6.91694 0.494358 0.00065619 -0.000865094 6.27641e-06 -3.75594e+06 -0.000691694 -6.91694 0.494358

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 = average of quality_120m for tag=model_buy in each 20-minute entry-time bucket
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 278 501606 0.00701532 70.1532
09:20 223 335989 0.00378248 37.8248
09:40 236 466078 0.000311975 3.11975
10:00 224 390027 0.00362449 36.2449
10:20 234 383872 0.00161792 16.1792
10:40 219 458685 0.00342773 34.2773
11:00 262 492764 0.00252291 25.2291
11:20 218 388582 0.00477559 47.7559
11:40 182 334652 0.00349832 34.9832
12:00 149 244184 0.004628 46.28
12:20 174 343208 0.00327604 32.7604
12:40 219 326639 0.0041587 41.587
13:00 208 347293 0.00341485 34.1485
13:20 291 357144 0.020967 209.67
13:40 236 326090 0.00584384 58.4384
14:00 197 210662 0.00170131 17.0131
14:20 139 107151 0.00367795 36.7795
14:40 101 68190 0.00611104 61.1104
15:00 127 174472 0.00499192 49.9192
15:20 0 0

Z-Score-Quality Scatter + Regression

Model Buy/Sell Scatter + Regression