Research methodology
Portfolio construction runs as three explicit stages (screen, select, allocate) rather than a single opaque scoring step. Screening keeps assets with sufficient price history over the evaluation window. Selection ranks the eligible universe by a method you choose. Allocation then sets weights using a portfolio optimizer, subject to the position bounds and risk-profile constraints attached to the run.
Keeping the stages separate is deliberate: it means an allocation can be traced back to the universe it came from and the ranking that produced it, and that changing one stage does not silently change the others. Constraints are applied as bounds on the optimizer rather than penalties in the objective. Where a set of bounds is arithmetically impossible (a 5% maximum weight across ten assets cannot sum to 100%), the binding limit is relaxed to the nearest feasible value rather than the run failing.
Unless you set your own maximum weight, each asset is capped by your risk level: 10% for conservative, 15% for moderate and 25% for aggressive. A small portfolio needs more room, so with n holdings the cap rises to 1.5/n, 2/n or 3/n (conservative, moderate, aggressive) when that is higher: 18.75%, 25% and 37.5% with eight holdings. Balanced allocation uses at most the moderate cap and Defensive the conservative one, so the stricter of the two applies. A maximum you set yourself always wins. The same caps apply to live portfolios and to their backtests. These caps apply to strategies created or regenerated since October 5, 2026; a strategy saved earlier keeps the caps it was saved with until it is regenerated.
Allocation methods
- HRPHierarchical Risk Parity
- Clusters assets by correlation structure and allocates across the resulting hierarchy. It avoids inverting the covariance matrix, which makes it less sensitive to estimation error than classical mean-variance on noisy or highly correlated universes.
- MVOMean-Variance Optimization
- The classical risk/return trade-off. Included because it is the reference every other method is judged against, with the caveat that it concentrates hard when return estimates are noisy.
- CVaRConditional Value at Risk
- Optimizes against expected loss in the tail rather than variance, which matters more when the return distribution is skewed than when it is not.
Ranking methods available at the selection stage include market capitalization, Sharpe ratio, twelve-month momentum, and a composite quantitative ranking. No method is treated as universally correct; the right choice depends on the universe and the objective, which is why the choice is exposed rather than hidden.
Every ranking method applies the same liquidity floor: an asset is eligible only if its median daily dollar volume (closing price times shares traded, in US dollars) over its last 60 trading days, as of the ranking date, is at least $1 million. An asset with too little recent trading history to measure is not eligible. Currency pairs and any ticker you lock into a portfolio are exempt. The floor applies to strategies created or regenerated since October 5, 2026; a strategy saved earlier keeps the rules it was saved with in its live re-rankings until it is regenerated, while a new backtest of it applies the floor, so for those strategies the backtest and the live portfolio can select different assets.
Backtesting
Backtests are walk-forward. At every rebalance date the engine re-runs the same screen, select, and allocate steps using only data available up to that date, on a rolling lookback window, then buys the resulting weights and lets each position drift with its own returns until the next rebalance. Ranking inputs are point-in-time: company financial statements, for example, enter a decision only from the date they became publicly knowable, not the end of the period they report. The exceptions are listed under model limitations below.
This matters because a single in-sample fit over the whole history will almost always look better than anything achievable in practice. Rebalance frequency is configurable, and transaction costs can be applied in basis points, charged on every buy and every sell, so that a high-turnover strategy pays for its turnover rather than being compared against a frictionless benchmark.
A backtest is a hypothetical result, not a record of real trading. The U.S. Securities and Exchange Commission treats backtested performance as hypothetical performance in its marketing rule for investment advisers, and names the core problem: calculated after the fact, backtesting “allows an adviser to claim credit for investment decisions that may have been optimized through hindsight” (SEC Release IA-5653, 2020). Acubic shows backtests so you can see how a rule-based method would have behaved, not as evidence of what it will earn.
Data sources
Market data (historical prices, market capitalization, company profiles, and treasury yields used as the risk-free rate) is sourced from our licensed market-data infrastructure. The returns used for allocation and backtest simulation are computed on dividend-adjusted prices. The earlier screening and ranking pass runs on unadjusted closes, which is materially cheaper across a full universe; the adjusted panel is then used for every return series that drives allocation and simulation.
Data quality checks include missing-value handling, field normalization, and timestamp validation. Price bars flagged as corrupt or recorded outside a venue's trading session are withheld and treated as missing rather than used. Closing prices are kept consistent across stock splits. Assets without adequate price coverage over the window under evaluation are dropped at the screening stage rather than being carried forward with interpolated history, since gap-filled prices understate realized risk.
Model limitations
These are the limitations we consider material. They are properties of this class of model, not defects to be tuned away, and no output should be read without them in mind.
- Historical performance does not guarantee future outcomes.
- Model assumptions may degrade in structural market regime changes. Correlation structure estimated over a rolling window is a description of the past, and correlations tend to converge toward one in exactly the drawdowns diversification is meant to protect against.
- Execution quality in live markets can differ from simulated assumptions. Backtests fill at historical closing prices; live orders face spreads, partial fills, and timing differences a daily series cannot represent.
- Universes assembled from currently listed instruments carry survivorship bias. Assets that were delisted or acquired are absent from a present-day universe, and their absence flatters historical results.
- Testing many configurations against the same history raises the chance that a strong result reflects selection rather than signal. Walk-forward validation reduces lookahead bias; it does not eliminate the effect of repeatedly searching the same data.
- Transaction costs are a flat charge in basis points on the value traded. Market impact, borrowing costs, taxes, currency conversion fees and each broker's own fees are not modeled.
- Assets with too little price history are left out of each rebalance until they have enough, so the early years of a long backtest use a smaller, older universe.
- Where an asset has no historical market-capitalization series, its past size is estimated from today's market capitalization scaled by its price on each date, which uses today's share count and can misstate its size in earlier years. The backtest flags this when it happens.
- Backtests are hypothetical: no money was traded, and the only costs they include are the ones described above.
Compliance and disclaimers
Platform outputs are informational and educational. They are not individualized investment advice, and Acubic is not acting as your fiduciary or registered investment advisor through this interface alone.
Before making investment decisions, consult a licensed professional and evaluate suitability for your financial situation, jurisdiction, and risk tolerance.
Review and updates
Methodology documentation is reviewed when models, data pipelines, or core assumptions materially change. Significant updates should be reflected in corresponding guide pages. How content on this site is written and corrected is set out in the editorial policy.
What changed
- This page reviewed: backtest description brought up to date with the October changes below, limitations extended, and this change log added.
- Walk-forward schedule fixed: backtests whose window crossed a leap day or a month ending on the 31st had silently lost their opening quarter. Market-capitalization size filters compare companies in US dollars, not in each listing's own currency.
- Financial-statement data is used only from the date it became publicly knowable, removing a one-to-three-month look-ahead for companies that do not file with the SEC.
- For strategies created or regenerated from this date: risk-level caps per asset (10%, 15% or 25%, widened for small portfolios) on by default, and a $1 million liquidity floor for every ranking method. Closing prices made consistent across stock splits. Backtests apply the same position constraints as live portfolios.
- Backtests simulate a real account: positions drift with their own returns between rebalances, and transaction costs are charged on every buy and sell. Price bars flagged as corrupt by data-quality checks are withheld and treated as missing.