KOSPI Backtest Dashboard

run_id: 20260321T111546Z_userreq_toss_ens3_105_enh_d7_20260320_tossenriched_target350_z3p00
generated_at_utc: 2026-03-21T11:20:52.018836+00:00

Top KPI

trade_return_per_trade_bp = (total_pnl_final / total_trade_notional) * 10000
metric value
total_pnl_final 46.880M
total_trade_notional 17328.361M
daily_trade_notional 422.643M
total_fee 17.328M
mdd_pnl -10.898M
alpha_vs_dynamic_notional_beta_pnl_final 36.578M
alpha_vs_avg_hold_notional_beta_pnl_final 36.927M
dynamic_alpha_mdd_pnl -1.458M
avg_hold_alpha_mdd_pnl -1.403M
dynamic_alpha_sharpe_annualized 12.36
avg_hold_alpha_sharpe_annualized 12.1839
time_avg_total_notional_position_usdt 89.351M
time_avg_high_mc_notional_position_usdt 0.000M
time_avg_low_mc_notional_position_usdt 89.351M
trade_return_per_trade_bp 27.05bp
roi_avg_notional_position_pct 52.47%
roi_peak_notional_position_pct 45.91%
num_trades 8,147
high_mc_trade_notional 0.000M
high_mc_sharpe_annualized
high_mc_trade_return_per_trade_bp
low_mc_trade_notional 17328.361M
low_mc_sharpe_annualized 12.2008
low_mc_trade_return_per_trade_bp 27.05bp
sharpe_annualized 12.2008

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 3
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 46.880M
total_pnl_peak 47.714M
dynamic_notional_beta_pnl_final 10.302M
alpha_vs_dynamic_notional_beta_pnl_final 36.578M
avg_hold_notional_beta_pnl_final 9.953M
alpha_vs_avg_hold_notional_beta_pnl_final 36.927M
high_mc_dynamic_notional_beta_pnl_final 0.000M
low_mc_dynamic_notional_beta_pnl_final 10.302M
high_mc_avg_hold_notional_beta_pnl_final 0.000M
low_mc_avg_hold_notional_beta_pnl_final 9.953M
high_mc_alpha_vs_dynamic_notional_beta_pnl_final 0.000M
low_mc_alpha_vs_dynamic_notional_beta_pnl_final 36.578M
high_mc_alpha_vs_avg_hold_notional_beta_pnl_final 0.000M
low_mc_alpha_vs_avg_hold_notional_beta_pnl_final 36.927M
dynamic_alpha_mdd_pnl -1.458M
dynamic_alpha_sharpe_annualized 12.36
avg_hold_alpha_mdd_pnl -1.403M
avg_hold_alpha_sharpe_annualized 12.1839
num_trades 8,147
total_traded_amount_sum 2.07162e+07
total_trade_notional 17328.361M
daily_trade_notional 422.643M
trading_day_count 41
total_fee 17.328M
time_avg_total_notional_position_usdt 89.351M
time_avg_high_mc_notional_position_usdt 0.000M
time_avg_low_mc_notional_position_usdt 89.351M
time_avg_net_position_usdt 89.351M
time_avg_abs_net_position_usdt 89.351M
peak_abs_net_position_usdt 1.02123e+08
roi_avg_notional_position_pct 52.47%
roi_peak_notional_position_pct 45.91%
mdd_pnl -10.898M
sharpe_annualized 12.2008
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 46.880M
low_mc_trade_notional 17328.361M
low_mc_num_trades 8,147
low_mc_sharpe_annualized 12.2008
low_mc_trade_return_per_trade_bp 27.05bp
model_zscore_pnl_final 5371.856M
hedge_zscore_pnl_final 542.433M
force_zscore_pnl_final 0.000M
funding_fee_pnl_final 0.000M
funding_event_count 0
model_win_rate_20m 58.39%
hedge_win_rate_20m 43.82%
force_win_rate_20m
model_win_rate_btc_adj_20m 58.39%
hedge_win_rate_btc_adj_20m 43.82%
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.688e+07 1.73284e+10 8147 12.2008 27.0539
high 0 0 0
low 4.688e+07 1.73284e+10 8147 12.2008 27.0539

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 6086 1.69317e+07 0.00133493 13.3493 0.574269 0.00247508 0.000162394 0.000914463 1.69317e+07 0.00133493 13.3493 0.574269
10 6086 2.17548e+07 0.00171519 17.1519 0.586264 0.00507119 -0.000639313 0.00272019 2.17548e+07 0.00171519 17.1519 0.586264
20 6070 2.22784e+07 0.00176205 17.6205 0.583855 0.00583844 -0.000863675 0.00219902 2.22784e+07 0.00176205 17.6205 0.583855
30 6057 2.77384e+07 0.00219954 21.9954 0.596335 0.00662523 -0.000726179 0.00217854 2.77384e+07 0.00219954 21.9954 0.596335
60 6036 3.5838e+07 0.00285363 28.5363 0.585156 0.0084724 -0.000860616 0.00229773 3.5838e+07 0.00285363 28.5363 0.585156
120 6014 4.34621e+07 0.00347572 34.7572 0.580811 0.00373894 0.00187733 0.000233381 4.34621e+07 0.00347572 34.7572 0.580811
240 5916 4.87833e+07 0.00397379 39.7379 0.554598 -0.00203513 0.00466862 3.97558e-05 4.87833e+07 0.00397379 39.7379 0.554598

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 2061 -3.78087e+06 -0.000814004 -8.14004 0.381853 0.0032505 -0.00120189 0.0032585 -3.78087e+06 -0.000814004 -8.14004 0.381853
10 2061 -4.12816e+06 -0.000888775 -8.88775 0.414847 0.000955538 -0.000994584 0.000221916 -4.12816e+06 -0.000888775 -8.88775 0.414847
20 2056 -4.63095e+06 -0.000999405 -9.99405 0.43823 0.00292127 -0.00133813 0.00127875 -4.63095e+06 -0.000999405 -9.99405 0.43823
30 2051 -3.49626e+06 -0.00075624 -7.5624 0.438323 0.00274781 -0.00110688 0.000646728 -3.49626e+06 -0.00075624 -7.5624 0.438323
60 2042 -4.09883e+06 -0.000890959 -8.90959 0.476494 0.00152246 -0.00106693 7.54267e-05 -4.09883e+06 -0.000890959 -8.90959 0.476494
120 2007 -2.32967e+06 -0.000515581 -5.15581 0.498256 -0.00170401 -0.000172598 5.12339e-05 -2.32967e+06 -0.000515581 -5.15581 0.498256
240 1962 -8.22862e+06 -0.00185762 -18.5762 0.490826 -0.0104083 -0.000504942 0.000869742 -8.22862e+06 -0.00185762 -18.5762 0.490826

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 535 508559 0.00700161 70.0161
09:20 338 436130 0.00549799 54.9799
09:40 234 319667 -0.00172437 -17.2437
10:00 212 435575 0.00555212 55.5212
10:20 156 286069 0.005479 54.79
10:40 161 347012 0.00443521 44.3521
11:00 352 812824 0.000925761 9.25761
11:20 322 896224 0.00362031 36.2031
11:40 251 631918 0.00374751 37.4751
12:00 216 846930 0.00469249 46.9249
12:20 191 656704 0.00545003 54.5003
12:40 227 747915 0.00339019 33.9019
13:00 218 771915 0.0038079 38.079
13:20 193 552617 0.00623409 62.3409
13:40 111 348288 0.00628701 62.8701
14:00 134 328891 0.00656671 65.6671
14:20 158 453901 0.00451466 45.1466
14:40 138 394105 0.0104549 104.549
15:00 207 603388 0.00827644 82.7644
15:20 0 0

Z-Score-Quality Scatter + Regression

Model Buy/Sell Scatter + Regression