KOSPI Backtest Dashboard

run_id: 20260321T111418Z_userreq_toss_ens5_2seed_105_d7_a101_tossenriched_target350_z3p266
generated_at_utc: 2026-03-21T11:20:38.168320+00:00

Top KPI

trade_return_per_trade_bp = (total_pnl_final / total_trade_notional) * 10000
metric value
total_pnl_final 36.116M
total_trade_notional 14323.302M
daily_trade_notional 349.349M
total_fee 14.323M
mdd_pnl -5.611M
alpha_vs_dynamic_notional_beta_pnl_final 28.805M
alpha_vs_avg_hold_notional_beta_pnl_final 28.779M
dynamic_alpha_mdd_pnl -2.152M
avg_hold_alpha_mdd_pnl -2.116M
dynamic_alpha_sharpe_annualized 10.6972
avg_hold_alpha_sharpe_annualized 10.5279
time_avg_total_notional_position_usdt 65.865M
time_avg_high_mc_notional_position_usdt 0.000M
time_avg_low_mc_notional_position_usdt 65.865M
trade_return_per_trade_bp 25.21bp
roi_avg_notional_position_pct 54.83%
roi_peak_notional_position_pct 35.83%
num_trades 5,976
high_mc_trade_notional 0.000M
high_mc_sharpe_annualized
high_mc_trade_return_per_trade_bp
low_mc_trade_notional 14323.302M
low_mc_sharpe_annualized 11.9418
low_mc_trade_return_per_trade_bp 25.21bp
sharpe_annualized 11.9418

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.266
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 36.116M
total_pnl_peak 36.245M
dynamic_notional_beta_pnl_final 7.311M
alpha_vs_dynamic_notional_beta_pnl_final 28.805M
avg_hold_notional_beta_pnl_final 7.337M
alpha_vs_avg_hold_notional_beta_pnl_final 28.779M
high_mc_dynamic_notional_beta_pnl_final 0.000M
low_mc_dynamic_notional_beta_pnl_final 7.311M
high_mc_avg_hold_notional_beta_pnl_final 0.000M
low_mc_avg_hold_notional_beta_pnl_final 7.337M
high_mc_alpha_vs_dynamic_notional_beta_pnl_final 0.000M
low_mc_alpha_vs_dynamic_notional_beta_pnl_final 28.805M
high_mc_alpha_vs_avg_hold_notional_beta_pnl_final 0.000M
low_mc_alpha_vs_avg_hold_notional_beta_pnl_final 28.779M
dynamic_alpha_mdd_pnl -2.152M
dynamic_alpha_sharpe_annualized 10.6972
avg_hold_alpha_mdd_pnl -2.116M
avg_hold_alpha_sharpe_annualized 10.5279
num_trades 5,976
total_traded_amount_sum 2.35264e+07
total_trade_notional 14323.302M
daily_trade_notional 349.349M
trading_day_count 41
total_fee 14.323M
time_avg_total_notional_position_usdt 65.865M
time_avg_high_mc_notional_position_usdt 0.000M
time_avg_low_mc_notional_position_usdt 65.865M
time_avg_net_position_usdt 65.865M
time_avg_abs_net_position_usdt 65.865M
peak_abs_net_position_usdt 1.00794e+08
roi_avg_notional_position_pct 54.83%
roi_peak_notional_position_pct 35.83%
mdd_pnl -5.611M
sharpe_annualized 11.9418
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 36.116M
low_mc_trade_notional 14323.302M
low_mc_num_trades 5,976
low_mc_sharpe_annualized 11.9418
low_mc_trade_return_per_trade_bp 25.21bp
model_zscore_pnl_final 4657.400M
hedge_zscore_pnl_final 499.855M
force_zscore_pnl_final 0.000M
funding_fee_pnl_final 0.000M
funding_event_count 0
model_win_rate_20m 61.31%
hedge_win_rate_20m 44.39%
force_win_rate_20m
model_win_rate_btc_adj_20m 61.31%
hedge_win_rate_btc_adj_20m 44.39%
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 3.61157e+07 1.43233e+10 5976 11.9418 25.2146
high 0 0 0
low 3.61157e+07 1.43233e+10 5976 11.9418 25.2146

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 4308 1.88755e+07 0.00184344 18.4344 0.582637 0.000191959 0.00161356 4.24817e-06 1.88755e+07 0.00184344 18.4344 0.582637
10 4308 2.31843e+07 0.00226425 22.6425 0.60376 0.00395556 0.000301051 0.00139854 2.31843e+07 0.00226425 22.6425 0.60376
20 4306 2.53294e+07 0.00247493 24.7493 0.613098 0.00237871 0.00118415 0.000319387 2.53294e+07 0.00247493 24.7493 0.613098
30 4305 2.99754e+07 0.0029296 29.296 0.619048 0.001417 0.00208559 8.65717e-05 2.99754e+07 0.0029296 29.296 0.619048
60 4304 3.4804e+07 0.00340235 34.0235 0.601069 0.00269356 0.00197625 0.000218891 3.4804e+07 0.00340235 34.0235 0.601069
120 4303 3.76168e+07 0.00367822 36.7822 0.583779 -0.00623344 0.00632337 0.000696334 3.76168e+07 0.00367822 36.7822 0.583779
240 4296 3.99823e+07 0.0039162 39.162 0.574953 -0.00542735 0.00618871 0.00030659 3.99823e+07 0.0039162 39.162 0.574953

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 1668 -3.17212e+06 -0.000776717 -7.76717 0.353717 0.00362592 -0.001211 0.00542385 -3.17212e+06 -0.000776717 -7.76717 0.353717
10 1668 -3.52901e+06 -0.000864104 -8.64104 0.402278 0.00174799 -0.00105349 0.000565544 -3.52901e+06 -0.000864104 -8.64104 0.402278
20 1667 -4.69553e+06 -0.00115045 -11.5045 0.443911 0.000306767 -0.00119274 8.02613e-06 -4.69553e+06 -0.00115045 -11.5045 0.443911
30 1665 -5.12087e+06 -0.00125621 -12.5621 0.434835 0.00281346 -0.00155978 0.000549597 -5.12087e+06 -0.00125621 -12.5621 0.434835
60 1661 -7.22329e+06 -0.00177641 -17.7641 0.444913 0.00608065 -0.00250732 0.00122459 -7.22329e+06 -0.00177641 -17.7641 0.444913
120 1656 -3.33582e+06 -0.000822909 -8.22909 0.490338 0.00399712 -0.00130659 0.000275729 -3.33582e+06 -0.000822909 -8.22909 0.490338
240 1655 -360425 -8.897e-05 -0.8897 0.512991 -0.00114331 8.38185e-05 1.05256e-05 -360425 -8.897e-05 -0.8897 0.512991

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 302 373800 0.00533645 53.3645
09:20 291 476579 0.00383628 38.3628
09:40 279 719358 0.000381411 3.81411
10:00 240 805644 0.00385103 38.5103
10:20 222 762621 0.00286381 28.6381
10:40 161 623922 0.0042689 42.689
11:00 188 722886 0.0014869 14.869
11:20 158 746452 0.00446622 44.6622
11:40 119 617770 0.00449447 44.9447
12:00 138 796800 0.00575414 57.5414
12:20 110 729005 0.00383605 38.3605
12:40 139 837079 0.00348393 34.8393
13:00 147 756048 0.00365678 36.5678
13:20 139 653028 0.0135196 135.196
13:40 110 482483 0.00115906 11.5906
14:00 86 451435 0.00196244 19.6244
14:20 81 452154 0.00191066 19.1066
14:40 69 373025 0.0107405 107.405
15:00 82 389439 0.0113611 113.611
15:20 0 0

Z-Score-Quality Scatter + Regression

Model Buy/Sell Scatter + Regression