Opens in 7h 51mChecking…

Metrics

How these numbers are defined

Plain definitions and the exact formulas CoveredLoop uses. Figures follow the accounts and time window you select in the app. This page is not a forecast and not investment advice.

What counts as one trade

A trade is one finished structure by default — a covered call, wheel, or a full credit spread such as an iron condor — not each option leg.

Formula

Structures (Metrics default): one row when the covered call, wheel, or credit spread is fully closed.
Lots (Metrics toggle only): one row per closed call, put, or stock lot, including each roll.

Inputs

  • Structure: every leg and roll inside that campaign, plus stock P&L, dividends, and trading costs on a covered call or wheel, summed into one realized P&L.
  • Iron condor or iron butterfly: one structure, not four legs.
  • A roll while the structure is still open is not a new trade in Structures mode.
  • Dividends are inside the structure. They are not their own trade.
  • Profit and Loss, the calendar, distribution, and Trade History stay on the collapsed book (one structure row). Only the Metrics page, and the metrics email, can switch to Lots.

Commissions and fees

Per-trade commissions and fees are taken out of that trade’s realized P&L; margin interest, the platform subscription, and other non-trade fees are not.

Formula

Manual lot: realized P&L = price P&L − fees entered on the ticket.
Covered call / wheel structure: total P&L = stock P&L + net premiums + dividends − trading costs on that structure.
Tradier fill (ids containing -fill- or -hist-): realized P&L = broker gain/loss − commissions matched to that symbol.

Inputs

  • Trade commissions and regulatory fees that are attached to the lot or structure.
  • Not subtracted from each trade: margin interest, subscription, and other cash fees. Those sit on the fee ledger and in the account balance, so they move equity-curve stats (Sharpe, drawdown, Calmar, and the rest) but not win rate or profit factor.
  • Premium yield uses net premiums only. It does not subtract trading costs. Net investment and structure total P&L do.

Win rate

Win rate is the share of closed trades that finished with a profit, and a break-even trade counts in the denominator but not as a win.

Formula

Win rate = (trades with realized P&L > 0) / (all closed trades) × 100

Inputs

  • Win: realized P&L greater than $0.
  • Loss: realized P&L less than $0.
  • Break-even: realized P&L exactly $0. It is not a win and not a loss, but it is still a closed trade, so it lowers the win rate.
  • Wins per loss ignores break-even trades. Win rate does not.
  • Dividends are not trades.
  • The Winners / losers tile uses this same rule.

Blank only when there are no closed trades. The rate itself is on the trend chart and inside the Winners / losers popup, not as its own card.

Wins per loss

Wins per loss is how many winning closes you have for each losing close, ignoring how large those trades were and ignoring break-evens.

Formula

Wins per loss = (count of realized P&L > 0) / (count of realized P&L < 0)

Inputs

  • Numerator: winning closed trades.
  • Denominator: losing closed trades.
  • Break-even trades (P&L = $0) are in neither count.

Blank when there are no losing trades, including a book that is all winners. The card does not show infinity.

Avg win ÷ avg loss

This is the typical winning trade’s dollar profit divided by the typical losing trade’s dollar loss, not a count of wins.

Formula

Avg win ÷ avg loss = mean(realized P&L of winners) / |mean(realized P&L of losers)|

Inputs

  • Winners only in the numerator (P&L > 0). Break-evens are left out.
  • Losers only in the denominator (P&L < 0), as a positive dollar amount.

Blank when there are no losing trades or the average loss is $0.

Average trade P&L

Average trade P&L is the mean dollar profit or loss of every closed trade in the window, including break-evens.

Formula

Average trade P&L = mean(realized P&L of closed trades)

Inputs

  • Every closed trade with a realized P&L, including $0.
  • Dividends excluded.
  • Commissions already netted inside each trade’s realized P&L, as described under Commissions and fees.

Average P&L %

Average P&L % is the mean of each closed trade’s profit or loss as a percent of that trade’s opening notional, not of max risk.

Formula

For each trade: P&L % = realized P&L / |open price × quantity × multiplier| × 100
Average P&L % = mean of those percents
Average winning (losing) P&L % = the same mean, winners (losers) only

Inputs

  • Multiplier is the contract multiplier on the lot (100 for options when it is not set). A covered-call or wheel structure row uses multiplier 1 and quantity 1, and open price is the capital base (stock cost, or put collateral if there is no stock).
  • A credit-spread structure row uses multiplier 100 and open price = credit per share, so the denominator is the net credit, not max risk.
  • A single option lot uses the opening premium (debit paid or credit received).
  • A stock lot uses |open price × shares|, the cost of that lot.
  • Trades with no positive denominator are skipped.
  • Break-even trades contribute 0% and are included in the all-trades average. They are excluded from the winning-only and losing-only averages.

This is not return on capital. On a credit spread, return on capital divides by max risk. Average P&L % divides by the credit.

Expectancy ($ and R)

Dollar expectancy is the average dollars you would expect per closed trade; expectancy in R is that same idea in units of risk, and only the dollar figure is shown.

Formula

Expectancy $ = (wins / N) × average win $ + (losses / N) × average loss $
where N = all closed trades, average loss $ is negative, and break-evens add nothing but still increase N.

Expectancy in R is not a Metrics card. One trade’s R = realized P&L / 1R. Expectancy in R would be the mean of those R values.

Inputs

  • 1R for a credit spread, iron condor, or iron butterfly: max risk = (widest wing width × $100 × contracts) − net credit, and not below $0. Same max risk as the credit-spread card.
  • 1R for stock, a covered call, or a wheel that holds shares: cost basis (shares × average cost). There is no planned-stop field, so a stop is not used.
  • 1R for a cash-secured put with no shares: strike × $100 × contracts (cash collateral).
  • 1R for a single option lot: |open price × contracts × multiplier|, the premium debit or credit. That is not the max loss of a naked short.
  • Dollar expectancy uses the same wins, losses, and N as win rate. It equals average trade P&L.

The Metrics card is expectancy in dollars. It is blank when there are no closed trades.

Profit factor

Profit factor is total dollars won on winning trades divided by total dollars lost on losing trades.

Formula

Profit factor = gross profit / |gross loss|

Inputs

  • Gross profit = sum of realized P&L where P&L > 0.
  • Gross loss = sum of realized P&L where P&L < 0.
  • Break-even trades add $0 to both sides.
  • Commissions are already inside each trade’s realized P&L.

Blank when there are no losing dollars, even if every trade won. The card does not show infinity.

Kelly

CoveredLoop does not calculate a Kelly fraction and does not size trades with one, so there is no full, half, or continuous Kelly variant on the Metrics page.

Formula

Not computed.
The classic binary (full) Kelly that uses the same closed-trade inputs would be f* = p − (1 − p) / b,
where p = wins / (wins + losses) and b = avg win $ / |avg loss $|.
Break-evens are left out of p. That is not half-Kelly and not the continuous-growth formula, and the app does not apply it.

Inputs

  • Would-be p: win count and loss count, break-evens excluded (not the win-rate denominator).
  • Would-be b: avg win ÷ avg loss, as defined above.
  • No fraction of Kelly (half, quarter) is stored or displayed.

System Quality Number (SQN)

SQN is Van Tharp’s score on the dollar results of closed trades — square root of the sample size, times average P&L, divided by the standard deviation of those P&Ls — with no cap on N.

Formula

SQN = √N × mean(P&L) / s
s = √( Σ (P&L − mean)² / (N − 1) )   (sample standard deviation)

Inputs

  • The series is dollar realized P&L, not R-multiples. Van Tharp’s textbook form uses R; this card uses dollars because 1R is not stored on every trade.
  • N = all closed trades in the window, including break-evens ($0) and excluding dividends.
  • No N cap. A 400-trade book is not scaled back to 100. The written comparison to a typical trader mentions a 100-trade equivalent (SQN × √(100 / N)); the card shows the raw SQN.
  • Needs at least two closed trades and a standard deviation above zero.

Sharpe ratio

Sharpe is the average simple change in account balance divided by how bumpy those changes are, annualized as if each step were one trading day, with a risk-free rate of zero.

Formula

r_t = (equity_t − equity_t−1) / equity_t−1    when equity_t−1 > 0
Sharpe = (mean(r) / s(r)) × √252
s(r) = sample standard deviation of r (divide by n − 1)

Inputs

  • Equity is the account-balance curve (NAV) for the accounts and Metrics time window you selected. It is not the cash-stripped TWR line.
  • Frequency: one return per consecutive balance point. That is usually one point per day. Extra same-day points are still treated as daily steps and still multiplied by √252.
  • Risk-free rate: 0. Nothing is subtracted for T-bills.
  • Annualization: √252.
  • Deposits and withdrawals are not removed, so a cash transfer can look like a return.

Blank with fewer than two returns or when every return is identical.

Sortino ratio

Sortino is not calculated. The volatility-adjusted ratio on the Metrics page is Sharpe, which uses total standard deviation, not downside deviation.

Formula

Not computed.
A Sortino on the same series would be (mean(r) − rf) / downside deviation × √252,
with rf = 0 and downside deviation = √( mean of min(r, 0)² ). CoveredLoop does not show that number.

Inputs

  • Same daily account-balance returns as Sharpe, including cash transfers.
  • No separate downside deviation is stored.

Calmar ratio

Calmar is the compound annual growth of the account balance divided by the worst peak-to-trough drop on that same balance curve.

Formula

CAGR = (ending equity / starting equity) ^ (1 / years) − 1
years = (end date − start date) / 365.25
Calmar = CAGR / (max drawdown % / 100)

Inputs

  • Starting and ending equity on the selected account-balance history.
  • Max drawdown % from that same curve (see Max drawdown). Cash in and out is not stripped.

Blank when history is shorter than two points, the start equity is not positive, or max drawdown is 0.

Omega ratio

Omega adds up the up-moves in account balance and divides by the down-moves, using a threshold of zero so a flat step is ignored.

Formula

Omega = Σ (r where r > 0) / |Σ (r where r < 0)|
Threshold = 0. r is the simple balance change defined under Sharpe.

Inputs

  • Same account-balance steps as Sharpe. Not trade P&L. Not cash-stripped.
  • Threshold is 0. There is no user-set hurdle rate.
  • Steps with r = 0 are ignored.

Blank when there is no negative step. Gain to pain is this number minus 1.

Gain-to-pain ratio

Gain to pain adds every account-balance step, up and down, and divides by the size of the down steps.

Formula

Gain to pain = Σ r / |Σ (r where r < 0)|
This equals Omega − 1 when the Omega threshold is 0.

Inputs

  • Same simple balance returns as Sharpe and Omega.
  • The numerator includes negative steps, so the ratio can be negative.

Blank when there is no negative step.

Ulcer Performance Index

The Ulcer Performance Index is annualized account growth divided by a score of how deep and how long the balance sat below its running peak.

Formula

Drawdown % at each point = (running peak equity − equity) / running peak × 100
Ulcer Index = √( mean of (drawdown %)² ), including points sitting on the peak (0)
UPI = (CAGR × 100) / Ulcer Index

Inputs

  • Account-balance curve, same window as Calmar. Cash flows are not removed.
  • CAGR as defined under Calmar. Risk-free rate is 0.
  • The running peak is the highest equity seen so far on that curve.

Blank when CAGR cannot be computed or the ulcer index is 0.

Recovery factor

Recovery factor is how much the account balance grew from the first point to the last, divided by the deepest dollar hole along the way.

Formula

Recovery factor = (ending equity − starting equity) / |max drawdown $|

Inputs

  • Ending equity and starting equity on the account-balance curve.
  • Max drawdown in dollars from that curve (peak equity − later trough). Not annualized.
  • Deposits increase this numerator; withdrawals decrease it. They are not removed.

Blank when the largest dollar drawdown is $0.

Tail ratio

Tail ratio compares a typical extreme up-move in the account balance with a typical extreme down-move.

Formula

Tail ratio = |95th percentile of r| / |5th percentile of r|
Percentile index = (n − 1) × p, with linear interpolation between the two nearest sorted returns.

Inputs

  • r is the simple account-balance step used by Sharpe, not closed-trade P&L.
  • 95th and 5th percentiles. Not the single best and worst day.

Blank when there are no returns or the 5th percentile is exactly 0.

Max drawdown

Max drawdown is the worst peak-to-trough drop on the account-balance equity curve, and deposits and withdrawals are not removed from that curve.

Formula

Walk the balance points in date order.
Running peak updates whenever equity makes a new high.
Dollar drop = running peak − equity
Percent drop = dollar drop / running peak
Max drawdown is the largest dollar drop; if two drops tie in dollars, the larger percent wins.
Max drawdown % = that percent × 100

Inputs

  • Which curve: account balance (NAV) for the accounts and Metrics time window you selected — the same history as the Balance chart, not the TWR line.
  • Deposits and withdrawals stay in the curve. A deposit can set a new peak. A withdrawal can look like a drawdown. Time-weighted return is the figure that takes cash out.
  • Intraday points on a 1D window can make a same-day dip larger than the end-of-day history.

Blank when the history has fewer than two points.

Balance change

Balance change is the percent change in account equity, and cash you moved in or out counts as part of that change.

Formula

Balance change % = (ending equity − starting equity) / |starting equity| × 100

Inputs

  • Start and end come from the equity curve for the selected accounts and the tile’s window (Daily, Weekly, Monthly, YTD, 1Y, or Inception).
  • Daily uses the US session window, 9:30 a.m. to the latest mark, same as the 1D chart.
  • A deposit raises the balance. A withdrawal lowers it. Neither is a trading gain or loss.
  • Net equity P&L on Metrics is the dollar version of this over the Metrics window: ending equity − starting equity, still including cash.

Time-weighted return

Time-weighted return is the trading return after deposits and withdrawals are taken out, so adding money is not a gain and taking money out is not a loss.

Formula

On each step: r_t = (equity_t − equity_t−1 − cash flow_t) / equity_t−1
TWR = product of (1 + r_t) − 1
Cash flow_t = deposits minus withdrawals dated after the previous point and on or before this point.

Inputs

  • Same windows as the Balance % tiles.
  • A step is skipped when the starting equity is under $1,000, or when |r| is over 40% (treated as a missing-account hole, not P&L).
  • A persistent exact-dollar jump of at least $2,000 and 8% of equity can be inferred as capital when the broker did not tag the transfer. The latest mark is never inferred.
  • Daily is one session: (equity − prior 4:00 p.m. close − net deposits/withdrawals that day) / prior close. It stays on today's close versus that prior close until the next pre-market, and it matches the Daily tile.
  • When net cash flow in the window is $0, TWR matches the balance change.

Premium yield

Premium yield is option premium collected on a covered call or wheel divided by the stock capital, or by put collateral when there is no stock.

Formula

Premium yield % = total net premiums / capital × 100
Capital = stock cost basis when that is above $0, otherwise the largest put collateral (strike × $100 × contracts).

Inputs

  • Total net premiums = call net premiums + put net premiums, open and closed. A closed put stays in the total after assignment.
  • Stock P&L is not included. This is not total return.
  • Trading costs are not subtracted here. They are subtracted in structure total P&L and added back in net investment.

Return on capital

Return on capital for a credit spread is profit divided by max risk; on a covered call it is the whole trade’s profit divided by the stock capital.

Formula

Credit spread, open: ROC = max reward / max risk × 100
Credit spread, closed: ROC = realized P&L / max risk × 100
Max risk = (wing width × $100 × contracts) − net credit, not below $0, when the credit per share is not larger than the width.
Max reward = net credit, capped at the width premium.

Covered call / wheel, closed: trade return % = total trade P&L / capital base × 100
Capital base = stock cost basis, or put collateral if there is no stock.

Inputs

  • Realized P&L on a closed spread is the structure’s net (credit minus close debit), not each leg.
  • An assigned spread that would otherwise show a stock loss beyond max risk is limited to −max risk.
  • Trade return on a covered call includes stock P&L, net premiums, dividends, and trading costs.
  • This is not average P&L %, which divides a spread by its credit rather than by max risk.

Back to home