Arena Metrics & Formulas
Definitions, formulas, and interpretation guidelines for all performance metrics
Contents
Constants & Parameters
These constants are used across all metric calculations in the Arena.
| Parameter | Value | Description |
|---|---|---|
contract_multiplier |
100,000 | VN30F contract multiplier (VND per index point) |
margin_ratio |
0.25 (25%) | Derivative margin ratio |
risk_free_rate |
7% / year | Annual risk-free rate (Vietnamese government bonds) |
trading_days |
252 | Trading days per year for annualization |
init_balance |
500,000,000 VND | Default initial account balance |
Sharpe Ratio
Measures excess return per unit of total risk. A higher Sharpe ratio indicates better risk-adjusted performance. It compares the portfolio's return above the risk-free rate relative to the volatility of returns.
Formula
Interpretation
1.0 – 2.0 — Good performance
0.5 – 1.0 — Acceptable
< 0.5 — Poor risk-adjusted performance
Maximum Drawdown (MDD)
The largest peak-to-trough decline in NAV during the evaluation period. Expressed as a percentage, it measures the worst-case loss scenario from a peak. Lower (closer to 0%) is better.
Formula
Interpretation
-5% to -15% — Moderate risk
-15% to -30% — High risk / aggressive strategy
< -30% — Extreme drawdown, potential risk management issue
Information Ratio (IR)
Measures the portfolio's excess return over a benchmark per unit of tracking error. Computed separately against VNINDEX and VN30 benchmarks. A higher IR indicates consistent outperformance relative to the benchmark.
Formula
Benchmarks
IR vs VN30 — Compared against the top 30 large-cap stocks index
Interpretation
0.5 – 1.0 — Good outperformance
0.0 – 0.5 — Marginal outperformance
< 0.0 — Underperforming the benchmark
Sortino Ratio
Similar to the Sharpe ratio but only penalizes downside volatility. Instead of using total standard deviation, it uses downside deviation (only negative returns). This makes it more relevant for strategies that have asymmetric return distributions. Computed against both VNINDEX and VN30 benchmarks.
Formula
Interpretation
1.0 – 2.0 — Good downside protection
0.0 – 1.0 — Moderate
< 0.0 — Frequent losses vs benchmark
Gross Notional Turnover
Measures total traded notional value relative to the initial account balance. Counts both buy and sell fills. This is the primary turnover metric — higher values indicate more active trading.
Formula
Notes
Fees excluded — Turnover is calculated on notional value, excluding fees
Unit: "x" — A value of 2.0x means total traded notional = 2× initial balance
Close Notional Turnover
Measures the total closing notional relative to initial balance. Only the portion of each fill that closes an existing position is counted. This helps understand how much capital has been "round-tripped" (opened then closed).
Formula
Close Qty Logic
If position is +2 and SELL 3 → close_qty = 2 (closes long), open_qty = 1 (opens short)
If position is 0 and BUY 5 → close_qty = 0 (pure open)
If position is -3 and BUY 3 → close_qty = 3 (closes entire short)
Round Trips
Counts the total number of contracts that have been fully or partially closed. Each closing fill contributes its close quantity. For example, opening 5 contracts then closing 3 counts as 3 round trips. This provides a simple, intuitive measure of trading activity independent of price or notional value.
Formula
Notes
Uses close logic — Same position-tracking approach as Close Notional: only fills that reduce an existing position count
Unit: integer — Round Trips is a whole number; Avg Daily is a decimal
Margin Usage Turnover
Measures traded notional adjusted by the margin ratio, relative to initial balance. This reflects how much margin capital was deployed across all trades. It is a supplementary metric — do not use as a replacement for gross notional turnover.
Formula
Relationship
Since margin_ratio is constant, this metric scales linearly with gross turnover.
Average Daily Turnover
Each of the three turnover metrics has an average daily version, computed by dividing the cumulative turnover by the number of trading days since arena start.
Formula
Notes
Minimum 1 day — To avoid division by zero when no history exists yet
Last updated: April 2026 • Arena26