Besë Asset Management

Methodology

How every number is produced

If something here is unclear or looks wrong, the inputs are archived and the calculation code is named below. Check it.

Sources

Where the numbers come from.

Trading is discretionary, on Nasdaq-100 futures, through a proprietary-trading firm's funded-account programme. After the session the firm's completed-trade export is dropped into the publisher, which archives it and rebuilds the entire record from the whole archive — there is no incremental state to drift.

Fills are exact. NAV is constructed. The trades, prices, sizes and the commission actually charged are the firm's own records. The NAV series is not read from any account balance: it is computed from those fills by bese.normalize and bese.nav. This is a weaker claim than quoting a broker equity endpoint and is stated as such.

Where the same trade appears in both the firm's export and the broker's, the two are matched on their economics and the firm's figures win, because they carry the commission actually charged rather than one modelled from a rate card. Both linkages were run over the same period and produce identical trades.

Normalisation

To 1 NQ-equivalent of exposure.

Positions vary in size, so raw profit and loss is not comparable across sessions. Every trade is scaled to one NQ-equivalent of exposure:

nq_equivalent    = contracts × point_value / 20
standardised P&L = (gross P&L − costs) / nq_equivalent

NQ is $20 per index point and MNQ $2, so one E-mini is 1.0, two are 2.0, five micros are 0.5 and ten micros are 1.0.

Costs come off before the division, so they scale with the position the way the profit does. At the firm's rates one NQ-equivalent costs $4.50 to round-trip in the E-mini against $15.00 in the micro — over three times as much for the same risk. That asymmetry is real and the record carries it rather than smoothing it away.

Grouping. Brokers report one position as several rows when an order fills against several on the other side. Rows are joined into one strategy trade by linkage the source can prove: a shared fill id, or a shared entry or exit instant to the millisecond within one account, contract and direction. Nothing is merged on a similarity guess. Cases no linkage can see — a scale-in placed as two independent orders — are flagged for review and merged only by a published override.

The nominal account

$100,000, and what happens to it.

The book starts at $100,000 of nominal capital on the session before the first trade, so the first session's result is inside the record rather than behind it.

NAV(t) = NAV(t−1) + standardised P&L(t)
daily return = NAV(t) / NAV(t−1) − 1

Returns are time-weighted; with no external cash flows this reduces exactly to compounding the daily returns, and the publisher asserts that identity on every run before writing anything.

Exposure does not compound. The strategy holds one NQ-equivalent regardless of NAV, so it is constant-notional. The return series compounds correctly; the position size does not. A normal convention for a futures record, stated rather than left to be inferred.

Sessions

A trading day is not a calendar day.

A futures trading day is not a calendar day: the CME equity-index session runs 17:00 to 16:00 New York time. A trade is dated by when its profit was realised — when the position went flat — using the firm's own session label where it publishes one, and the CME rule otherwise.

The firm requires every position closed by 5:00 PM New York time and permits no overnight holding, which is exactly the session boundary. So no trade can straddle one, and the publisher asserts it: a position closing at or after 17:00 New York aborts the run, because it means either the declared source timezone is wrong or a firm rule was breached, and both need a human.

Metrics

Computed once, upstream, by open code.

Every metric is computed by compute_core_metrics in bese.metrics and by nothing else. None is recomputed in the publisher and none is computed in the browser: the site renders values that were calculated there. That is the only way “our calculation source is public” is a fact rather than a claim.

Annualisation basis is 252. Sharpe, Sortino and Calmar are excess of the risk-free rate, with gross variants published alongside; the daily rate is geometric, (1 + annual) ** (1/252) − 1. The rate in use is echoed in every payload — currently unavailable — ratios are explicitly gross where shown, so the ratios it feeds are explicitly gross rather than quietly assuming a rate of zero.

Annualised statistics are withheld below 60 sessions. On a handful of sessions they are not imprecise estimates, they are meaningless ones. Cumulative return, the curve and the best and worst session are published from the first day, because those are statements of what happened.

Known limits

Stated, not discovered.

One account is the source. Trades are placed on a leader account and copied to others; the record is built from the leader. A copy that filled at a different price or failed to fill is not reflected. One trade copied to five accounts is one trade here, not five.

Account changes are not record changes. Prop accounts begin, end and are replaced. Because the series is built from trades rather than account equity, no account event resets it.

Gaps are gaps. A session with no trades has no row. Nothing is interpolated and no value is carried forward.

No benchmark yet. A Nasdaq-100 total-return line is the right comparison and is not yet wired in. An empty series is shown as empty rather than filled with something convenient.

GIPS-informed, not GIPS-compliant. Compliance requires third-party verification, which has not been performed. No such claim is made anywhere.

Nominal capital, not assets under management. $100,000 is a stated normalisation base. It is not client money, and no prop firm's advertised account size is treated as capital under management.

Past performance is not indicative of future results. Nothing here is investment advice, an offer, or a solicitation. Futures trading carries substantial risk of loss. See disclosures.

Published 16 August 2026, 00:53 UTC · every figure computed by bese.metrics, not by the browser.