[{"data":1,"prerenderedAt":1730},["ShallowReactive",2],{"docs-glossary":3,"docs-nav":1267},[4,47,90,117,141,179,200,232,266,288,329,350,390,420,449,493,529,554,581,607,640,666,699,716,744,769,812,834,868,899,917,942,986,1011,1042,1068,1094,1135,1161,1189,1224,1248],{"_id":5,"body":6,"definition":34,"seeAlso":35,"slug":45,"term":46},"04255b33-e107-4eda-8ff9-e15184a1bcf6",[7,18,26],{"_key":8,"_type":9,"children":10,"markDefs":16,"style":17},"74db25f4675a","block",[11],{"_key":12,"_type":13,"marks":14,"text":15},"c9b03d61681c","span",[],"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.",[],"normal",{"_key":19,"_type":9,"children":20,"markDefs":25,"style":17},"4473ba6a6249",[21],{"_key":22,"_type":13,"marks":23,"text":24},"8649c029de5e",[],"Positions held open at the end are marked at each close and included.",[],{"_key":27,"_type":9,"children":28,"markDefs":33,"style":17},"b3b651926995",[29],{"_key":30,"_type":13,"marks":31,"text":32},"614f3b38df47",[],"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.",[],"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.",[36,39,42],{"path":37,"title":38},"/docs/glossary#beta","Beta",{"path":40,"title":41},"/docs/glossary#benchmark","Benchmark",{"path":43,"title":44},"/docs/glossary#sharpe-ratio","Sharpe ratio","alpha","Alpha",{"_id":48,"body":49,"definition":74,"seeAlso":75,"slug":88,"term":89},"8133fcdf-db3f-4330-b058-ff0f6652dcd0",[50,58,66],{"_key":51,"_type":9,"children":52,"markDefs":57,"style":17},"0449c3d49f5f",[53],{"_key":54,"_type":13,"marks":55,"text":56},"fc6b94eda655",[],"Results are hypothetical. A run is queued, then running, and ends completed, failed or cancelled.",[],{"_key":59,"_type":9,"children":60,"markDefs":65,"style":17},"0b7a22aeb416",[61],{"_key":62,"_type":13,"marks":63,"text":64},"f142edcf2be9",[],"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.",[],{"_key":67,"_type":9,"children":68,"markDefs":73,"style":17},"b9685b1a2ed2",[69],{"_key":70,"_type":13,"marks":71,"text":72},"5968856257de",[],"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.",[],"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.",[76,79,82,85],{"path":77,"title":78},"/docs/getting-started/your-first-backtest","Your first backtest",{"path":80,"title":81},"/docs/claude-and-chatgpt/tools/run_backtest","Run a backtest",{"path":83,"title":84},"/docs/glossary#strategy","Strategy",{"path":86,"title":87},"/docs/glossary#forward-test","Forward test","backtest","Backtest",{"_id":91,"body":92,"definition":109,"seeAlso":110,"slug":116,"term":41},"5eee3627-0696-46f0-8571-f72680069841",[93,101],{"_key":94,"_type":9,"children":95,"markDefs":100,"style":17},"aa92f804252a",[96],{"_key":97,"_type":13,"marks":98,"text":99},"cee4316e6d1e",[],"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.",[],{"_key":102,"_type":9,"children":103,"markDefs":108,"style":17},"decef15f2db7",[104],{"_key":105,"_type":13,"marks":106,"text":107},"8ff090d3fc5b",[],"The benchmark is part of a run's configuration, so the same strategy against two benchmarks is two configurations.",[],"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.",[111,113,114],{"path":112,"title":46},"/docs/glossary#alpha",{"path":37,"title":38},{"path":115,"title":89},"/docs/glossary#backtest","benchmark",{"_id":118,"body":119,"definition":136,"seeAlso":137,"slug":140,"term":38},"2f5660cb-dbf3-4339-a994-8987bf12b3a9",[120,128],{"_key":121,"_type":9,"children":122,"markDefs":127,"style":17},"ab076db14755",[123],{"_key":124,"_type":13,"marks":125,"text":126},"a297365123e0",[],"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.",[],{"_key":129,"_type":9,"children":130,"markDefs":135,"style":17},"f00aa425df55",[131],{"_key":132,"_type":13,"marks":133,"text":134},"2ab950d82101",[],"Example: a strategy that moves about 0.5% in the same direction on days the benchmark moves 1% has a beta near 0.5.",[],"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.",[138,139],{"path":112,"title":46},{"path":40,"title":41},"beta",{"_id":142,"body":143,"definition":168,"seeAlso":169,"slug":177,"term":178},"2c7635a2-cc76-44da-9c0d-47fb8c87b0b9",[144,152,160],{"_key":145,"_type":9,"children":146,"markDefs":151,"style":17},"97e7f1fc9f40",[147],{"_key":148,"_type":13,"marks":149,"text":150},"e08348e8391d",[],"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.",[],{"_key":153,"_type":9,"children":154,"markDefs":159,"style":17},"3310cd049f30",[155],{"_key":156,"_type":13,"marks":157,"text":158},"f2e4b076cb05",[],"Example: $100,000 grows to $121,000 over two years. CAGR is 10% a year.",[],{"_key":161,"_type":9,"children":162,"markDefs":167,"style":17},"06cdd9b774bc",[163],{"_key":164,"_type":13,"marks":165,"text":166},"cd98abb85627",[],"A short run compounds a small gain into a large yearly figure, so the figure means little without the run's period.",[],"Compound annual growth rate: the steady yearly rate that would turn the starting capital into the final equity over the run's calendar days.",[170,173,174],{"path":171,"title":172},"/docs/glossary#return","Return",{"path":43,"title":44},{"path":175,"title":176},"/docs/glossary#max-drawdown","Max drawdown","cagr","CAGR",{"_id":180,"body":181,"definition":190,"seeAlso":191,"slug":198,"term":199},"1f360eba-56e2-4c25-8a44-beb5395c4947",[182],{"_key":183,"_type":9,"children":184,"markDefs":189,"style":17},"1f69938a2e2c",[185],{"_key":186,"_type":13,"marks":187,"text":188},"a91410292ef8",[],"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.",[],"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.",[192,195],{"path":193,"title":194},"/docs/glossary#deployment","Deployment",{"path":196,"title":197},"/docs/glossary#paper-trading","Paper trading","capital-sleeve","Capital sleeve",{"_id":201,"body":202,"definition":219,"seeAlso":220,"slug":230,"term":231},"19762e5a-618f-485f-a994-4ba1f05b571c",[203,211],{"_key":204,"_type":9,"children":205,"markDefs":210,"style":17},"4858ed85e438",[206],{"_key":207,"_type":13,"marks":208,"text":209},"0b8875a26b61",[],"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.",[],{"_key":212,"_type":9,"children":213,"markDefs":218,"style":17},"e97405b4f2cb",[214],{"_key":215,"_type":13,"marks":216,"text":217},"14f18ef37387",[],"Net P&L is after commission, and the report shows commission paid, split long and short.",[],"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.",[221,224,227],{"path":222,"title":223},"/docs/glossary#cost-profile","Cost profile",{"path":225,"title":226},"/docs/glossary#slippage","Slippage",{"path":228,"title":229},"/docs/glossary#net-pnl","Net P&L","commission","Commission",{"_id":233,"body":234,"definition":259,"seeAlso":260,"slug":265,"term":223},"fc3ab274-db69-4c58-9f7f-d95198521bcb",[235,243,251],{"_key":236,"_type":9,"children":237,"markDefs":242,"style":17},"29727278b1ad",[238],{"_key":239,"_type":13,"marks":240,"text":241},"83654847befb",[],"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.",[],{"_key":244,"_type":9,"children":245,"markDefs":250,"style":17},"47775aa7558c",[246],{"_key":247,"_type":13,"marks":248,"text":249},"ea377b549fe9",[],"Frictionless charges nothing on purpose; a result under it is an upper bound on what any real broker would leave you.",[],{"_key":252,"_type":9,"children":253,"markDefs":258,"style":17},"b6e7b69aa565",[254],{"_key":255,"_type":13,"marks":256,"text":257},"7b09cb9788d3",[],"The report states the profile and, in one sentence, what was modelled and what was not.",[],"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.",[261,263,264],{"path":262,"title":231},"/docs/glossary#commission",{"path":225,"title":226},{"path":80,"title":81},"cost-profile",{"_id":267,"body":268,"definition":277,"seeAlso":278,"slug":286,"term":287},"d4216092-6035-41cd-8e27-1cde16dfe876",[269],{"_key":270,"_type":9,"children":271,"markDefs":276,"style":17},"45e33ff52242",[272],{"_key":273,"_type":13,"marks":274,"text":275},"d1b864a6ca23",[],"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.",[],"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.",[279,282,285],{"path":280,"title":281},"/docs/glossary#workspace","Workspace",{"path":283,"title":284},"/docs/claude-and-chatgpt/tools/estimate_backtest","Estimate a backtest",{"path":80,"title":81},"credits","Credits",{"_id":289,"body":290,"definition":315,"seeAlso":316,"slug":327,"term":328},"36d1ed85-017d-4bcb-865a-f8f2bba15c0a",[291,299,307],{"_key":292,"_type":9,"children":293,"markDefs":298,"style":17},"df19630d59ed",[294],{"_key":295,"_type":13,"marks":296,"text":297},"b3baaae98287",[],"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.",[],{"_key":300,"_type":9,"children":301,"markDefs":306,"style":17},"4c1f8daab4df",[302],{"_key":303,"_type":13,"marks":304,"text":305},"f16227f3c097",[],"When the full daily series is on record, the probability that the true Sharpe clears the hurdle is shown too.",[],{"_key":308,"_type":9,"children":309,"markDefs":314,"style":17},"9370edcca6e1",[310],{"_key":311,"_type":13,"marks":312,"text":313},"709099110b2f",[],"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.",[],"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.",[317,318,321,324],{"path":43,"title":44},{"path":319,"title":320},"/docs/glossary#trial-count","Trial count",{"path":322,"title":323},"/docs/glossary#version","Version",{"path":325,"title":326},"/docs/claude-and-chatgpt/tools/get_backtest","Read a backtest run","deflated-sharpe-ratio","Deflated Sharpe ratio",{"_id":330,"body":331,"definition":340,"seeAlso":341,"slug":349,"term":194},"4d8388de-8bee-4f47-bec7-5cc7e24d4787",[332],{"_key":333,"_type":9,"children":334,"markDefs":339,"style":17},"8ab5937975e5",[335],{"_key":336,"_type":13,"marks":337,"text":338},"09a4390602bb",[],"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.",[],"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.",[342,343,345,348],{"path":196,"title":197},{"path":344,"title":199},"/docs/glossary#capital-sleeve",{"path":346,"title":347},"/docs/glossary#main","Main",{"path":322,"title":323},"deployment",{"_id":351,"body":352,"definition":377,"seeAlso":378,"slug":388,"term":389},"ce3f763d-1884-4a59-9d05-f345b4474280",[353,361,369],{"_key":354,"_type":9,"children":355,"markDefs":360,"style":17},"5239c921444a",[356],{"_key":357,"_type":13,"marks":358,"text":359},"0c012b71f720",[],"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.",[],{"_key":362,"_type":9,"children":363,"markDefs":368,"style":17},"bc1c793f8abb",[364],{"_key":365,"_type":13,"marks":366,"text":367},"c72a8b8261fa",[],"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.",[],{"_key":370,"_type":9,"children":371,"markDefs":376,"style":17},"46d77ea351a6",[372],{"_key":373,"_type":13,"marks":374,"text":375},"5eb101b093e5",[],"Every run holds its open positions at the end, so those rows read Open rather than End of run.",[],"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.",[379,382,385],{"path":380,"title":381},"/docs/glossary#fill","Fill",{"path":383,"title":384},"/docs/glossary#open-pnl","Open P&L",{"path":386,"title":387},"/docs/claude-and-chatgpt/tools/get_backtest_trades","Read a run's trade log","exit-reason","Exit reason",{"_id":391,"body":392,"definition":409,"seeAlso":410,"slug":418,"term":419},"4df46fbb-62b2-4ac9-8f48-9db51437397e",[393,401],{"_key":394,"_type":9,"children":395,"markDefs":400,"style":17},"7cb5e0d5260b",[396],{"_key":397,"_type":13,"marks":398,"text":399},"8a4043ac082f",[],"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.",[],{"_key":402,"_type":9,"children":403,"markDefs":408,"style":17},"786763da446c",[404],{"_key":405,"_type":13,"marks":406,"text":407},"476aed208f3b",[],"Example: 100 closed trades with a combined net P&L of $20,000. Expectancy is $200 a trade.",[],"The average dollars each closed trade added, wins and losses together: the closed trades' total net P&L divided by their number.",[411,414,417],{"path":412,"title":413},"/docs/glossary#profit-factor","Profit factor",{"path":415,"title":416},"/docs/glossary#win-rate","Win rate",{"path":228,"title":229},"expectancy","Expectancy",{"_id":421,"body":422,"definition":439,"seeAlso":440,"slug":448,"term":381},"154d6653-7a51-4c62-bb73-1007fae67fac",[423,431],{"_key":424,"_type":9,"children":425,"markDefs":430,"style":17},"f2407c12a180",[426],{"_key":427,"_type":13,"marks":428,"text":429},"c3db42d1c0d7",[],"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.",[],{"_key":432,"_type":9,"children":433,"markDefs":438,"style":17},"77e7aa602f8b",[434],{"_key":435,"_type":13,"marks":436,"text":437},"fb62f2ad9ada",[],"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.",[],"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.",[441,442,445,447],{"path":225,"title":226},{"path":443,"title":444},"/docs/glossary#position-sizing","Position sizing",{"path":446,"title":389},"/docs/glossary#exit-reason",{"path":386,"title":387},"fill",{"_id":450,"body":451,"definition":484,"seeAlso":485,"slug":492,"term":87},"231488bb-296e-48da-8489-5e7fb9ff57ec",[452,460,468,476],{"_key":453,"_type":9,"children":454,"markDefs":459,"style":17},"e52af0c29d70",[455],{"_key":456,"_type":13,"marks":457,"text":458},"e9e00f9a28ab",[],"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.",[],{"_key":461,"_type":9,"children":462,"markDefs":467,"style":17},"fc39e70119cf",[463],{"_key":464,"_type":13,"marks":465,"text":466},"d058188ef678",[],"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.",[],{"_key":469,"_type":9,"children":470,"markDefs":475,"style":17},"40fead2ecdce",[471],{"_key":472,"_type":13,"marks":473,"text":474},"6c46e8f1b2c1",[],"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.",[],{"_key":477,"_type":9,"children":478,"markDefs":483,"style":17},"87fc4dc33171",[479],{"_key":480,"_type":13,"marks":481,"text":482},"6794d68e1ec2",[],"Nothing is sent to a broker. Paper trading is a Trade deployment.",[],"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.",[486,487,490,491],{"path":115,"title":89},{"path":488,"title":489},"/docs/glossary#settled-session","Settled session",{"path":196,"title":197},{"path":322,"title":323},"forward-test",{"_id":494,"body":495,"definition":520,"seeAlso":521,"slug":527,"term":528},"c36923b7-a3cd-4bb3-8206-5ebd03b187eb",[496,504,512],{"_key":497,"_type":9,"children":498,"markDefs":503,"style":17},"f27eb3576cd4",[499],{"_key":500,"_type":13,"marks":501,"text":502},"fb3ae61f5671",[],"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.",[],{"_key":505,"_type":9,"children":506,"markDefs":511,"style":17},"220944a911fb",[507],{"_key":508,"_type":13,"marks":509,"text":510},"abf45e0573d5",[],"A position still open at the end has an MAE through its last bar.",[],{"_key":513,"_type":9,"children":514,"markDefs":519,"style":17},"09e8f28f2ef5",[515],{"_key":516,"_type":13,"marks":517,"text":518},"b19407c735a8",[],"Example: a long entered at $100 trades as low as $94 before exiting at $103. MAE is 6%.",[],"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.",[522,525,526],{"path":523,"title":524},"/docs/glossary#mfe","MFE",{"path":175,"title":176},{"path":386,"title":387},"mae","MAE",{"_id":530,"body":531,"definition":548,"seeAlso":549,"slug":553,"term":524},"a2260040-702e-4a44-93ca-93a62f59e597",[532,540],{"_key":533,"_type":9,"children":534,"markDefs":539,"style":17},"ec44b9249810",[535],{"_key":536,"_type":13,"marks":537,"text":538},"139e5c9f6c6b",[],"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.",[],{"_key":541,"_type":9,"children":542,"markDefs":547,"style":17},"bd77d636cae7",[543],{"_key":544,"_type":13,"marks":545,"text":546},"71416c7e2c27",[],"Example: a long entered at $100 reaches $110 before exiting at $103. MFE is 10%.",[],"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.",[550,552],{"path":551,"title":528},"/docs/glossary#mae",{"path":446,"title":389},"mfe",{"_id":555,"body":556,"definition":573,"seeAlso":574,"slug":580,"term":347},"cf890354-a380-458e-96f5-cbca8c7eceea",[557,565],{"_key":558,"_type":9,"children":559,"markDefs":564,"style":17},"fc567b711b3e",[560],{"_key":561,"_type":13,"marks":562,"text":563},"45d5698207e4",[],"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.",[],{"_key":566,"_type":9,"children":567,"markDefs":572,"style":17},"004f1c04c8f0",[568],{"_key":569,"_type":13,"marks":570,"text":571},"041e6ca91b95",[],"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.",[],"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.",[575,576,577],{"path":322,"title":323},{"path":193,"title":194},{"path":578,"title":579},"/docs/claude-and-chatgpt/tools/get_strategy","Read one strategy","main",{"_id":582,"body":583,"definition":600,"seeAlso":601,"slug":605,"term":606},"21c127ae-9839-40be-853b-4f76102f9d10",[584,592],{"_key":585,"_type":9,"children":586,"markDefs":591,"style":17},"dfe4991e1e55",[587],{"_key":588,"_type":13,"marks":589,"text":590},"06edf3fb1de4",[],"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.",[],{"_key":593,"_type":9,"children":594,"markDefs":599,"style":17},"8e2f88cd8b18",[595],{"_key":596,"_type":13,"marks":597,"text":598},"8029f9207f9b",[],"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.",[],"A run's account is cash only unless margin is enabled. Margin allows shorts and borrowing, with a 50% initial requirement and 25% maintenance.",[602,603,604],{"path":443,"title":444},{"path":446,"title":389},{"path":222,"title":223},"margin","Margin",{"_id":608,"body":609,"definition":634,"seeAlso":635,"slug":639,"term":176},"d88a79fe-e432-4fce-a5cc-3d79ee9e42fb",[610,618,626],{"_key":611,"_type":9,"children":612,"markDefs":617,"style":17},"836f521ff8f5",[613],{"_key":614,"_type":13,"marks":615,"text":616},"2743f32dfed8",[],"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.",[],{"_key":619,"_type":9,"children":620,"markDefs":625,"style":17},"1c6b4769dbf7",[621],{"_key":622,"_type":13,"marks":623,"text":624},"790fb3f888a6",[],"Positions held open at the end are marked at each close, so a loss on them deepens the drawdown.",[],{"_key":627,"_type":9,"children":628,"markDefs":633,"style":17},"4236999b2c29",[629],{"_key":630,"_type":13,"marks":631,"text":632},"d48c531e097e",[],"Example: equity peaks at $120,000 and later falls to $102,000 before recovering. Max drawdown is -15%.",[],"The worst peak-to-trough fall in account equity during the run, as a percentage of the peak.",[636,637,638],{"path":171,"title":172},{"path":43,"title":44},{"path":551,"title":528},"max-drawdown",{"_id":641,"body":642,"definition":659,"seeAlso":660,"slug":665,"term":229},"2bdd218e-a26b-497a-9baa-54790767cf6e",[643,651],{"_key":644,"_type":9,"children":645,"markDefs":650,"style":17},"542fa86d4912",[646],{"_key":647,"_type":13,"marks":648,"text":649},"679a1c689240",[],"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.",[],{"_key":652,"_type":9,"children":653,"markDefs":658,"style":17},"25071daac007",[654],{"_key":655,"_type":13,"marks":656,"text":657},"a1b8c1e7756e",[],"Example: $100,000 of starting capital ends at $108,500. Net P&L is +$8,500, of which $1,200 may still be open.",[],"What the account gained or lost over the whole run, in dollars: final equity minus starting capital, after commission, slippage, borrow fees and dividends.",[661,662,663],{"path":171,"title":172},{"path":383,"title":384},{"path":664,"title":419},"/docs/glossary#expectancy","net-pnl",{"_id":667,"body":668,"definition":693,"seeAlso":694,"slug":698,"term":384},"5f78fab4-2123-4069-8fdf-59540c3768d5",[669,677,685],{"_key":670,"_type":9,"children":671,"markDefs":676,"style":17},"b573f5ce99b9",[672],{"_key":673,"_type":13,"marks":674,"text":675},"7b58df0f931f",[],"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.",[],{"_key":678,"_type":9,"children":679,"markDefs":684,"style":17},"c9474d357139",[680],{"_key":681,"_type":13,"marks":682,"text":683},"21c9aa054966",[],"Closed-trade statistics, such as win rate, profit factor and expectancy, leave open positions out.",[],{"_key":686,"_type":9,"children":687,"markDefs":692,"style":17},"2ed7f3d6dbef",[688],{"_key":689,"_type":13,"marks":690,"text":691},"3a45deedbd32",[],"Example: net P&L is +$8,500 and two positions are still open at +$1,200 together. Open P&L is +$1,200.",[],"What the positions still held at the end of a run had gained or lost at the last close. Net P&L includes it.",[695,696,697],{"path":228,"title":229},{"path":446,"title":389},{"path":86,"title":87},"open-pnl",{"_id":700,"body":701,"definition":710,"seeAlso":711,"slug":715,"term":197},"17c134ae-43f3-4b88-9fec-fd988dbff029",[702],{"_key":703,"_type":9,"children":704,"markDefs":709,"style":17},"9dbb39cd7c70",[705],{"_key":706,"_type":13,"marks":707,"text":708},"5c587f2408d8",[],"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.",[],"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.",[712,713,714],{"path":193,"title":194},{"path":86,"title":87},{"path":344,"title":199},"paper-trading",{"_id":717,"body":718,"definition":735,"seeAlso":736,"slug":743,"term":444},"7f01db2c-95f0-4b96-8b49-a2d15f1a32d7",[719,727],{"_key":720,"_type":9,"children":721,"markDefs":726,"style":17},"3dc5981f38ad",[722],{"_key":723,"_type":13,"marks":724,"text":725},"1e2fa46e3e33",[],"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.",[],{"_key":728,"_type":9,"children":729,"markDefs":734,"style":17},"1d3e88b6be8a",[730],{"_key":731,"_type":13,"marks":732,"text":733},"98d64317600a",[],"A run can also cap one position and gross exposure as percentages of equity. Quantities are whole shares.",[],"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.",[737,739,740],{"path":738,"title":606},"/docs/glossary#margin",{"path":380,"title":381},{"path":741,"title":742},"/docs/glossary#rule-cards","Rule cards","position-sizing",{"_id":745,"body":746,"definition":763,"seeAlso":764,"slug":768,"term":413},"b151d743-9cff-4c38-a215-e0a8bcd7ca42",[747,755],{"_key":748,"_type":9,"children":749,"markDefs":754,"style":17},"9f34e56a42c9",[750],{"_key":751,"_type":13,"marks":752,"text":753},"e346c18bb9a7",[],"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.",[],{"_key":756,"_type":9,"children":757,"markDefs":762,"style":17},"008740ae8c52",[758],{"_key":759,"_type":13,"marks":760,"text":761},"368abad4b2be",[],"Example: winners total $30,000 and losers total $15,000. The profit factor is 2.0.",[],"Dollars won per dollar lost across all closed trades: gross profit divided by gross loss.",[765,766,767],{"path":415,"title":416},{"path":664,"title":419},{"path":228,"title":229},"profit-factor",{"_id":770,"body":771,"definition":796,"seeAlso":797,"slug":810,"term":811},"1edfaf7d-bd44-49e7-af72-e3fcf0583ff4",[772,780,788],{"_key":773,"_type":9,"children":774,"markDefs":779,"style":17},"99663d744c10",[775],{"_key":776,"_type":13,"marks":777,"text":778},"68890a556d4b",[],"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.",[],{"_key":781,"_type":9,"children":782,"markDefs":787,"style":17},"0f9fe06474b0",[783],{"_key":784,"_type":13,"marks":785,"text":786},"7f55bb21078e",[],"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.",[],{"_key":789,"_type":9,"children":790,"markDefs":795,"style":17},"1035cea51934",[791],{"_key":792,"_type":13,"marks":793,"text":794},"c41642b1b79b",[],"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.",[],"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.",[798,801,804,807],{"path":799,"title":800},"/docs/claude-and-chatgpt/rule-cards-and-programs","Rule cards and Programs",{"path":802,"title":803},"/docs/claude-and-chatgpt/tools/build_program","Build a Program",{"path":805,"title":806},"/docs/glossary#warm-up","Warm-up",{"path":808,"title":809},"/docs/glossary#timeframe","Timeframe","program","Program",{"_id":813,"body":814,"definition":823,"seeAlso":824,"slug":832,"term":833},"e21a14cc-5bd9-46a6-b5cc-fa75eebbe004",[815],{"_key":816,"_type":9,"children":817,"markDefs":822,"style":17},"7bc84d365ece",[818],{"_key":819,"_type":13,"marks":820,"text":821},"80182cf9852e",[],"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.",[],"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.",[825,828,829],{"path":826,"title":827},"/docs/getting-started/workspaces-and-projects","Workspaces and projects",{"path":280,"title":281},{"path":830,"title":831},"/docs/claude-and-chatgpt/connecting","Connect Claude to Orbital","project","Project",{"_id":835,"body":836,"definition":861,"seeAlso":862,"slug":867,"term":172},"8172694b-79c5-4487-8d46-485af96f7b29",[837,845,853],{"_key":838,"_type":9,"children":839,"markDefs":844,"style":17},"ddbe94f5fe1f",[840],{"_key":841,"_type":13,"marks":842,"text":843},"e87767944982",[],"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.",[],{"_key":846,"_type":9,"children":847,"markDefs":852,"style":17},"6641133e0627",[848],{"_key":849,"_type":13,"marks":850,"text":851},"10a096637a2d",[],"Example: starting capital of $100,000 and a net P&L of $12,000 give a return of +12%.",[],{"_key":854,"_type":9,"children":855,"markDefs":860,"style":17},"473c59b90038",[856],{"_key":857,"_type":13,"marks":858,"text":859},"4f362d058732",[],"The benchmark's return over the same days sits beside it on the strategy page. CAGR states the same gain as a yearly rate.",[],"Net P&L as a percentage of starting capital, over the run's own period. The strategies list shows the yearly rate under it.",[863,865,866],{"path":864,"title":178},"/docs/glossary#cagr",{"path":228,"title":229},{"path":40,"title":41},"return",{"_id":869,"body":870,"definition":887,"seeAlso":888,"slug":898,"term":742},"c9a58727-0321-4cc9-aeed-c71e815e1909",[871,879],{"_key":872,"_type":9,"children":873,"markDefs":878,"style":17},"dd525bfe6e76",[874],{"_key":875,"_type":13,"marks":876,"text":877},"0faf27541ba9",[],"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.",[],{"_key":880,"_type":9,"children":881,"markDefs":886,"style":17},"26abc9ae38a9",[882],{"_key":883,"_type":13,"marks":884,"text":885},"6bcde2711e1f",[],"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.",[],"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.",[889,890,893,896],{"path":799,"title":800},{"path":891,"title":892},"/docs/getting-started/your-first-strategy","Your first strategy",{"path":894,"title":895},"/docs/claude-and-chatgpt/tools/get_authoring_guide","Read the authoring guide",{"path":897,"title":811},"/docs/glossary#program","rule-cards",{"_id":900,"body":901,"definition":910,"seeAlso":911,"slug":915,"term":916},"2b38c0d2-eaa5-4a11-b1a6-4aa14f3c13dd",[902],{"_key":903,"_type":9,"children":904,"markDefs":909,"style":17},"9861f5588795",[905],{"_key":906,"_type":13,"marks":907,"text":908},"0c70a15bf293",[],"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.",[],"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.",[912,913,914],{"path":488,"title":489},{"path":808,"title":809},{"path":380,"title":381},"session","Session",{"_id":918,"body":919,"definition":936,"seeAlso":937,"slug":941,"term":489},"85ee75dd-25bd-4706-b665-acb3d9900cde",[920,928],{"_key":921,"_type":9,"children":922,"markDefs":927,"style":17},"c67e342b5f7f",[923],{"_key":924,"_type":13,"marks":925,"text":926},"71731b659793",[],"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.",[],{"_key":929,"_type":9,"children":930,"markDefs":935,"style":17},"87c73305cb7e",[931],{"_key":932,"_type":13,"marks":933,"text":934},"ba39103cb006",[],"A forward test's live view shows today provisionally until the settled curve takes over.",[],"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.",[938,940],{"path":939,"title":916},"/docs/glossary#session",{"path":86,"title":87},"settled-session",{"_id":943,"body":944,"definition":977,"seeAlso":978,"slug":985,"term":44},"a05a1293-06f4-4fdc-a6bd-9102c677eb9b",[945,953,961,969],{"_key":946,"_type":9,"children":947,"markDefs":952,"style":17},"e398acd47de5",[948],{"_key":949,"_type":13,"marks":950,"text":951},"860c49512952",[],"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.",[],{"_key":954,"_type":9,"children":955,"markDefs":960,"style":17},"76d0a571bf68",[956],{"_key":957,"_type":13,"marks":958,"text":959},"45b744c621c8",[],"Positions held open at the end are marked at each close, so they are in the daily returns.",[],{"_key":962,"_type":9,"children":963,"markDefs":968,"style":17},"f3bfedc16de5",[964],{"_key":965,"_type":13,"marks":966,"text":967},"f0435a6c06e0",[],"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.",[],{"_key":970,"_type":9,"children":971,"markDefs":976,"style":17},"6957267ce5c3",[972],{"_key":973,"_type":13,"marks":974,"text":975},"fd7bb5d7334a",[],"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.",[],"Return earned per unit of day-to-day variation, above the risk-free rate. Higher means smoother compensation for the risk taken.",[979,981,984],{"path":980,"title":328},"/docs/glossary#deflated-sharpe-ratio",{"path":982,"title":983},"/docs/glossary#sortino-ratio","Sortino ratio",{"path":319,"title":320},"sharpe-ratio",{"_id":987,"body":988,"definition":1005,"seeAlso":1006,"slug":1010,"term":226},"465e1b95-382e-41db-ac9a-66267054bdf6",[989,997],{"_key":990,"_type":9,"children":991,"markDefs":996,"style":17},"1410f704879c",[992],{"_key":993,"_type":13,"marks":994,"text":995},"2a01de005b85",[],"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.",[],{"_key":998,"_type":9,"children":999,"markDefs":1004,"style":17},"2b927c6cf79c",[1000],{"_key":1001,"_type":13,"marks":1002,"text":1003},"e9dbffecaceb",[],"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.",[],"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.",[1007,1008,1009],{"path":222,"title":223},{"path":262,"title":231},{"path":380,"title":381},"slippage",{"_id":1012,"body":1013,"definition":1037,"seeAlso":1038,"slug":1041,"term":983},"ecf10adf-6684-4923-9901-8e599fc46cd6",[1014,1022,1029],{"_key":1015,"_type":9,"children":1016,"markDefs":1021,"style":17},"25969b9aba3c",[1017],{"_key":1018,"_type":13,"marks":1019,"text":1020},"654340d8f440",[],"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.",[],{"_key":1023,"_type":9,"children":1024,"markDefs":1028,"style":17},"fd017a889184",[1025],{"_key":1026,"_type":13,"marks":1027,"text":24},"7479331b6e6e",[],[],{"_key":1030,"_type":9,"children":1031,"markDefs":1036,"style":17},"073706047258",[1032],{"_key":1033,"_type":13,"marks":1034,"text":1035},"9465c390c860",[],"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.",[],"Like the Sharpe ratio, but only downside variation counts against the strategy: the days that fell short of the risk-free rate.",[1039,1040],{"path":43,"title":44},{"path":175,"title":176},"sortino-ratio",{"_id":1043,"body":1044,"definition":1061,"seeAlso":1062,"slug":1067,"term":84},"79175994-cc6d-4008-971b-45694b05adba",[1045,1053],{"_key":1046,"_type":9,"children":1047,"markDefs":1052,"style":17},"68e3fc868479",[1048],{"_key":1049,"_type":13,"marks":1050,"text":1051},"129e01508003",[],"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.",[],{"_key":1054,"_type":9,"children":1055,"markDefs":1060,"style":17},"55811a3fc578",[1056],{"_key":1057,"_type":13,"marks":1058,"text":1059},"294b358496cc",[],"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.",[],"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.",[1063,1064,1065,1066],{"path":891,"title":892},{"path":799,"title":800},{"path":741,"title":742},{"path":897,"title":811},"strategy",{"_id":1069,"body":1070,"definition":1087,"seeAlso":1088,"slug":1093,"term":809},"5d114414-46a8-4167-b0d7-34a0f96b6ed1",[1071,1079],{"_key":1072,"_type":9,"children":1073,"markDefs":1078,"style":17},"4cf794dca473",[1074],{"_key":1075,"_type":13,"marks":1076,"text":1077},"b0355a77c1a3",[],"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.",[],{"_key":1080,"_type":9,"children":1081,"markDefs":1086,"style":17},"96a92a1b2f3e",[1082],{"_key":1083,"_type":13,"marks":1084,"text":1085},"10ff2d9f74bf",[],"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.",[],"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.",[1089,1090,1091,1092],{"path":939,"title":916},{"path":805,"title":806},{"path":897,"title":811},{"path":741,"title":742},"timeframe",{"_id":1095,"body":1096,"definition":1129,"seeAlso":1130,"slug":1134,"term":320},"3a13b878-ab2e-4be9-9359-d8ff4377208c",[1097,1105,1113,1121],{"_key":1098,"_type":9,"children":1099,"markDefs":1104,"style":17},"cb0b4f89ae7a",[1100],{"_key":1101,"_type":13,"marks":1102,"text":1103},"75b1ad990034",[],"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.",[],{"_key":1106,"_type":9,"children":1107,"markDefs":1112,"style":17},"f26989742b5d",[1108],{"_key":1109,"_type":13,"marks":1110,"text":1111},"7c34aa92a239",[],"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.",[],{"_key":1114,"_type":9,"children":1115,"markDefs":1120,"style":17},"4b8b10d04d0c",[1116],{"_key":1117,"_type":13,"marks":1118,"text":1119},"a189001d9b70",[],"The versions card also shows runs per version and runs across the whole strategy, which are different numbers.",[],{"_key":1122,"_type":9,"children":1123,"markDefs":1128,"style":17},"6743f2f9b439",[1124],{"_key":1125,"_type":13,"marks":1126,"text":1127},"c2b618344464",[],"Example: a strategy tried at 10, 14 and 20-day lookbacks, each over two periods, has six runs and a trial count of 3.",[],"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.",[1131,1132,1133],{"path":980,"title":328},{"path":322,"title":323},{"path":43,"title":44},"trial-count",{"_id":1136,"body":1137,"definition":1154,"seeAlso":1155,"slug":1159,"term":1160},"88a781ac-af76-4dc7-bb4c-28a0775861e5",[1138,1146],{"_key":1139,"_type":9,"children":1140,"markDefs":1145,"style":17},"7f0e29694a73",[1141],{"_key":1142,"_type":13,"marks":1143,"text":1144},"eac36460318d",[],"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.",[],{"_key":1147,"_type":9,"children":1148,"markDefs":1153,"style":17},"273b8cbda0cc",[1149],{"_key":1150,"_type":13,"marks":1151,"text":1152},"3b1ead435d2d",[],"A rule strategy reads its own bars for every symbol; no other data node is needed.",[],"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.",[1156,1157,1158],{"path":805,"title":806},{"path":83,"title":84},{"path":891,"title":892},"universe","Universe",{"_id":1162,"body":1163,"definition":1180,"seeAlso":1181,"slug":1188,"term":323},"520a1177-6727-4330-b447-40ad532c1aa9",[1164,1172],{"_key":1165,"_type":9,"children":1166,"markDefs":1171,"style":17},"1f2db27e861b",[1167],{"_key":1168,"_type":13,"marks":1169,"text":1170},"0341412b9a82",[],"A version is made on purpose: Save version in the editor, or a backtest of code that changed. Autosave never makes one.",[],{"_key":1173,"_type":9,"children":1174,"markDefs":1179,"style":17},"4a205014e1b4",[1175],{"_key":1176,"_type":13,"marks":1177,"text":1178},"ff11066de583",[],"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.",[],"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.",[1182,1183,1184,1185],{"path":346,"title":347},{"path":319,"title":320},{"path":578,"title":579},{"path":1186,"title":1187},"/docs/claude-and-chatgpt/tools/update_strategy","Save a new version of a strategy","version",{"_id":1190,"body":1191,"definition":1216,"seeAlso":1217,"slug":1223,"term":806},"62edc829-dc54-4bbb-9f08-74079edb829d",[1192,1200,1208],{"_key":1193,"_type":9,"children":1194,"markDefs":1199,"style":17},"e27c62c503b6",[1195],{"_key":1196,"_type":13,"marks":1197,"text":1198},"30ebc557a2f5",[],"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.",[],{"_key":1201,"_type":9,"children":1202,"markDefs":1207,"style":17},"112d78844e3b",[1203],{"_key":1204,"_type":13,"marks":1205,"text":1206},"02d13ba03e79",[],"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.",[],{"_key":1209,"_type":9,"children":1210,"markDefs":1215,"style":17},"79057ed118e8",[1211],{"_key":1212,"_type":13,"marks":1213,"text":1214},"c8c7ee4c5215",[],"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.",[],"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.",[1218,1219,1221,1222],{"path":808,"title":809},{"path":1220,"title":1160},"/docs/glossary#universe",{"path":897,"title":811},{"path":283,"title":284},"warm-up",{"_id":1225,"body":1226,"definition":1243,"seeAlso":1244,"slug":1247,"term":416},"6d9bbdd2-8fde-449c-af5e-2f2710591afb",[1227,1235],{"_key":1228,"_type":9,"children":1229,"markDefs":1234,"style":17},"d1f3aa38d082",[1230],{"_key":1231,"_type":13,"marks":1232,"text":1233},"812f4ddf5dc8",[],"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.",[],{"_key":1236,"_type":9,"children":1237,"markDefs":1242,"style":17},"ac4c0f6ca2af",[1238],{"_key":1239,"_type":13,"marks":1240,"text":1241},"2c894500ee5b",[],"Example: 55 of 100 closed trades made money. The win rate is 55%.",[],"The share of closed trades that ended with a positive net P&L, after fees. The strategies list calls it Profitable trades.",[1245,1246],{"path":412,"title":413},{"path":664,"title":419},"win-rate",{"_id":1249,"body":1250,"definition":1259,"seeAlso":1260,"slug":1266,"term":281},"0831fbc6-997e-45f6-b0cc-2056c6d27d79",[1251],{"_key":1252,"_type":9,"children":1253,"markDefs":1258,"style":17},"14891cb0ca74",[1254],{"_key":1255,"_type":13,"marks":1256,"text":1257},"184f07860434",[],"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.",[],"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.",[1261,1262,1264],{"path":826,"title":827},{"path":1263,"title":833},"/docs/glossary#project",{"path":1265,"title":287},"/docs/glossary#credits","workspace",{"categories":1268,"settings":1655,"tools":1676},[1269,1295,1331,1357,1397,1441,1510,1551,1571,1591,1608],{"_id":1270,"blurb":1271,"order":1272,"pages":1273,"showDisclaimer":1292,"slug":1293,"title":1294},"f3a96461-762f-4400-afaa-22792b774c55","Create your account, find your way around a workspace, and build and backtest your first strategy.",10,[1274,1280,1284,1288],{"_id":1275,"group":1276,"lastUpdated":1276,"slug":1277,"summary":1278,"title":1279},"5fc41c43-d229-4d53-8a8e-d555d2398c18",null,"sign-up","Create an Orbital account with an email and password or with Google, sign in, reset a lost password, and join a workspace from an invitation email.","Sign up and sign in",{"_id":1281,"group":1276,"lastUpdated":1276,"slug":1282,"summary":1283,"title":827},"fbaf2a74-2afb-4d57-b33a-f6c96e26b624","workspaces-and-projects","What a workspace and a project each hold, what signup creates for you, how to switch between them, and how a connected assistant is bound to one project.",{"_id":1285,"group":1276,"lastUpdated":1276,"slug":1286,"summary":1287,"title":892},"88a2268d-a124-46c7-b029-c2d4f7ff775d","your-first-strategy","Build a rule-card strategy in the workflow editor, walked through with a golden cross on SPY, and see it listed in Backtesting ready to run.",{"_id":1289,"group":1276,"lastUpdated":1276,"slug":1290,"summary":1291,"title":78},"47e1ce39-c0a1-4cef-9e90-b8dd33cc8ee1","your-first-backtest","Run a strategy over past data, read the estimate before it starts, follow its progress, and understand the figures, chart and trade log it produces.",false,"getting-started","Getting started",{"_id":1296,"blurb":1297,"order":1298,"pages":1299,"showDisclaimer":1328,"slug":1329,"title":1330},"657bcd3b-cc2a-44ed-9f84-03643c99c547","Connect an AI assistant to your Orbital project so it can create strategies and run backtests for you.",20,[1300,1304,1309,1313,1318,1323],{"_id":1301,"group":1276,"lastUpdated":1276,"slug":1302,"summary":1303,"title":831},"3bad212d-95fa-478c-948f-0596407ca16e","connecting","Add Orbital AI to Claude or Claude Code, sign in, approve the connection for one workspace and project, and start asking Claude to build and backtest strategies.",{"_id":1305,"group":1276,"lastUpdated":1276,"slug":1306,"summary":1307,"title":1308},"4e342515-cd92-471f-80c0-67a319c2ac1e","tools","The eleven tools Claude can call in your Orbital project: how a session uses them, the permission each needs, and the refusals any tool can give.","The eleven tools",{"_id":1310,"group":1276,"lastUpdated":1276,"slug":1311,"summary":1312,"title":800},"c57bc136-30d6-4b59-9b69-463dc5ea5c13","rule-cards-and-programs","The two kinds of strategy Claude can write in your project: rule cards built from Orbital's strategy nodes, and Programs, Rust code Orbital compiles for logic the cards cannot express.",{"_id":1314,"group":1276,"lastUpdated":1276,"slug":1315,"summary":1316,"title":1317},"74e28c3b-d4df-498f-8961-13dd42f5b27a","troubleshooting","What to do when Claude asks you to sign in, a tool is refused, a run will not start or cancel, or the connection stops working. Each symptom with its cause and its fix.","Troubleshooting",{"_id":1319,"group":1276,"lastUpdated":1276,"slug":1320,"summary":1321,"title":1322},"d1a9691c-b38a-44ac-9741-a100d411692f","faq","Short answers about what Claude can and cannot do in your Orbital project: trades, projects, data, teammates, apps, ChatGPT, advice and disconnecting.","FAQ",{"_id":1324,"group":1276,"lastUpdated":1276,"slug":1325,"summary":1326,"title":1327},"b8c41c3e-ea55-41e8-9bbc-273f82e26633","chatgpt","Orbital AI for ChatGPT is coming. Until it ships, Claude and Claude Code are the assistants Orbital supports.","ChatGPT",true,"claude-and-chatgpt","Claude & ChatGPT",{"_id":1332,"blurb":1333,"order":1334,"pages":1335,"showDisclaimer":1292,"slug":1356,"title":1340},"b3972fa1-43ef-4d47-be02-d44097dda281","Ask about markets, your workspace and the web, and let Chat propose dashboards, workflows and strategies you approve.",30,[1336,1341,1346,1351],{"_id":1337,"group":1276,"lastUpdated":1276,"slug":1338,"summary":1339,"title":1340},"abf18936-5589-4ddb-8da1-4830374f145a","overview","Where Chat lives, what it can read and propose, how threads work, which model answers, and the request limits and turn clock it runs under.","Chat",{"_id":1342,"group":1276,"lastUpdated":1276,"slug":1343,"summary":1344,"title":1345},"06bc241c-5dc7-49fe-b61f-df14ec6837f4","asking-about-markets","Tag a ticker with $, get cited prices, history and screens from market data, chart it in the thread, pin a chart to a dashboard, and use the slash commands.","Ask about markets",{"_id":1347,"group":1276,"lastUpdated":1276,"slug":1348,"summary":1349,"title":1350},"e9b59bec-7c5a-4f8c-86c3-22945d7a7605","proposals-and-approvals","Everything Chat builds, edits or removes leaves a card in the thread. Routine changes apply at once, others wait for your Apply, and an agent permission waits for a workspace owner or admin.","Proposals and approvals",{"_id":1352,"group":1276,"lastUpdated":1276,"slug":1353,"summary":1354,"title":1355},"f7277dae-4c8a-4f1b-aa5a-e0fb82007b9a","documents-and-web","Attach documents and images to a chat, keep files in the Library and mention them with @, let Chat search the web, and talk to Orbital from Telegram.","Documents, the web and your phone","chat",{"_id":1358,"blurb":1359,"order":1360,"pages":1361,"showDisclaimer":1292,"slug":1396,"title":1365},"06f1d75d-66bd-4d17-8a54-9c532c52164b","Give an agent a task and the permissions to do it, then approve what it proposes.",40,[1362,1366,1371,1376,1381,1386,1391],{"_id":1363,"group":1276,"lastUpdated":1276,"slug":1338,"summary":1364,"title":1365},"94a1f453-8bb9-410c-be0d-54a49f236620","What an Orbital agent is, how the Agents page is laid out, what an agent may do on its own, what it asks you for, and where its runs and results go.","Agents",{"_id":1367,"group":1276,"lastUpdated":1276,"slug":1368,"summary":1369,"title":1370},"0463f2ef-6d61-4381-be44-00d32ab6c025","set-up-an-agent","Create an agent with New agent, answer its short setup interview and apply the card, then adjust its model, instructions, permissions, tools and limits in Agent settings.","Set up an agent",{"_id":1372,"group":1276,"lastUpdated":1276,"slug":1373,"summary":1374,"title":1375},"2e5b03e2-70e7-4862-b848-ce875bb51118","permissions-and-approvals","What an agent may do on its own: the four permissions, the Deny, Ask, Auto and Always approve modes, who can change them, and how to answer the card an agent leaves while it waits.","Permissions and approvals",{"_id":1377,"group":1276,"lastUpdated":1276,"slug":1378,"summary":1379,"title":1380},"7af877fb-44cb-4a34-8863-45a7dfbdc3b9","tasks","Give an agent, or a channel, a goal it keeps working at run after run: what done looks like, an optional budget, what to do when an idea fails, and the task bar that shows where it stands.","Tasks",{"_id":1382,"group":1276,"lastUpdated":1276,"slug":1383,"summary":1384,"title":1385},"5987c9d5-3610-43ac-ba0f-7378e10fdebb","automations","Start an agent when nobody is here: on a schedule, with a task that repeats or starts on a market event, or when a monitor's signal fires.","Automations",{"_id":1387,"group":1276,"lastUpdated":1276,"slug":1388,"summary":1389,"title":1390},"1a36f6b4-3d37-4603-bbeb-af7619438db9","teams","Put several agents in one channel, address one with @name or all at once, give the team a task the lead splits into sub-tasks, and bind the sources an agent can search.","Channels and teams",{"_id":1392,"group":1276,"lastUpdated":1276,"slug":1393,"summary":1394,"title":1395},"8eda3de1-589c-416e-ab81-890a77d35938","strategy-work","What an agent does with strategies: reads them, writes and edits rule cards, branches, makes a version main, builds a program, runs backtests and controls a deployment, and what each act needs.","Agents and strategies","agents",{"_id":1398,"blurb":1399,"order":1400,"pages":1401,"showDisclaimer":1292,"slug":1440,"title":1405},"5aa5558d-e712-42de-a7bc-291c35b0f0f7","Build pipelines from nodes, run them on a schedule or a trigger, and route their outputs.",50,[1402,1406,1411,1416,1421,1426,1431,1436],{"_id":1403,"group":1276,"lastUpdated":1276,"slug":1338,"summary":1404,"title":1405},"a482b682-605b-44ed-aa42-69f659d5dfc6","What a workflow is, how the Workflows list and the editor are laid out, what a version is, and what every run leaves behind.","Workflows",{"_id":1407,"group":1276,"lastUpdated":1276,"slug":1408,"summary":1409,"title":1410},"d99cd71a-f5e3-4ca3-b000-24635997eb71","build-a-workflow","Create a workflow in the editor: add nodes, wire their ports, set each node, declare an Output, save, run it and read the Console.","Build a workflow",{"_id":1412,"group":1276,"lastUpdated":1276,"slug":1413,"summary":1414,"title":1415},"1c515e36-c132-471c-81b2-4c2f36fbca66","nodes","Every node in the workflow editor's Nodes panel, section by section: what each one does and which ones appear only when an app is on.","Node reference",{"_id":1417,"group":1276,"lastUpdated":1276,"slug":1418,"summary":1419,"title":1420},"b3bdb58f-06c5-48cb-9120-b221ac49c9dc","schedules","Run a workflow at set times: calendar or exchange timing, run times in a time zone, the run policy, and the version every scheduled run uses.","Schedules",{"_id":1422,"group":1276,"lastUpdated":1276,"slug":1423,"summary":1424,"title":1425},"b06b41c9-3274-4f3a-8181-7f3b32306992","webhooks-and-signals","Start a workflow from another system's request or from a market signal. Set up an incoming webhook or a signal monitor under Automations, with its checks, duplicate handling and limits.","Webhooks and signals",{"_id":1427,"group":1276,"lastUpdated":1276,"slug":1428,"summary":1429,"title":1430},"82fe3c34-ff39-4ccd-b25c-f16fb8367707","outputs-alerts-and-actions","Where a workflow's result goes: the Output node, the Alert node, watchlist and metric writes, HTTP calls and child workflows.","Outputs, alerts and actions",{"_id":1432,"group":1276,"lastUpdated":1276,"slug":1433,"summary":1434,"title":1435},"f2894fdf-2918-48a5-b268-b743915648b3","runs-and-versions","What each run status means, how to read Run History, what the timeouts and On node failure do, and how versions and main decide what a run executes.","Runs and versions",{"_id":1437,"group":1276,"lastUpdated":1276,"slug":1315,"summary":1438,"title":1439},"cf91d9a3-1bc2-4dd0-97c6-0c7d1594b0c4","Symptom by symptom: a failed, paused, held or timed-out run, a scheduled run that did not start, a workflow marked Needs attention, a refused webhook, and a node whose app is off.","Troubleshooting workflows","workflows",{"_id":1442,"blurb":1443,"order":1444,"pages":1445,"showDisclaimer":1328,"slug":1509,"title":1449},"a560aeb6-d8cc-4a14-95d9-5e526ea41a39","Rule-card and Rust program strategies, versions, runs, cost profiles and forward tests.",60,[1446,1450,1455,1460,1464,1470,1475,1480,1485,1490,1495,1500,1505],{"_id":1447,"group":1276,"lastUpdated":1276,"slug":1338,"summary":1448,"title":1449},"4b8c23fd-eba6-42f1-b15b-ce459a4381ff","What a strategy, a version, a run and a forward test are, how the Strategies list, the strategy page and Compare are laid out, and where results live.","Backtesting",{"_id":1451,"group":1276,"lastUpdated":1276,"slug":1452,"summary":1453,"title":1454},"b3af053f-e2a8-41b2-9d7e-6e60ebf9ced8","rule-card-strategies","Every Strategy node in the workflow editor, field by field: the universe, indicators, rules, sizing, filters, the Program node, the Output and run parameters.","Rule-card strategies",{"_id":1456,"group":1276,"lastUpdated":1276,"slug":1457,"summary":1458,"title":1459},"b0104237-5e9c-4aa4-a152-a6dc852c3d11","program-strategies","Write a strategy as a Rust program: the editor, Build and Test, the on_bar function and the host interface, the Program node's settings, fuel and limits, and how Claude or an agent builds one.","Program strategies in Rust",{"_id":1461,"group":1276,"lastUpdated":1276,"slug":1462,"summary":1463,"title":81},"7ba46c72-f20a-440b-b09f-0b1d4d4ee46b","run-a-backtest","Every field of the Run dialog, the estimate and its checks, the run quotas, progress, cancelling a run, and what a completed run records.",{"_id":1465,"group":1466,"lastUpdated":1276,"slug":1467,"summary":1468,"title":1469},"5d61dd3c-078f-4660-92cd-944c832d2b14","Reference","reading-results","The strategy page after a run: the Overview chart and tiles, the Report, the Runs and Trades views, what each metric and column means, open positions and exit reasons.","Reading results",{"_id":1471,"group":1276,"lastUpdated":1276,"slug":1472,"summary":1473,"title":1474},"d25d0e47-82dc-4c2e-bb3d-696bfab45f67","cost-profiles","The four cost profiles and which ones a run can use, the default slippage and commission, what the report says about costs, and the costs no profile models.","Cost profiles",{"_id":1476,"group":1276,"lastUpdated":1276,"slug":1477,"summary":1478,"title":1479},"6eb719e7-b922-44c1-b35d-77fbdef86525","versions","When a backtest makes a version, how a run's settings make configurations and the trial count, how main starts and moves, and the change note a run can record.","Versions",{"_id":1481,"group":1276,"lastUpdated":1276,"slug":1482,"summary":1483,"title":1484},"3b865ec7-ba81-4362-a657-59d4d3626778","forward-testing","Freeze a completed run and re-run it after each settled session, on the same chart and trade list. Start one, read it, and see what updates cost and how a test stops.","Forward testing",{"_id":1486,"group":1276,"lastUpdated":1276,"slug":1487,"summary":1488,"title":1489},"4f8815e4-e430-450d-8227-be0d964fb9d0","backtest-vs-forward-test-vs-paper","How a backtest, a forward test and a paper deployment differ, what the simulation leaves out, and the fill, margin and benchmark rules every result rests on.","Backtest, forward test and paper",{"_id":1491,"group":1276,"lastUpdated":1276,"slug":1492,"summary":1493,"title":1494},"2758dd0d-1721-446b-9ab5-0dd2afde2015","when-trades-happen","The exact timing of every decision and fill: the bar a strategy decides on, the bar it fills on, what an early close changes, and why paper fills differ from the backtest.","When trades happen",{"_id":1496,"group":1276,"lastUpdated":1276,"slug":1497,"summary":1498,"title":1499},"a0babc17-2ec5-4084-82f4-efb94470c5b9","avoiding-overfitting","A fitted backtest looks like a found one. Six rules, three warning bands, and how Orbital's trial count, deflated Sharpe and forward testing show how much of a result is luck.","Avoiding overfitting",{"_id":1501,"group":1276,"lastUpdated":1276,"slug":1502,"summary":1503,"title":1504},"8c238472-649e-4da4-b2ea-e827e9e53f91","manage-and-delete-strategies","Find strategies in the list, the gallery and the map, compare up to 20 on one chart, delete one or many, restore from Trash within 30 days, and what a running deployment locks.","Manage and delete strategies",{"_id":1506,"group":1276,"lastUpdated":1276,"slug":1315,"summary":1507,"title":1508},"09f05732-280c-4011-a599-a26082071408","Symptom by symptom: a run that stays queued, a run limit, a refused estimate, a program that does not build, a workflow that is not a strategy, odd results and a stopped forward test.","Troubleshooting backtests","backtesting",{"_id":1511,"blurb":1512,"order":1513,"pages":1514,"showDisclaimer":1328,"slug":1549,"title":1550},"d4dcce27-8d92-4d3a-9da1-28bec555d0dd","Deploy a strategy to a paper account, set its budget and limits, and approve or stop what it does.",70,[1515,1519,1524,1529,1534,1539,1544],{"_id":1516,"group":1276,"lastUpdated":1276,"slug":1338,"summary":1517,"title":1518},"f293b0c4-a19a-494c-a6cc-89efeccd1db2","What the Trade app shows, how paper trading on Alpaca works, what a deployment is, and what the account menu can pause, cancel and close.","Trade on paper",{"_id":1520,"group":1276,"lastUpdated":1276,"slug":1521,"summary":1522,"title":1523},"2b4a4b1e-c74d-47b2-9ab7-3bbd73f1f053","connect-alpaca","Connect an Alpaca paper account in Settings so the Trade app can place paper orders with it, then check it, sync it, reconnect it or disconnect it.","Connect Alpaca",{"_id":1525,"group":1276,"lastUpdated":1276,"slug":1526,"summary":1527,"title":1528},"37265f93-3219-4741-82b5-70e7935b67b3","deploy-a-strategy","Deploy a strategy's main version to an Alpaca paper account from Trade: the deploy review, why a deploy is refused, the orders it sends, the first run, and what an edit after deploy changes.","Deploy a strategy",{"_id":1530,"group":1276,"lastUpdated":1276,"slug":1531,"summary":1532,"title":1533},"ec6ec9a2-5f4f-4d0f-ae1b-03bb2c23709c","capital-sleeves","Each deployment on a paper account has its own budget, caps on its entries and profit and loss from its own fills. Pausing or stopping one leaves the rest running.","Budgets and limits",{"_id":1535,"group":1276,"lastUpdated":1276,"slug":1536,"summary":1537,"title":1538},"776a4e31-c1bd-4116-8e6d-05fb2a1a23f1","approvals-and-permissions","The trading permission a deployment runs under, what a held trade is and how long it waits, where approvals arrive, and how an agent's own permissions apply.","Approvals and permissions",{"_id":1540,"group":1276,"lastUpdated":1276,"slug":1541,"summary":1542,"title":1543},"18554807-50f3-4d66-b962-41b31a9b8fb1","manage-a-deployment","Pause, resume or stop one strategy, change its limits without stopping it, read the running-version notice, and use the account menu to pause, cancel or close everything on an account.","Manage a deployment",{"_id":1545,"group":1466,"lastUpdated":1276,"slug":1546,"summary":1547,"title":1548},"d99f07a9-3024-4147-b79e-2ed6a6883384","pnl-orders-and-activity","What each figure in Trade means and where it comes from: the Overview tiles, a deployment's Today, Realized gain and Trend, the Trades card, and the Positions, Orders and Activity tabs.","P&L, orders and activity","trade","Trade",{"_id":1552,"blurb":1553,"order":1554,"pages":1555,"showDisclaimer":1292,"slug":1570,"title":1559},"02328bc7-dd08-4a14-8ba7-7fb4387879f5","Keep lists of symbols with notes and flags, and feed them to workflows and dashboards.",80,[1556,1560,1565],{"_id":1557,"group":1276,"lastUpdated":1276,"slug":1338,"summary":1558,"title":1559},"2cccb4c0-847c-47e1-969c-cb31a53b1a23","Named lists of symbols with prices, sections and flags. Build them on the Watchlists page or from Chat, and feed them to workflows and dashboards.","Watchlists",{"_id":1561,"group":1276,"lastUpdated":1276,"slug":1562,"summary":1563,"title":1564},"a0a54c9e-5d7f-47ed-9ea8-2f62398d5f0f","notes-and-flags","Flag rows in a list with one of seven colours, keep a research note and price target per symbol, link straight to a note, and save notes from Chat.","Notes and flags",{"_id":1566,"group":1276,"lastUpdated":1276,"slug":1567,"summary":1568,"title":1569},"eb1ebfbb-fbd7-47a6-b506-9b14be8a3206","use-with-workflows-and-dashboards","Feed a list's symbols into a workflow, let a workflow update a list, manage both from the Watchlists page, and work through a list on a dashboard.","Use watchlists in workflows and dashboards","watchlists",{"_id":1572,"blurb":1573,"order":1574,"pages":1575,"showDisclaimer":1292,"slug":1590,"title":1579},"ec4f70ac-7aeb-45bb-9a3b-a0c58274183d","Live widgets from market data and workflow outputs, with templates to start from.",90,[1576,1580,1585],{"_id":1577,"group":1276,"lastUpdated":1276,"slug":1338,"summary":1578,"title":1579},"8fb8ba02-5404-4f63-b757-14a034d8fb1a","A grid of widgets fed by market data and your workflows. Create one blank, with Chat or from a template, then pick symbols in the sidebar and run the workflows behind it.","Dashboards",{"_id":1581,"group":1276,"lastUpdated":1276,"slug":1582,"summary":1583,"title":1584},"6d17e6dc-f4ee-4593-9330-292e517ee7d8","widgets","A widget is one tile on a dashboard: a type plus the data it draws. Add one from the gallery, bind it to a workflow or market data, see where its numbers came from, or pin one from Chat.","Widgets",{"_id":1586,"group":1276,"lastUpdated":1276,"slug":1587,"summary":1588,"title":1589},"06b0ae5d-4d7c-4891-9230-75af49970141","templates","Install a ready-made dashboard or workflow from the template gallery, see what each template creates and schedules, and change or update it after install.","Templates","dashboards",{"_id":1592,"blurb":1593,"order":1594,"pages":1595,"showDisclaimer":1292,"slug":1606,"title":1607},"93aa62fe-8bc0-40fe-8fb2-194ed287174d","What fires, where it is delivered, and how to read your inbox.",100,[1596,1601],{"_id":1597,"group":1276,"lastUpdated":1276,"slug":1598,"summary":1599,"title":1600},"37d1c72c-0cbc-416d-afc6-2f340f9c13c2","notifications","Your inbox for fired alerts, failed runs, finished backtests and anything waiting on your approval, and the settings that also send them to your email.","Notifications",{"_id":1602,"group":1276,"lastUpdated":1276,"slug":1603,"summary":1604,"title":1605},"5930c9ef-0f6b-4405-a67e-dac6de1fab76","alerts-from-workflows","Raise an alert with a workflow's Alert node, start the workflow from a market signal with Monitor a signal, and review each alert and where it went in Notifications.","Alerts from workflows","alerts-and-notifications","Alerts & notifications",{"_id":1609,"blurb":1610,"order":1611,"pages":1612,"showDisclaimer":1292,"slug":1653,"title":1654},"a6576f5f-6b1d-4456-95a7-ea27f1ba41df","Members and roles, apps and plugins, API keys, credits and billing.",110,[1613,1618,1623,1628,1633,1638,1643,1648],{"_id":1614,"group":1276,"lastUpdated":1276,"slug":1615,"summary":1616,"title":1617},"06b06aaa-b51a-4c5b-9a62-3122b621af07","profile-and-sign-in","Open Settings, edit your profile, connect Google, change or set a password, see what each change signs out, and delete your account.","Profile and sign-in",{"_id":1619,"group":1276,"lastUpdated":1276,"slug":1620,"summary":1621,"title":1622},"8d8580c6-2e78-4ea6-a569-be33225d4434","members-and-roles","The workspace and project roles Orbital uses and what each allows, what an invitation gives you, how to delete a workspace, and how many workspaces you can create.","Members and roles",{"_id":1624,"group":1276,"lastUpdated":1276,"slug":1625,"summary":1626,"title":1627},"3dd6675b-126b-419e-b231-6380f425e666","apps","Install Watchlists, Backtesting and Trade for your workspace, choose the projects that use each one, and read the permissions Trade asks for.","Apps",{"_id":1629,"group":1276,"lastUpdated":1276,"slug":1630,"summary":1631,"title":1632},"6e25f5a8-a49b-4dd4-9f3e-f475d940bf43","plugins","Connect outside services to your workspace in Settings: a Google Drive folder that syncs into your Library, and an Alpaca paper account for Trade.","Plugins",{"_id":1634,"group":1276,"lastUpdated":1276,"slug":1635,"summary":1636,"title":1637},"d991056d-a99d-49ec-8ba0-06dbc9eed3d6","api-keys","Create a key under Settings → Developers, call Orbital's API from your own code, and see what each switch, limit and error means and how to revoke a key.","API keys",{"_id":1639,"group":1276,"lastUpdated":1276,"slug":1640,"summary":1641,"title":1642},"03ac79c0-cd4f-421d-a9ad-3eae5f260f86","credits-and-billing","What credits are and what spends them, how to read Billing and Usage, buy credits, set up auto-reload and a spend limit, and change or cancel your plan.","Credits and billing",{"_id":1644,"group":1276,"lastUpdated":1276,"slug":1645,"summary":1646,"title":1647},"5850c64b-293f-4c4d-8f8e-72c579ec59f9","ai-models","Set the model new chats start on, choose which models people can pick, and add your own provider keys so your provider bills calls once credits run out.","AI models",{"_id":1649,"group":1276,"lastUpdated":1276,"slug":1650,"summary":1651,"title":1652},"d0b5aec8-827b-44c7-802c-1f69cbf03533","workspace-settings","What General holds and who can change it, how to delete a workspace, where notification settings live, and how Trash keeps deleted items for 30 days.","Workspace settings","workspace-and-account","Workspace & account",{"footerLine":1656,"searchSuggestions":1657,"startHere":1670,"toolPageBanner":1675},"Orbital is software, not a broker or investment adviser. Results shown in Orbital are hypothetical and are not investment advice. Brokerage services are provided by the broker you connect.",[1658,1659,1660,1661,1663,1664,1666,1668],{"path":891,"title":892},{"path":77,"title":78},{"path":830,"title":831},{"path":1662,"title":1308},"/docs/claude-and-chatgpt/tools",{"path":80,"title":81},{"path":1665,"title":81},"/docs/backtesting/run-a-backtest",{"path":1667,"title":1528},"/docs/trade/deploy-a-strategy",{"path":1669,"title":1380},"/docs/agents/tasks",[1671,1673,1674],{"path":1672,"summary":1278,"title":1279},"/docs/getting-started/sign-up",{"path":77,"summary":1291,"title":78},{"path":830,"summary":1303,"title":831},"This connector creates and backtests strategies. It cannot place trades.",[1677,1683,1689,1693,1698,1702,1706,1711,1716,1720,1724],{"_id":1678,"group":1679,"kind":1680,"name":1681,"oneLiner":1682,"order":1272,"title":895},"b21a67fe-7e4a-4e57-96d5-cecb99a98c2a","strategies","read","get_authoring_guide","Returns the rule-card vocabulary or the Program manual that Claude reads before it writes a strategy.",{"_id":1684,"group":1679,"kind":1685,"name":1686,"oneLiner":1687,"order":1298,"title":1688},"b03fa4eb-9ea1-4a4e-9795-f48d9b785354","write","create_strategy","Saves a new strategy from the minimal nodes-and-connections spec and enrols it for backtesting.","Create a strategy",{"_id":1690,"group":1679,"kind":1685,"name":1691,"oneLiner":1692,"order":1334,"title":803},"c57f922b-b2dd-47f9-93f5-aa2c256603c3","build_program","Compiles a Program node's Rust source and stamps the built module on the node as a new version.",{"_id":1694,"group":1679,"kind":1680,"name":1695,"oneLiner":1696,"order":1360,"title":1697},"0f683d98-f149-4ac3-9875-f0cfb0013845","list_strategies","Lists the project's strategies with the latest backtest verdict of each.","List the project's strategies",{"_id":1699,"group":1679,"kind":1680,"name":1700,"oneLiner":1701,"order":1400,"title":579},"e5b108a5-f59c-4320-9686-5544f4ebd923","get_strategy","Reads one strategy: its versions, its recent runs, and the graph that update_strategy takes back.",{"_id":1703,"group":1679,"kind":1685,"name":1704,"oneLiner":1705,"order":1444,"title":1187},"1ed39cd7-fd66-407d-9468-ee35e1525564","update_strategy","Replaces a strategy's graph with the complete graph Claude sends, saved as a new version. Prior versions are kept.",{"_id":1707,"group":1708,"kind":1680,"name":1709,"oneLiner":1710,"order":1272,"title":284},"d2618b28-a163-4047-a795-2f22befeaf8b","backtests","estimate_backtest","Prices a run in credits, checks data coverage and returns the confirm handoff run_backtest takes. Spends nothing.",{"_id":1712,"group":1708,"kind":1713,"name":1714,"oneLiner":1715,"order":1298,"title":81},"b8112e94-6e85-4501-b02c-c24f1dfea0b7","run","run_backtest","Launches a backtest under a run id Claude mints, spends credits, and returns the run id at once.",{"_id":1717,"group":1708,"kind":1680,"name":1718,"oneLiner":1719,"order":1334,"title":326},"67e28b54-865e-4fd4-9e02-0f4bca0511e1","get_backtest","Returns a run's status and progress while it runs, and its compact verdict once it is done.",{"_id":1721,"group":1708,"kind":1680,"name":1722,"oneLiner":1723,"order":1360,"title":387},"a79c54a7-8ccc-4f6f-bf51-d1bc526e1cb3","get_backtest_trades","Returns a page of a finished run's trade log, newest first within the page, with the total.",{"_id":1725,"group":1708,"kind":1726,"name":1727,"oneLiner":1728,"order":1400,"title":1729},"74de9d43-0392-4815-ab76-976b1227e899","destructive","cancel_backtest","Cancels a queued or running backtest. A finished run is refused, and a cancelled run cannot be resumed.","Cancel a backtest",1793786634986]