A

Alpha

The yearly return above what riding the benchmark would explain, dividends included on both sides. It is the part of the return that beta does not account for.

Higher is better; zero means the benchmark explains the whole return. Orbital takes the mean daily strategy excess return, subtracts beta times the mean daily benchmark excess return, and multiplies by 252. Excess is above a risk-free rate of 4.25% a year, and the benchmark's returns are total return.

Positions held open at the end are marked at each close and included.

Example: beta 0.5, a strategy daily excess return of 0.06% and a benchmark one of 0.04%. Alpha is (0.06 minus 0.5 times 0.04) times 252, about 10% a year.

See also: Beta, Benchmark, Sharpe ratio

B

Backtest

One run of one strategy version over one past period, against one snapshot of market data, with the capital, costs and fills you chose. Orbital's engine simulates every bar and returns metrics, an equity curve and a trade log.

Results are hypothetical. A run is queued, then running, and ends completed, failed or cancelled.

Decisions are taken at a bar's close and fill at the next bar, so a strategy never sees the bar it trades on. Positions still open at the end are held and marked at the last close.

A workspace may have four runs in flight and 200 in a rolling 24 hours. Each run records the version and settings it tested, so one configuration run over two periods is still one configuration.

See also: Your first backtest, Run a backtest, Strategy, Forward test

Benchmark

The symbol a run is measured against, SPY unless you choose another. Its return is total return, with dividends reinvested, compared on the same days as the strategy.

Alpha and beta are measured against it, and the equity chart draws it dashed beside the strategy. Compare rebases every strategy and the benchmark to 100 on the first day they all have data.

The benchmark is part of a run's configuration, so the same strategy against two benchmarks is two configurations.

See also: Alpha, Beta, Backtest

Beta

How much the strategy moves when the benchmark moves: 1 is market-like, 0 is independent of it, and a negative beta moves against it.

Neither direction is better; it describes exposure. Orbital divides the covariance of daily strategy returns with the benchmark's total-return daily returns by the benchmark's variance, over the days both have. Positions held open at the end are marked at each close and included.

Example: a strategy that moves about 0.5% in the same direction on days the benchmark moves 1% has a beta near 0.5.

See also: Alpha, Benchmark

C

CAGR

Compound annual growth rate: the steady yearly rate that would turn the starting capital into the final equity over the run's calendar days.

Higher is better; compare it with the benchmark's over the same period. Orbital computes it as final equity divided by starting capital, raised to the power of 365.25 divided by calendar days, minus 1, times 100. Positions held open at the end count at the last close.

Example: $100,000 grows to $121,000 over two years. CAGR is 10% a year.

A short run compounds a small gain into a large yearly figure, so the figure means little without the run's period.

See also: Return, Sharpe ratio, Max drawdown

Capital sleeve

The portion of a broker account that one deployment may have invested at once, set as its Budget limit in Trade. Its realized gain comes from its own fills.

An entry larger than the budget left, or than Max per trade, is refused, not trimmed. Trade's Capital allocated tile sums every running deployment's budget, and each deployment's P&L comes from its own fills since it started.

See also: Deployment, Paper trading

Commission

The broker fee charged on each fill in a run: zero, a rate in basis points of the notional, or a rate per share. The default cost profile charges none.

A custom rate is capped at 1,000 bps or $1.00 per share. A larger figure is almost always a percent typed into a basis-point field, or a per-order fee typed per share. Regulatory pass-throughs on sales are not modelled.

Net P&L is after commission, and the report shows commission paid, split long and short.

See also: Cost profile, Slippage, Net P&L

Cost profile

The broker whose commission a run assumes. There are four: Alpaca US equities (the default, zero commission), Interactive Brokers Pro Tiered, Frictionless (research only) and a custom rate.

Interactive Brokers Pro Tiered cannot be simulated yet: its schedule has a per-order minimum and a cap, and the engine's cost model is a single rate. A run under it is refused with that reason.

Frictionless charges nothing on purpose; a result under it is an upper bound on what any real broker would leave you.

The report states the profile and, in one sentence, what was modelled and what was not.

See also: Commission, Slippage, Run a backtest

Credits

The unit Orbital meters usage in. Model calls in chat, workflows and agents and web searches spend credits, and so does a backtest in a project where backtest pricing is on. Included credits renew each month; purchased credits are spent after them and do not expire.

Where backtest pricing is on, a backtest's estimate states its credits before it runs, and the run's row records what was charged. Billing and Usage under Settings show what was spent and by what.

See also: Workspace, Estimate a backtest, Run a backtest

D

Deflated Sharpe ratio

The raw Sharpe ratio minus the Sharpe the best of N skill-less tries would reach by luck. N is the number of configurations of the strategy that have been run, and the figure is never shown without the raw Sharpe and that count.

Higher is better; a negative figure means the search alone explains the result. Orbital follows Bailey and López de Prado. The hurdle is the expected maximum Sharpe of N trials, sized by how much the strategy's own trial Sharpes scatter. One configuration is not a search, so the figure needs at least two.

When the full daily series is on record, the probability that the true Sharpe clears the hurdle is shown too.

Example: a raw Sharpe of 1.5 after 10 configurations whose Sharpes scatter by 0.5. The hurdle is about 0.79, so the deflated Sharpe is about 0.7.

See also: Sharpe ratio, Trial count, Version, Read a backtest run

Deployment

A strategy version running outside the backtest, on a paper account through the Trade app or as daily-signal alerts for a Rules strategy. It keeps the version it was deployed with and trades within the limits you set.

A paper deployment runs within four limits (budget, max per trade, open positions, daily-loss pause) under a trading permission of Deny, Ask, Auto or Always-approve. It is running, paused, needs attention, stopping or stopped; stopping is final, sells nothing, and leaves what it holds to its own exits.

See also: Paper trading, Capital sleeve, Main, Version

E

Exit reason

Why a trade closed, shown in the trade log's Closed by column: Signal, Stop, Target, Trailing, Time, Margin call, Delisted, Left universe, Unpriced, Left the tape, Account blown or End of run. A position still held at the end shows Open.

Signal is an exit rule firing or a Program's exit call. Stop, Target, Trailing and Time are the Exit Rules node's stop loss, profit target, trailing stop and time stop. Margin call is a forced liquidation after a maintenance breach. Delisted closes a symbol at its last available bar. Account blown is a wipe-out that ends trading.

Left universe is a screened universe's name leaving the screen; the position closes at the next session's open. Unpriced is a name with no print for ten sessions in a row, closed at its last print. Left the tape is a name that moved from the exchange to OTC, closed at its last listed print.

Every run holds its open positions at the end, so those rows read Open rather than End of run.

See also: Fill, Open P&L, Read a run's trade log

Expectancy

The average dollars each closed trade added, wins and losses together: the closed trades' total net P&L divided by their number.

Higher is better; a negative figure means the average trade lost money. Positions still open at the end are not closed trades and are left out.

Example: 100 closed trades with a combined net P&L of $20,000. Expectancy is $200 a trade.

See also: Profit factor, Win rate, Net P&L

F

Fill

The simulated execution of an order. By default a decision at a bar's close becomes a market order, filled at the next bar's open plus slippage.

A run can instead fill at the next session's close, or rest a limit order. Fills are whole: an order the account cannot cover is rejected, never trimmed. A stop that gaps through fills at the worse of its trigger and the bar's open; a limit fills at the better. A trailing stop updates at each close and can fire from the next bar.

A limit order rests for the session or a number of bars. One that never fills expires and is counted, so no fills reads differently from no signals.

See also: Slippage, Position sizing, Exit reason, Read a run's trade log

Forward test

A completed backtest run, frozen and re-run through each newly settled session. The same chart and trade list extend into data the strategy had never seen when the test began.

Start one from a completed run. The forward part begins at the first session that opens after you click, and a strategy has one forward test at a time.

After each session settles, Orbital re-submits the frozen settings with only the end date moved. It is one continuous run, so later edits never touch the backtest part. Only a correction to the price history, such as a restated split, can shift it.

Each update is billed and counted like a run of its window. The test stops from the ⋯ menu. It also stops itself when the window outgrows one run, or when an update is refused in a way no later session can lift.

Nothing is sent to a broker. Paper trading is a Trade deployment.

See also: Backtest, Settled session, Paper trading, Version

M

MAE

Maximum adverse excursion: how far a trade went against you before it closed, as a percentage of the entry price, measured from bar highs and lows.

Smaller is better. Orbital measures it per trade at the execution feed's resolution. For a long it is the lowest low since entry against the entry price; for a short, the highest high. The trade list draws it as the against side of the Against · for bar.

A position still open at the end has an MAE through its last bar.

Example: a long entered at $100 trades as low as $94 before exiting at $103. MAE is 6%.

See also: MFE, Max drawdown, Read a run's trade log

MFE

Maximum favourable excursion: how far ahead a trade got before it closed, as a percentage of the entry price, measured from bar highs and lows.

Larger is better, and a large MFE on a trade that closed for little points at an exit that gives gains back. Orbital measures it per trade at the execution feed's resolution. For a long it is the highest high since entry against the entry price; for a short, the lowest low. The trade list draws it as the for side of the Against · for bar.

Example: a long entered at $100 reaches $110 before exiting at $103. MFE is 10%.

See also: MAE, Exit reason

Main

One mark per strategy on one version. Main is what a new deployment takes unless another version is picked; lists and tabs show it, and every automated run executes it.

The first version you save becomes main. For a Rules or Program strategy, main starts at the first version whose backtest completes. After that it moves only by Make main, from the editor, Backtesting or Trade, or by an agent granted the Make main permission.

A Rules or Program version needs a completed backtest before it can be made main or deployed. A running deployment is not switched in place: stop it, then deploy the other version.

See also: Version, Deployment, Read one strategy

Margin

A run's account is cash only unless margin is enabled. Margin allows shorts and borrowing, with a 50% initial requirement and 25% maintenance.

Shorts pay a 3% a year borrow fee, and a maintenance breach liquidates at the next open. Buying power is equity divided by the initial requirement, less what is already deployed; an order beyond it is rejected and counted. Short strategies need a margin account.

The borrow fee accrues on calendar days, so a short held over a weekend pays three days. If equity reaches zero the run liquidates everything, stops trading and is marked account blown, and ratio metrics are suppressed rather than shown.

See also: Position sizing, Exit reason, Cost profile

Max drawdown

The worst peak-to-trough fall in account equity during the run, as a percentage of the peak.

Shallower is better; it is shown as a negative percentage with its peak and trough dates. Orbital marks equity at every bar close of the execution feed and takes the lowest value of equity divided by its running peak, minus 1. On a daily feed it is not an intrabar figure.

Positions held open at the end are marked at each close, so a loss on them deepens the drawdown.

Example: equity peaks at $120,000 and later falls to $102,000 before recovering. Max drawdown is -15%.

See also: Return, Sharpe ratio, MAE

N

Net P&L

What the account gained or lost over the whole run, in dollars: final equity minus starting capital, after commission, slippage, borrow fees and dividends.

Positive is a profit. Orbital computes it as final equity minus starting capital. Positions still open at the end are held and marked at the last close, so their open P&L is included. The report shows that part as Of which open.

Example: $100,000 of starting capital ends at $108,500. Net P&L is +$8,500, of which $1,200 may still be open.

See also: Return, Open P&L, Expectancy

O

Open P&L

What the positions still held at the end of a run had gained or lost at the last close. Net P&L includes it.

Every run holds its open positions at the end rather than closing them, which is what lets a forward test's longer run repeat the shorter one. The report shows the number of open trades and this figure under Net profit as Of which open.

Closed-trade statistics, such as win rate, profit factor and expectancy, leave open positions out.

Example: net P&L is +$8,500 and two positions are still open at +$1,200 together. Open P&L is +$1,200.

See also: Net P&L, Exit reason, Forward test

P

Paper trading

Running a strategy on a broker's simulated account through the Trade app, so orders are placed and filled without real money. In Orbital, Paper means a deployment on an Alpaca paper account.

Live accounts are never connected, and a deployment to a live account is refused. A Rules or Program version needs a completed backtest before it can be deployed, and it trades on paper under Always-approve, within the limits you set.

See also: Deployment, Forward test, Capital sleeve

Position sizing

How big each position is, decided at the signal close. The methods are a percent of equity, a risk percent against the stop distance, a fixed share count or a fixed dollar amount.

A Program can instead pick a size inside a range. Risk percent needs a stop loss; a trailing stop does not count. Orders the account cannot cover are rejected whole, never quietly shrunk.

A run can also cap one position and gross exposure as percentages of equity. Quantities are whole shares.

See also: Margin, Fill, Rule cards

Profit factor

Dollars won per dollar lost across all closed trades: gross profit divided by gross loss.

Higher is better; below 1 the closed trades lost money overall, and by convention 1.5 is solid and 2 strong. Orbital sums every closed trade's positive gross P&L and divides by the sum of the negative ones, as a positive figure. Gross P&L is the price move alone, before slippage, commission and borrow. A trade can win on that gross leg and lose after fees, so the profit factor and the win rate can disagree. With no gross loss to divide by, the figure is not shown. Positions still open at the end are not closed trades and are left out.

Example: winners total $30,000 and losers total $15,000. The profit factor is 2.0.

See also: Win rate, Expectancy, Net P&L

Program

A strategy written as Rust code and compiled by Orbital. Its on_bar function runs once per symbol on every decision bar, reads price history, the position and parameters, and can enter, exit and set stops.

A Program starts as no_std Rust; the authoring guide says to delete the no_std and trap_on_panic lines when the program needs std's float methods. It links only the orbital_strategy crate besides Rust's own core and std, against host interface version 4. Source is at most 256 KiB.

The Program node names three things. The decision bar is daily by default, or an intraday bar. The history the program reads is up to 20,000 bars of that bar. The instruction budget per bar is 10,000,000 unless the node sets another whole number.

Build compiles the source and runs it over three synthetic tapes as a check. The compiled module is named by the SHA-256 of its bytes, and a run refuses a Program whose source changed without a rebuild.

See also: Rule cards and Programs, Build a Program, Warm-up, Timeframe

Project

The container inside a workspace where work lives: every strategy, workflow, dashboard, watchlist and agent belongs to exactly one project. Each workspace starts with a default project.

Apps such as Backtesting are turned on per project, and a connected assistant is bound to one project until you connect again. A project is archived, never deleted, and the default project cannot be archived.

See also: Workspaces and projects, Workspace, Connect Claude to Orbital

R

Return

Net P&L as a percentage of starting capital, over the run's own period. The strategies list shows the yearly rate under it.

Orbital computes it as net P&L divided by starting capital, times 100. It includes positions held open at the end, marked at the last close.

Example: starting capital of $100,000 and a net P&L of $12,000 give a return of +12%.

The benchmark's return over the same days sits beside it on the strategy page. CAGR states the same gain as a yearly rate.

See also: CAGR, Net P&L, Benchmark

Rule cards

The strategy nodes you wire together in the workflow editor, between a universe input and an output. They are Indicator, Entry Rule, Exit Rules, Position Sizing, Session Filter, Regime Filter and Risk Guard.

Together they describe a strategy without code. An Indicator (a moving average, RSI, ATR, volume or return) feeds a rule. A rule fires when its first value crosses or compares against a fixed value, a price or another indicator. Exit Rules add a signal exit, a stop loss, a profit target, a trailing stop or a time stop. Position Sizing sets how big each position is.

Indicators read daily bars unless you pick an intraday bar, which moves the run onto the minute tape. The Regime Filter always reads daily closes and gates every entry.

See also: Rule cards and Programs, Your first strategy, Read the authoring guide, Program

S

Session

One trading day on the New York Stock Exchange calendar: regular hours from 09:30 to 16:00 ET, ending at 13:00 on an early close. Backtests trade regular hours only.

A daily strategy decides once per session, at the close. An intraday strategy decides on each completed bar inside the session, and a 1-minute Program is called about 391 times. Extended hours are not simulated, and the Session Filter node pins trading to regular hours.

See also: Settled session, Timeframe, Fill

Settled session

A session whose data Orbital treats as final. A session settles at 11:30 ET on the next calendar day, whether or not that day is a trading day.

Backtests read settled sessions, and a forward test adds a session after it settles. Friday settles on Saturday, so Monday morning still reads through Friday. A Tuesday update after 11:30 ET covers Monday.

A forward test's live view shows today provisionally until the settled curve takes over.

See also: Session, Forward test

Sharpe ratio

Return earned per unit of day-to-day variation, above the risk-free rate. Higher means smoother compensation for the risk taken.

Higher is better; by convention 1 is good and 2 very good. Orbital computes it on daily close-to-close equity returns: the mean daily excess return divided by its standard deviation, times √252. The risk-free rate is 4.25% a year, so each day subtracts 4.25% divided by 252.

Positions held open at the end are marked at each close, so they are in the daily returns.

Example: daily returns beat the risk-free rate by 0.1% on average with a 1% standard deviation. The Sharpe ratio is 0.1 divided by 1, times 15.87, about 1.6.

Orbital shows the deflated Sharpe ratio with the number of configurations tried beside it. They appear in the strategies list's Full columns, Run properties and get_backtest.

See also: Deflated Sharpe ratio, Sortino ratio, Trial count

Slippage

The price penalty a run adds to every market and stop fill, in basis points of the fill price. The default is 5 bps, 0 is allowed, and limit fills never slip.

Slippage is explicit on every run and shown in the strategy's settings line, for example 0.05% slippage. The report lists its total cost beside commission and borrow.

It is a stand-in, not a measurement. Orbital reads bars, not quotes, so the bid-ask spread and market impact are not modelled, and the report says so.

See also: Cost profile, Commission, Fill

Sortino ratio

Like the Sharpe ratio, but only downside variation counts against the strategy: the days that fell short of the risk-free rate.

Higher is better, and it is usually above the same run's Sharpe ratio. Orbital computes it on daily close-to-close equity returns above a 4.25% a year risk-free rate. The mean daily excess return is divided by the downside deviation, taken over negative excess days only, then multiplied by √252.

Positions held open at the end are marked at each close and included.

Example: a mean daily excess return of 0.1% and a downside deviation of 0.7% give 0.1 divided by 0.7, times 15.87, about 2.3.

See also: Sharpe ratio, Max drawdown

Strategy

A workflow Orbital has enrolled for backtesting. Its rule cards, Program or signal series decide what to buy and sell over a universe of symbols. It has versions and runs, and it can be deployed.

There are three kinds. Rules strategies are built from rule cards in the workflow editor. Program strategies are Rust code Orbital compiles. Signals strategies replay a dated table of buy and sell rows you supply.

A saved workflow that qualifies is enrolled on save. Backtesting lists every strategy with its state, Draft, Tested or Paper, its latest result and its trend against the benchmark.

See also: Your first strategy, Rule cards and Programs, Rule cards, Program

T

Timeframe

The bar a strategy decides on: daily, or an intraday bar from 3-hour down to 1-minute. Each Indicator names its own; a Program names one decision bar.

Orbital's bars are 1d, 3h, 2h, 1h, 30m, 15m, 6m, 5m, 3m, 2m and 1m. The Indicator card's menu offers daily, hourly, 3-minute, 2-minute and 1-minute; the Program node's Decision bar offers them all.

A decision is taken at the bar's close and fills at the next bar. Daily decides once per session; a 1-minute Program decides about 391 times a session, so the run takes longer. Any intraday bar moves the run onto the minute tape, which the estimate prices differently.

See also: Session, Warm-up, Program, Rule cards

Trial count

How many distinct configurations of a strategy have been run. It is the N that sizes the deflated Sharpe ratio's hurdle, and it is shown wherever that figure is.

A configuration is a version plus its run settings, with the period left out. Running one configuration over another period adds a run but not a trial. Forward test updates never count. A configuration whose runs all failed still counts as tried.

The deflated Sharpe ratio and this count appear together in the strategies list's Full columns, Run properties and get_backtest. The strategy page's Sharpe tile and statistics show the raw Sharpe alone.

The versions card also shows runs per version and runs across the whole strategy, which are different numbers.

Example: a strategy tried at 10, 14 and 20-day lookbacks, each over two periods, has six runs and a trial count of 3.

See also: Deflated Sharpe ratio, Version, Sharpe ratio

U

Universe

The symbols a strategy may trade in a run. It is a custom list, a preset (S&P 500, NASDAQ 100 or Dow 30) or a screen that picks symbols by rule. A listed universe holds at most 500 symbols.

Before a run starts, a symbol listed too recently to be warm at the first session is dropped and named in the result. The run is refused instead when fewer than two symbols would remain, or more than half would go. That would be a different strategy, or the wrong period.

A rule strategy reads its own bars for every symbol; no other data node is needed.

See also: Warm-up, Strategy, Your first strategy

V

Version

A numbered snapshot of a strategy's nodes and code, v1, v2, v3, with an optional note. The same nodes and code never get a second number, and a deployment keeps the version it was deployed with.

A version is made on purpose: Save version in the editor, or a backtest of code that changed. Autosave never makes one.

Backtesting also records each run's configuration: the version plus the universe, bars, capital, margin, costs, fill policy and benchmark. The period is left out, so one configuration can be tested over several periods and compared. A changed setting is a new configuration with its own trial count.

See also: Main, Trial count, Read one strategy, Save a new version of a strategy

W

Warm-up

The history Orbital reads before a run's start date so indicators have values on the first day. Warm-up bars are read, never traded on, and they count toward the run's estimate.

For rule cards the warm-up is the deepest window any indicator reads, plus one bar the engine adds for the cross operators. A 200-day moving average reads 200 bars, and RSI, ATR and an N-bar return read one more than their period. The engine takes the deepest of those and adds one. It pads that into calendar days, about 1.55 times the bars plus 10 days, before the period starts.

For a Program it is the node's History the program reads, in bars of the decision bar, up to 20,000. The program is not called on these bars.

A symbol listed too recently to be warm on the first day joins the run at its own first warm session, rather than trading from the start. The run's warning names each such symbol and the date it is warm from. A run in which no symbol is ever warm is refused.

See also: Timeframe, Universe, Program, Estimate a backtest

Win rate

The share of closed trades that ended with a positive net P&L, after fees. The strategies list calls it Profitable trades.

Higher is not always better. A low win rate with large winners can beat a high one with small winners. The profit factor and expectancy say how big the wins and losses were. Orbital computes winners divided by closed trades, times 100. Positions still open at the end are not counted.

Example: 55 of 100 closed trades made money. The win rate is 55%.

See also: Profit factor, Expectancy

Workspace

The top level of your Orbital account: the tenant that holds members and roles, billing and credits, plugins, app installs, API keys and its projects. Signup creates a Personal workspace, and you can create more.

Members, billing, plugins, app installs and API keys belong to the workspace; strategies, workflows, dashboards, watchlists and agents belong to a project inside it. Switch workspaces from the avatar menu.

See also: Workspaces and projects, Project, Credits