What is Midas?
Midas is a point-in-time backtesting lab. You design a Backtest (a reproducible recipe for an investing approach), and Midas replays it against history using only the data that was actually public at each moment, so a result can never peek at the future. It is deliberately philosophy-neutral: growth, value, quality, momentum, dividend, or fixed-basket ideas all run on the same engine, scored the same honest way.
The workflow
1. Backtests page → + New Backtest. 2. Walk the steps: Strategy → Companies → Timeline → Cashflows. Coverage is the wheel beside Save & Exit, not a step. In Strategy, use a saved library strategy, a built-in solo or pair, or choose Choose my own investments and allocations: the Companies step holds your investments and their allocations. Strategies and lists are built in the Library and picked up in the builder. 3. Tick the backtests to compare and hit Run ▶. 4. Read the results (chart, summary, portfolio-through-time, scorecard, rebalancing, taxes, observations). Every run is also saved under Runs.
Why "reproducible"?
A Backtest is a saved document: the same inputs produce the same result (a saved run in Runs is frozen exactly as it was). The Reliability check tells you how much of the data the backtest needs actually existed, so you know whether to believe the headline number. The only thing that legitimately moves a re-run is the passage of time (backtests end today) or your data provider revising history.
Use the tabs above to dig into each area. Midas is research software, not investment advice. See the Disclaimer.
Backtests
A Backtest is one saved recipe. Its Strategy step decides who picks the holdings:
A scored strategy re-ranks your universe on each Timeline date and deploys capital to the top names. This is the research workhorse (e.g. "own the 10 highest-quality stocks, re-checked quarterly").
Your own picks: you fix the tickers and their target weights once; no scoring. Good for testing a specific basket or a model portfolio.
Benchmark: holds a single ETF and mirrors the first backtest's cashflows 1:1, so the comparison is apples-to-apples. SPY, QQQ and DIA ride every run unless you switch one off in the results page's Benchmarks card, where you can also add others. Each benchmark uses one of a run's ten slots.
Comparing & viewing
Tick the backtests to chart together, then hit Run (N) ▶. On the results page the cards at the right hold one tab per backtest: pick one to switch which you're viewing at any time. Its line is drawn on top, gets the headline number, and the portfolio-through-time, strategy, rebalancing and taxes panels reflect it. A name in the summary table switches the view too.
Organizing
Click the crown to favourite a backtest (only favourites show gold names). Make folders in the left rail and drag rows into them, or use Move. Filter holds the sort: alphabetical, Caliber, coverage, newest or oldest. Dragging a row to a new place sets a manual order. Folders, favourites and manual order all persist across restarts.
Editing safely
Everything auto-saves. Use ↶ Undo / ↷ Redo in the editor to walk changes back and forth. Duplicate clones a backtest (and keeps you on the same tab). A trust re-audit only runs when you change something that affects the data needed, not when you tweak a weight.
Strategies
A Strategy decides what deserves capital. It is a set of metrics drawn from the library (revenue growth, ROIC, FCF yield, P/E, debt/equity, momentum, …), each tagged with a group (Income statement, Valuation, Profitability, Health, …) from the library's own taxonomy.
Weights & groups
Each metric has a direction (higher- or lower-is-better: flip it with the LOWER/HIGHER toggle) and a weight. A metric's share of the score is its weight over the sum of all weights, and the strategy visual shows those shares as one ring.
Reuse & visuals
Strategies are built in the Library and linked into backtests. Click the donut on a backtest's card for a blown-up view of its make-up and a Swap Strategy button. Editing a saved strategy updates every backtest that links it (resolved at run time); a built-in solo or pair is copied in instead, and a saved run under Runs stays frozen. The donut is one ring of metric wedges: a metric wears its group's colour, and a second metric of the same group wears a shade of it.
Gotcha: why weight tweaks sometimes don't move results
The basket rule + DCA method (next tab) decide the actual portfolio. If you hold an Equal-weighted Top-N and a weight tweak only re-orders names within that same top-N set, the portfolio (and the result) won't change. To make weights bite, use a rank/blend DCA, tighten the Top-N, or change which metrics are selected.
Universe: who's eligible
The Universe is the pool of companies a backtest may hold. On each re-score date, every eligible ticker is scored. A ticker missing a selected metric stays in that date's ranking, and the missing metric is scored at the neutral median (50th percentile), so the ticker still competes on the metrics it has. Dropping such tickers instead is a setting: Settings → Data providers → Missing-data policy. A ticker also needs at least a year of filed quarterly statements (4 quarters) on that date to be scored at all, so a barely-public company can't rank top-N on one quarter of noisy data (a real failure mode on deep-history backtests with thin early fundamentals).
A few index members have prices but no filed quarterly statements at all, so a scored strategy never ranks them: First Republic (FRCB) and Signature Bank (SBNY) filed with the FDIC rather than the SEC, and Shell (SHEL), Placer Dome (PDG) and Laidlaw (LDWIF) were foreign filers while they were members. Your own picks can hold any of them. The Coverage step names the ones in your universe.
Point-in-time correctness
Financial statements are sliced by filing date and used from the next day, because most filings post after the market closes, so a backtest only ever uses what was public on the as-of date. Index membership is reconstructed point-in-time (the members as of that date, not today's list) to avoid survivorship bias, from a built-in S&P 500 history (1998–present) that needs no data provider, so companies that were in the index then but have since delisted are still in the past universe.
Data providers
Sharadar (via Nasdaq Data Link), the point-in-time core: prices from 1998 and fundamentals from 1990, covering delisted companies as well as live ones. That last part is what makes a survivorship-free backtest possible at all; it is why Midas uses this source rather than a free one. SEC EDGAR, free and public-domain: filing dates and SIC sectors, merged on top. Enable sources in Settings → Data providers; the Strategy metrics on offer are limited to what your enabled providers can actually supply, so the Reliability check never fails on data that never existed. The Missing-data policy (drop vs fill) also lives there.
Cashflows
Set one-time and/or recurring contributions and withdrawals (one-time on a date; recurring with a from/to window and cadence). The earliest cashflow date anchors where the backtest actually begins.
Basket rule + DCA method
Under a scored strategy, the basket rule (e.g. Top 10) selects which ranked names are eligible at each contribution. Two choices then size them:
Split contributions is the shape: Equally, Linearly, Quadratically (steeper), or a Custom split you type per position.
Buy method is what a tilted split follows: Rank (more to higher-ranked names), Discount (more to names trading further below their high, over a 1, 2 or 3-year window or all time; 2 years by default), or Rank & Discount, mixed 50/50 by default.
Set allocations (your own picks): your fixed weights.
Order minimums
Every trade has to be one a brokerage would accept. A purchase needs at least $1 and at least 0.0001 shares. If either falls short, the money is held as cash and deployed at the next scoring date instead. A sale needs at least 0.0001 shares too, and is not made below that.
Share quantities are whole ten-thousandths, so the remainder a purchase cannot absorb stays in cash for the next deployment. With small, frequent contributions across a wide basket, that can leave a small share of each contribution waiting.
Capital-gains tax
Enable tax modeling to tax realized gains from sales/rebalancing. You choose short- vs long-term rates and a lot-selection method: FIFO, LIFO, highest-/lowest-cost (and their LT/ST variants), tax-sensitive, intraday-FIFO, or the Tax-Lot Optimizer (Schwab-style: short-term losses first, then long-term losses, then no-gain lots, then long-term gains, then short-term gains). Dividend income is also taxed (qualified at the long-term rate by default), settled each Dec 31 alongside capital gains.
Rebalancing
Rebalancing, Exit Conditions and Never Sell all live in Cashflows → Advanced Cashflows, because they answer the one question that step asks: how money is managed once it is already invested. The card has an On/Off switch and starts off, so a new backtest is buy & hold: contributions only direct new money, and winners grow into ever-larger shares (allocation drift).
Schedule: rebalance on the same dates your Timeline re-scores on, or give rebalancing its own clock (monthly, quarterly, semi-annually, annually). The two are separable because they answer different questions: scoring decides which companies are eligible for contributions, rebalancing decides what to sell.
Drift band: a ± tolerance (pp) that trades between scheduled dates when a holding strays too far, with a minimum-months throttle so it can't fire too often.
Extent: pull all the way to target, or only back to the edge of the band (positions inside it are left alone).
Minimum trade size: a rebalance fires only when a position has drifted past this $ or % floor, so the portfolio doesn't churn on trivial drift. Once it has fired, the proceeds are reinvested in full, however small each buy. Forced sales are never skipped: mergers, withdrawals, year-end tax cover and exit-condition sales always occur.
Maximum concentration per ticker: a hard ceiling on any single holding's weight, applied to every purchase, not only to rebalances.
Exit Conditions
Rules that sell on their own, checked daily and point-in-time. Each rule applies either to each ticker that meets its criteria, or to the entire portfolio when the whole book does. A whole-portfolio rule sells a percentage of total value spread across your holdings by the method you pick, and routes the proceeds back into a regular contribution or into cash until it re-enters.
Never Sell
A list of tickers the rebalancer may not sell, optionally covering Exit Conditions too. Forced sales are never vetoed. Bear in mind that refusing to sell is a decision made with hindsight, and will usually flatter a backtest.
Costs
Rebalancing realizes gains, which are taxed per your Cashflows Account type setting and the rates in Settings (using your chosen lot method) and add turnover. The Rebalancing card on the results page shows each event's turnover, realized gain, and what was sold/bought, so you can see exactly what the discipline cost.
The Reliability check: can you believe the result?
A backtest is only as good as the data behind it. The Reliability grade = the percentage of (ticker × date × metric) cells that have real, filed data: not gap-filled, not assumed. A high grade means the backtest ran on data that genuinely existed point-in-time.
What it audits
Look-ahead: statements sliced by filing date and used from the next day. Survivorship: a company that stops trading is sold at its last price the next day and the cash is redeployed like a contribution; a failed company's own price history carries its loss down to that last price. Universe basis: point-in-time vs today's membership. Missing data: which names lacked a selected metric on which dates. They are kept and scored at the neutral median unless you chose to drop them.
Coverage by date → move start
The Coverage by date heat strip shows how complete the data was over time. Early years are often sparse. Click a cell to move your backtest's start date there: Midas trims earlier Timeline dates and clamps earlier cashflows so the backtest truly starts later. (Re-run to refresh the chart/portfolio.) The same "move start" appears as a nudge when coverage at your start is incomplete, a later date has complete coverage, and moving there keeps at least half of your dates.
When it re-runs
The audit re-runs only when you change something data-relevant (selected metrics, tickers, dates, mode), not when you tweak weights, basket, or cashflows. While it's running you'll see a calm blue spinner, never a stale FAIL.
Scoring
On each as-of date, for each selected metric, every eligible ticker's raw value is converted to a percentile (0–100) against the rest of the universe (the percentile is flipped for "lower is better" metrics). A ticker's Score is the weighted average of its percentiles:
Score = Σ ( percentileₘ × weightₘ ) ÷ Σ weightₘ
where weightₘ is the metric's own weight, zero or more. A metric a ticker is missing scores the neutral 50th percentile, so the ticker still competes on the metrics it has; Settings → Data providers → Missing-data policy can drop such tickers from that date's ranking instead.
Gains and returns
Gain % = (final value + everything withdrawn) ÷ total invested − 1. Money you take out is money you received, so it counts towards the gain rather than against it; a backtest that pays you an income is not losing what it pays.
Return (the headline number) is money-weighted by default: the per-year growth rate of your actual contributions, their internal rate of return, so it is what the dollars you put in earned, contribution timing included. Return is on the same basis everywhere the app shows it -- the Chart card, the summary table, the Backtests list, Runs, Caliber and the Report. Settings can switch the whole app to the time-weighted return; the switch removes every saved result, so nothing computed on one basis is read as the other. The (i) beside that setting explains the two.
Time-weighted (TWR) is the strategy's own return, with the effect of contribution timing removed: money flowing in or out is netted out on the day it moves, so a backtest is credited only with what its holdings actually did. It answers "how good is this strategy?"; money-weighted answers "how did my money do?". Both are in the Performance card whichever is the headline.
Return is not shown for a backtest shorter than a year. Annualizing a short period amplifies it rather than summarising it: on one ordinary price path, the same backtest reads +2,316%/yr over a day, −56.6%/yr over ten days and +74.4%/yr over three weeks. At a year the return and the total converge, which is what makes the return mean something. Gain % is shown for any length.
Simple per-year rate = ((final + withdrawn) ÷ invested)(365 ÷ days) − 1, where days is each backtest's own holding period. It treats every dollar you ever contributed as though it had been there since day one, so on a long drip-fed run it understates; it is the fallback only for a run recorded before the rates were stored.
Max drawdown = the largest peak-to-trough decline of the time-weighted return index: the strategy's own worst fall, with contribution timing removed. Measured on the dollar balance instead it would read shallower, because money arriving during a decline lifts the trough.
Consistency score
The backtest is cut into back-to-back calendar windows: one per year, quarter or month, using the longest unit that still gives at least 8 windows. The choice is made from the backtest's length and can't be changed.
Each window is scored by its annualised return: a flat window scores 50, and the score bends toward 0 or 100 past ±25% a year without reaching either, so a +45% year still scores above a +28% year and a −60% crash below a −25% dip.
Consistency = the average of the window scores minus their spread (their standard deviation). Returns that arrive evenly across the calendar score high; a gain that lands in one window scores high there and low in the rest, and the spread pulls it down. The score feeds the Risk card and the Caliber.
Fees
The optional advisory fee %/yr is applied as a daily drag (compounded) to the value series, to either all backtests or the viewed backtest only, so you can see the long-run cost of fees.
Why a re-run can differ
Backtests end at today, so re-running on a later day lengthens the period and adds fresh prices, legitimately shifting the final value and return; a provider revising its history does the same. A run saved under Runs is a frozen snapshot. Within a day, the result cache makes identical re-runs instant and bit-identical.
What these numbers are not
Every figure on this page is computed from a simulation. However carefully the arithmetic is done (and this page exists because it is done carefully), the result is still a hypothetical constructed with the benefit of hindsight, on a strategy no real account traded, without the effect your own orders would have had on prices. A precise number is not a reliable one. Past performance does not guarantee future results, and none of this is investment advice. See the Disclaimer.
- Treat the backtest as a hypothesis, not a verdict. A single historical run is one draw from history, built with hindsight. The question to explore is whether the edge is real and repeatable, not whether the past number is impressive.
- Pressure-test it out of the window. Re-run over different start dates, sub-periods, and market regimes (bull, bear, sideways). A result that only holds in one window may be fit to that window rather than to anything durable.
- Re-read the assumptions. Check this run's data coverage, fees, taxes, dividends, and rebalancing settings. Small changes to costs or timing can quietly erase an apparent edge: turn friction up and see what survives.
- Compare against a plain benchmark. See whether the strategy beats a simple index (e.g. buy-and-hold) after costs, and not only on its gains, but on the Risk and Consistency measures too.
- Look at what you'd actually hold. Use the Portfolio and Scorecard cards to inspect the real positions, concentration, and turnover, and ask honestly whether you could hold them through the worst drawdown shown here.
- Paper-trade before any real money. Track the strategy on paper or in a simulated account going forward, so you observe its behaviour out-of-sample, in real time, with live prices, where no backtest can flatter it.
- Account for real-world frictions a backtest misses. Bid/ask spreads, slippage, minimum lot sizes, order timing, tax lot treatment, and your own behaviour under stress all affect outcomes and are only approximated here.
- Consult licensed professionals. Before committing capital, discuss your own goals, time horizon, and risk tolerance with a licensed financial adviser and a tax professional. Midas cannot know your situation and does not give advice.
Disclaimer
Midas is research software, not investment advice. Nothing in this application (results, scores, trust checks, observations, nudges, or any other output) is a recommendation to buy, sell, or hold any security, or an offer of advisory services. Midas and its author are not registered investment advisers, broker-dealers, or fiduciaries, and no advisory relationship is created by your use of this software.
Backtested results are hypothetical. They do not represent actual trading, are constructed with the benefit of hindsight, and do not reflect the impact your own trading would have had on prices. Dividends are modeled per each backtest's Dividends setting, reinvested or taken as cash, and dividend income is taxed; an acquisition or merger forces a taxable sale at the deal price. Tax and fee modeling are simplified approximations and not tax advice. Data comes from third-party providers and may contain errors, gaps, or revisions; the trust check discloses known gaps but cannot verify provider correctness.
Past performance does not guarantee future results. Markets change; strategies that performed well historically can fail. You can lose money, including your entire investment. Do your own research and consult a licensed financial adviser, tax professional, or attorney before making investment decisions. By using Midas you accept full responsibility for any decisions you make.
Midas is research and educational software, not investment advice. Nothing in this application (including results, scores, rankings, trust checks, observations, nudges, charts, or any other output) is a recommendation, solicitation, or offer to buy, sell, or hold any security or to adopt any investment strategy, nor is it a research report or an offer of advisory services. Midas and its author are not registered investment advisers, broker-dealers, or fiduciaries, and no advisory or fiduciary relationship is created by your use of this software.
Hypothetical, backtested results have inherent limitations. Every result here is a simulation, not the record of real trading. It is constructed with the full benefit of hindsight, was not achieved by any real account, and does not reflect the impact your own orders would have had on market prices (liquidity, slippage, partial fills, or the availability of shares to buy or borrow). Hypothetical performance frequently differs (often substantially) from results subsequently achieved by an actual strategy, and no representation is made that any account will or is likely to achieve results similar to those shown.
Overfitting is a real and serious risk. The more strategies, metrics, weightings, and variations you test, the more likely it is that a good-looking backtest reflects chance fitting to past data rather than any durable edge. A high historical gain, Sharpe ratio, or trust grade is not evidence that a strategy will perform well in the future.
Point-in-time methodology reduces, but cannot eliminate, bias. Midas slices financial statements by filing date so a backtest uses only data that was public at each moment, can use point-in-time index membership, and sells a company that stops trading at its last recorded price. These safeguards reduce look-ahead and survivorship bias, but they cannot guarantee its absence: data may be restated or revised after the fact, filings may be missing or misdated, a failed company is valued at its last recorded price, which can overstate what a holder recovered, and corporate actions may be imperfectly handled. The trust check discloses known coverage gaps; it does not and cannot verify that the underlying data is correct.
Data comes from third parties and may be inaccurate. Prices and fundamentals are sourced from Sharadar (via Nasdaq Data Link) and SEC EDGAR. That data may contain errors, omissions, gaps, delays, or revisions, and a provider may change or discontinue it at any time. "Data coverage" means a provider can supply a metric for representative names. It is not a guarantee of completeness or accuracy for any specific company or date. Midas does not independently verify third-party data.
Simulations are simplified. Results include dividends, reinvested or taken as cash, per each backtest's Dividends setting, and dividend income is taxed (qualified at the long-term rate by default); securities lending, margin, leverage, options, shorting, slippage, and other real-world mechanics are not modeled. Tax and fee figures are simplified approximations for illustration only, are not tax advice, and will not match your actual circumstances. Consult a qualified tax professional.
Past performance does not guarantee future results. Markets, economic regimes, regulations, and the behavior of individual securities change. Strategies that performed well historically can and do fail. All investing involves risk, including the loss of principal: you can lose money, up to and including your entire investment.
No warranty. This software is provided “as is” and “as available,” without warranties of any kind, whether express or implied, including but not limited to merchantability, fitness for a particular purpose, accuracy, or non-infringement. The software may contain errors or defects and may produce incorrect output; its availability and continued operation are not guaranteed.
Limitation of liability. To the maximum extent permitted by law, the author shall not be liable for any direct, indirect, incidental, consequential, special, punitive, or exemplary damages (including, without limitation, lost profits or investment losses) arising out of or relating to your use of, or inability to use, this software, even if advised of the possibility of such damages.
Your responsibility and eligibility. You are solely responsible for your own investment decisions and for complying with all laws and regulations that apply to you. Do your own research and consult a licensed financial adviser, tax professional, and/or attorney before making any investment decision. Nothing here is an offer or solicitation in any jurisdiction where that would be unlawful, or to any person to whom it would be unlawful. By using Midas you acknowledge and accept these limitations and assume full responsibility for any decisions you make.
Market data from Sharadar, provided via Nasdaq Data Link. Filing data from SEC EDGAR, a public-domain source of the U.S. Securities and Exchange Commission. Company logos provided by Logo.dev. None of these providers endorses, reviews, or is responsible for Midas or anything it produces, and a company’s logo is shown only to identify it, never to suggest it is involved with Midas.
Accessibility
Chart precision: speed vs. detail
How finely a backtest samples portfolio value through time. Daily is exact; coarser grids run faster by taking far fewer steps. Re-score dates and rebalances still fire on their exact days, but contributions, rebalance fills and the value curve snap to the nearest sampled day, so a coarser grid can shift the headline CAGR by a point or more and will understate drawdowns (it skips the troughs between samples). Daily is the ground truth; coarser grids are for fast iteration, not the numbers you report.
Use Weekly/Monthly for fast iteration, then switch to Daily for the numbers you report: return and max drawdown can change between grids. The results page shows which grid a run used. Changing this recomputes on the next run.
Exit Conditions: chart markers
Exit Conditions live in Cashflows → Advanced Cashflows: point-in-time rules that watch each held position (or the whole portfolio) daily and act when their conditions are met, for example “up 50% from my cost basis → sell 10%”, or “the portfolio is 20% below its high → sell everything, come back at 8%”.
Share classes: one company, one position
A company with two listed share classes appears twice in an index. By default a backtest holds it once, so a single company cannot quietly take two slots in your portfolio.
Costs & taxes: model real-world friction
By default every backtest charges a realistic transaction cost on each trade and models taxes on realized gains, so the results you see resemble what you'd actually keep. These apply to all backtests (a backtest can still set its own cost). Re-run backtests after changing them.
Slippage is the gap between the price you saw and the price you got, because your own
order moved the market. It is separate from the spread, which the transaction cost above
already covers, so the sensible default is 0: at 10 bps the transaction cost
already bundles a modest allowance for a liquid large-cap position.
Raise it to stress-test a strategy rather than to model a typical one.
Rough guide, per trade: 0 to 2 bps for large-cap US names in ordinary size, which
is what an S&P 500 or NASDAQ-100 strategy trades. 5 to 15 bps if you are
trading small caps, or a position large enough to be a meaningful share of a day's
volume. 25 bps and up is a deliberate worst case: micro caps, illiquid names, or
a crisis window where spreads gap.
The honest use of this box is a sensitivity check. Set the cost you believe, note the
return, then raise slippage and see how much of the edge survives. A strategy that only
works at 0 bps is telling you its edge is smaller than its trading costs, and a
high-turnover strategy will lose ground here far faster than a patient one.
Risk-free rate: for Sharpe & Sortino
The "safe" rate that Sharpe and Sortino measure a backtest's return against. The traditional proxy is the short U.S. Treasury bill. This single rate feeds the Report card and the Performance card (Sharpe / Sortino) on the results page: both read the same value, so they never disagree.
Fetching the latest rate…
Default: latest 13-week (3-month) T-bill (the standard Sharpe risk-free proxy) fetched from the U.S. Treasury daily series (no key). A single constant rate is applied across the whole period (traditional convention). Changing it updates Sharpe/Sortino on the results page instantly: no re-run needed.
Return basis: every return in the app
Return is the per-year growth rate, and it is on one basis everywhere the app shows it -- the Chart card's headline, the summary table, the Backtests list, Runs, Caliber and the Report. Money-weighted is the default. Switching removes every backtest from Runs and clears every backtest's stored result; every backtest run from then on uses the chosen basis.
Data providers
The sources Midas uses, and what each one supplies. There is nothing to switch on or off: the Strategy metrics on offer are limited to what these two can actually supply, so the trust check never fails on data that never existed.
Recommended setup
SEC EDGAR is free and public-domain, and supplies filing-dated US fundamentals, SIC sectors and corporate-event detection. On its own it cannot make a backtest survivorship-free: it carries no prices, and a delisted company you cannot price is a company you can never hold.
For reference-grade, fully survivorship-free data, add Sharadar: the Core US Equities Bundle (SF1 fundamentals + SEP prices incl. delisted names back to 1998). With a key set it becomes Midas's preferred source across the whole universe. Use “Get a key” in the table below.
Note: “Data coverage” means a provider can supply a metric for representative companies. It does not guarantee 100% availability for every ticker and date. Coverage is probed on a few large, well-reported names; specific companies (especially smaller, younger, non-US, or with limited history) may still be missing a given metric, in which case the name is kept and that one metric is scored at a neutral median rank (the unbiased default; you can switch to dropping such names under the missing-data policy below).
Missing-data policy
Changes here save and re-scan automatically.
Point-in-time data cache: prepare once, run instantly
A point-in-time S&P 500 backtest draws from every company that was ever in the index (1998–present): about 1,170 names, including ones that have since delisted. The first deep-history run normally downloads all of them, which can take a while. Prepare that data now and it's cached on your computer, so long backtests start immediately. It runs in the background while you keep working (a backtest pauses it and it resumes after), and is safe to re-run: names already cached are reused, not re-downloaded. Midas also starts this automatically the first time you launch it, so it's usually ready without any action.
Uses your enabled providers above. Prices for delisted names are most complete on a paid source (Sharadar); free providers may miss some, which the trust check flags at run time. As broader baked datasets are added (e.g. NASDAQ-100, all-listed), they'll appear here too.
Donut TEMP
Strategy donuts only: the portfolio disk is untouched. ONE geometry, every size (Samir 2026-08-24: "The Donut: Small settings should be the same as above ... you may treat them as a single item"): the table's sitting mark and the enlarged card read the same thickness, bands and transparency, and TILT is the only thing set per surface. Each diameter slider pins a donut's inner and outer edge: the band's width is the difference between its two knobs, and the inner donut's inner edge is the hole, so there is no separate hole setting to fight. Transparency controls affect the complete glass band; joined slices use the midpoint of both transparency settings. A hover draws the glowing outline; nothing moves. Persists per browser.
Intro choreography TEMP
Hold at Ready → the logo and bar fade off a canvas that is already the app background → the toolbar drops in and settles. Persists per browser. Press Replay to watch it again.
Chart line TEMP
Only affects 5Y/10Y and MAX, where the chart has more points than pixels. Open a Result and pan the chart to compare.
Result rail TEMP
Coverage wheel
The green/yellow/red data-coverage rings. One setting, everywhere they appear: the Backtests table, the Coverage tab, the coverage popup and the Results rows. Persists per browser.
Backtest number badges TEMP
The numbered discs that mark a backtest across the chart, the summary, History and the reference strip. The disc's own colour comes from the palette; everything else is here. Persists per browser.
Company marks TEMP
Slice and pill colours are sampled from each company mark, top-right corner by default; aim and click the stage to sample somewhere else for the listed tickers. Click any preview pill to size its mark and choose edge padding, saved as you move. The sampling location is written by Lock in, with a confirmation before anything saved is overwritten.
Backtest rows TEMP
A is today's row. B, C and D add the strategy pie and the results, and differ only in line 2: B shows every setting, C dims the ones most rows share, D says those once in the band. Alt+R cycles them on Backtests. The knobs change the mode that is on: A keeps its own changes, and B, C and D share one set.
Popdown log
The last 20 popdown notifications this browser showed, newest first, including the ones that dismissed early because another arrived.
Research software, not investment advice. Hypothetical results. Company logos by Logo.dev.
