An allocation is how investments are divided. This walkthrough is for a DIY investor who wants to turn a rule into a saved model and understand its hypothetical results. You will finish with code, inputs, run records and allocations that you can revisit, rather than a result that exists only in a conversation.
Our example divides an allocation between SPY and TLT and compares monthly with quarterly rebalancing. It is an illustration of the workflow, not a recommendation to own either fund. You can inspect the existing public example before signing up.
1. Research the assets
Create your workspace and open the asset screener. Start with $100 in credit, valid for 7 days, with no card required. Builds and runs are metered. See pricing for current plans and usage rates.
Find SPY and TLT. Inspect exposure, structure, available history and missing metadata. SPY provides US large-cap equity exposure; TLT holds long-term US Treasuries, whose price can fall when yields rise. A label such as “bonds” does not capture that distinction. Catalog coverage does not establish whether your brokerage account can trade an asset.
For the public example reviewed October 5, 2026, the stored result window was July 31, 2002 through October 2, 2026, and no backfills were reported. Those are that result's dates, not a guarantee for every new model or the current live card.
2. Define one model
Open Models and use the model creation control. An illustrative request:
Build a long-only allocation in SPY and TLT. Default to 60% SPY and 40% TLT, rebalanced monthly. Expose equity weight and monthly, quarterly or annual rebalance frequency as inputs. State the price basis, signal and execution timing, and any costs included. Do not silently invent missing history.
Review the selected effort and usage before submitting. Build time depends on the task. Wait for a successful result; a queued build or an error is not a completed backtest. Review the generated implementation because natural-language requests can leave choices open.
The existing public example has these inputs, but a new generated implementation may differ. Use the inputs actually shown by your own model.
3. Inspect what happened
Check the model's data date and window before reading the headline numbers. Then inspect:
- Implementation and inputs: do the weights, rebalance schedule and execution assumptions match the question?
- History and drawdowns: what happened across the available period, and what history is missing or synthetic?
- Metrics and benchmark: compare the same dates and assumptions; use the metrics guide for definitions.
- Allocations: Target is the latest model decision. Current is the modeled book at the latest data date and can differ as prices move. Neither is your actual brokerage holding.
- Costs: gross results, requested fee overlays and modeled execution costs are different things. Do not assume taxes, slippage or market impact are included.
ENSEMBLE stores the research record, but future data corrections and dependency changes can affect reruns. Keep the run identity and assumptions when citing a result. Inspect the methodology and common mistakes.
4. Compare one change
Keep equity weight fixed and test quarterly instead of monthly rebalancing. Use the model's parameter testing workflow and inspect the resulting run alongside the baseline. With an agent or API, request intent=test explicitly so the experiment does not replace the live model.
Write down which input changed. Compare dates, drawdowns, turnover and allocations before drawing a conclusion. A better historical number alone is not a reason to adopt the change. Adoption is a separate, explicit action; for strategy-code changes, create a separate private model and compare it with the reviewed model. Draft and revision tools are not currently enabled in the public MCP tool list.
5. Maintain the reviewed model
If you want fresh allocations, enable its schedule and set a spending limit appropriate to your account. A schedule requests work; inspect successful runs, warnings and data dates to confirm it completed. Data, dependencies or funding can delay a refresh.
You can return through the web app or a connected agent. Check visibility before sharing. Broker-format exports are a Business feature; see the export walkthrough for their limits.
ENSEMBLE is research software. Backtests are hypothetical and do not establish future returns or suitability for an investor.
Frequently asked questions
- Do I need an AI assistant?
- No. You can use the web app. A compatible connected agent, REST API and CLI are alternative ways to work with the same saved models.
- Does changing the chart's date range run a new backtest?
- No. A display window selects from existing results. A start-date input on a new run changes when the model begins trading. Keep that distinction explicit when comparing results.
- How far back can I test?
- It depends on the assets, model logic and available data. Inspect coverage for each asset and distinguish observed history from synthetic backfills.
Related
- BacktestingBacktest metrics explained: CAGR, volatility, Sharpe ratio, and max drawdown
Read ENSEMBLE backtest metrics with their actual conventions: CAGR, annualized volatility, a zero-risk-free Sharpe calculation, maximum drawdown and trading activity. Compare matched windows and inspect assumptions.
- BacktestingCommon backtesting mistakes and how to avoid them
The ways a backtest lies: lookahead bias, survivorship bias, overfitting, ignored costs, short or regime-limited samples, and misread metrics. What each one looks like, how to detect it, and what a backtesting tool can and cannot protect you from.
- StrategiesThe 60/40 portfolio: rules, variants, and a backtest
Define a stock-and-bond allocation, inspect a public 60/40 model, and test rebalancing or asset changes over matched dates. Learn what the model shows and what it leaves out.
- AI agentsBuild and maintain investment models with an AI agent
Use current ENSEMBLE tools to research assets, create a saved model, inspect a run, compare inputs and maintain reviewed allocations through explicit refreshes.