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 |
14.156M |
| total_pnl_peak |
17.890M |
| dynamic_notional_beta_pnl_final |
12.260M |
| alpha_vs_dynamic_notional_beta_pnl_final |
1.895M |
| avg_hold_notional_beta_pnl_final |
5.525M |
| alpha_vs_avg_hold_notional_beta_pnl_final |
8.630M |
| high_mc_dynamic_notional_beta_pnl_final |
0.000M |
| low_mc_dynamic_notional_beta_pnl_final |
12.260M |
| high_mc_avg_hold_notional_beta_pnl_final |
0.000M |
| low_mc_avg_hold_notional_beta_pnl_final |
5.525M |
| high_mc_alpha_vs_dynamic_notional_beta_pnl_final |
0.000M |
| low_mc_alpha_vs_dynamic_notional_beta_pnl_final |
1.895M |
| high_mc_alpha_vs_avg_hold_notional_beta_pnl_final |
0.000M |
| low_mc_alpha_vs_avg_hold_notional_beta_pnl_final |
8.630M |
| dynamic_alpha_mdd_pnl |
-4.915M |
| dynamic_alpha_sharpe_annualized |
1.83621 |
| avg_hold_alpha_mdd_pnl |
-4.991M |
| avg_hold_alpha_sharpe_annualized |
6.52183 |
| num_trades |
1,837 |
| total_traded_amount_sum |
121303 |
| total_trade_notional |
4334.020M |
| daily_trade_notional |
173.361M |
| trading_day_count |
25 |
| total_fee |
4.334M |
| time_avg_total_notional_position_usdt |
58.959M |
| time_avg_high_mc_notional_position_usdt |
0.000M |
| time_avg_low_mc_notional_position_usdt |
58.959M |
| time_avg_net_position_usdt |
58.959M |
| time_avg_abs_net_position_usdt |
58.959M |
| peak_abs_net_position_usdt |
1.01666e+08 |
| roi_avg_notional_position_pct |
24.01% |
| roi_peak_notional_position_pct |
13.92% |
| mdd_pnl |
-14.511M |
| sharpe_annualized |
4.98264 |
| 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 |
14.156M |
| low_mc_trade_notional |
4334.020M |
| low_mc_num_trades |
1,837 |
| low_mc_sharpe_annualized |
4.98264 |
| low_mc_trade_return_per_trade_bp |
32.66bp |
| model_zscore_pnl_final |
158.040M |
| hedge_zscore_pnl_final |
7.994M |
| force_zscore_pnl_final |
0.000M |
| funding_fee_pnl_final |
0.000M |
| funding_event_count |
0 |
| model_win_rate_20m |
55.54% |
| hedge_win_rate_20m |
47.34% |
| force_win_rate_20m |
|
| model_win_rate_btc_adj_20m |
55.54% |
| hedge_win_rate_btc_adj_20m |
47.34% |
| 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 |
1.41555e+07 |
4.33402e+09 |
1837 |
4.98264 |
32.6614 |
| high |
0 |
0 |
0 |
|
|
| low |
1.41555e+07 |
4.33402e+09 |
1837 |
4.98264 |
32.6614 |
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 |
1197 |
1.98952e+06 |
0.000714081 |
7.14081 |
0.560568 |
0.0174724 |
-0.000430602 |
0.00378276 |
1.98952e+06 |
0.000714081 |
7.14081 |
0.560568 |
| 10 |
1195 |
2.96088e+06 |
0.00106466 |
10.6466 |
0.56569 |
0.00235669 |
0.000701154 |
4.58916e-05 |
2.96088e+06 |
0.00106466 |
10.6466 |
0.56569 |
| 20 |
1192 |
5.28771e+06 |
0.0019062 |
19.062 |
0.555369 |
0.0119747 |
0.000853593 |
0.000538127 |
5.28771e+06 |
0.0019062 |
19.062 |
0.555369 |
| 30 |
1190 |
4.08624e+06 |
0.00147559 |
14.7559 |
0.537815 |
0.025825 |
-0.000389331 |
0.00161811 |
4.08624e+06 |
0.00147559 |
14.7559 |
0.537815 |
| 60 |
1158 |
1.06582e+07 |
0.00395714 |
39.5714 |
0.541451 |
0.0362954 |
0.00154703 |
0.00140275 |
1.06582e+07 |
0.00395714 |
39.5714 |
0.541451 |
| 120 |
1155 |
1.49416e+07 |
0.00556272 |
55.6272 |
0.522078 |
0.0141157 |
0.00402523 |
0.000104601 |
1.49416e+07 |
0.00556272 |
55.6272 |
0.522078 |
| 240 |
1117 |
1.76104e+07 |
0.00678959 |
67.8959 |
0.533572 |
0.0321504 |
0.00484148 |
0.000322114 |
1.76104e+07 |
0.00678959 |
67.8959 |
0.533572 |
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 |
14 |
523 |
-0.00419554 |
-41.9554 |
| 09:20 |
17 |
746 |
0.0116196 |
116.196 |
| 09:40 |
25 |
1840 |
0.0106627 |
106.627 |
| 10:00 |
15 |
474 |
-0.0226973 |
-226.973 |
| 10:20 |
16 |
1753 |
0.00578121 |
57.8121 |
| 10:40 |
19 |
1408 |
-0.0021737 |
-21.737 |
| 11:00 |
28 |
1115 |
0.00219333 |
21.9333 |
| 11:20 |
34 |
988 |
-0.000175568 |
-1.75568 |
| 11:40 |
54 |
2798 |
0.00710614 |
71.0614 |
| 12:00 |
38 |
1923 |
-0.00891887 |
-89.1887 |
| 12:20 |
32 |
1676 |
0.00215565 |
21.5565 |
| 12:40 |
41 |
2454 |
0.00112092 |
11.2092 |
| 13:00 |
44 |
2250 |
-0.0109112 |
-109.112 |
| 13:20 |
172 |
11102 |
0.00856648 |
85.6648 |
| 13:40 |
147 |
10150 |
0.00825535 |
82.5535 |
| 14:00 |
117 |
9054 |
0.011314 |
113.14 |
| 14:20 |
73 |
4629 |
0.00928649 |
92.8649 |
| 14:40 |
37 |
4192 |
0.0259254 |
259.254 |
| 15:00 |
34 |
2964 |
0.0267224 |
267.224 |
| 15:20 |
0 |
0 |
|
|