DEV Community

Cover image for SMI Backtests: 14 Checks Before You Compare the Benchmark
isabelle dubuis
isabelle dubuis

Posted on Originally published at stock-market.ch

SMI Backtests: 14 Checks Before You Compare the Benchmark

A backtest can be coded correctly and still answer the wrong question if its benchmark is the wrong index series. “SMI” is not a complete benchmark identifier. SIX publishes price-return, total-return and net-return variants; it also publishes a same-constituent equal-weight family. If a strategy’s dividends, weighting, currency, dates or investability assumptions do not match the selected series, the resulting active return is not an apples-to-apples comparison.

The practical decision is to freeze the exact benchmark definition before calculating performance: index family, return variant, weighting, currency, date range, data vintage, dividend treatment and any investable-product costs. SIX’s our Swiss market methodology guide is a useful starting point for the rulebook; then verify the actual index identifier and historical data against SIX’s live SMI product and variants page. This guide adds a reusable 14-case admission check. It is a metadata review, not a price-data test, a return forecast or an investment recommendation.

The answer in one minute

Use the benchmark series that represents the question you are trying to answer. If the question is “Did my stock-selection rules beat the Swiss blue-chip market’s price movement?”, a price-return SMI may be a legitimate reference, provided the strategy return is also price-only and the dates, currency and weighting are aligned. If the question is “Did my strategy beat a dividend-reinvesting SMI portfolio?”, compare against a total-return series, not the headline price series. If the strategy is intended to represent an investor after a specified dividend-tax assumption, decide whether an appropriate net-return series exists and whether its tax model matches the stated investor.

Do not choose the series because its historical chart looks closest to your strategy, has the longest available history, or produces the most flattering excess return. Those are outcome-led choices. Write the benchmark decision before looking at strategy results. If you cannot identify the series, download its official metadata, determine when that variant begins, and record the gap. If you cannot obtain historic constituents, weights or values, label any reconstructed proxy and state what it cannot establish. “SMI” alone is not enough information for a reproducible performance claim.

Why the name “SMI” is incomplete

SIX describes the Swiss Market Index as a 20-company blue-chip index selected from the SPI using free-float-adjusted market capitalization and turnover. Its standard cap-weighted SMI applies an 18% constituent cap under its rules. The official product page lists separate variants: SMI (PR), SMI (TR), SMI (NR), and equal-weight PR, NR and TR series. The page shows different base dates and base values for several variants. These distinctions are not cosmetic labels; they specify what an index level is intended to represent. SIX’s methodology and product table is the controlling source for the actual series names and identifiers.

The word “SMI” often appears in news headlines to mean the familiar price index. That shorthand is understandable in market reporting, but it is too vague in a research notebook, fund factsheet comparison or public backtest. The PR series tracks price movements under the index methodology. A total-return series includes dividend income according to that index’s calculation rules. A net-return variant applies a defined withholding-tax treatment. An equal-weight series changes constituent weights while retaining the SMI membership definition at a given point. Always verify the specific variant’s rules, effective dates and identifier rather than infer them from a chart label.

The benchmark is a measurement contract

A benchmark comparison contains at least two return streams and a comparison rule. The strategy stream may be gross or net of transaction costs, may include cash, may accrue dividends differently, and may be expressed in CHF or another currency. The benchmark stream has its own return convention, index weighting, currency, corporate-action handling and measurement calendar. A spreadsheet that subtracts one percentage series from another does not make those streams comparable.

Think of the benchmark declaration as a contract with fields, not a name in a chart legend. Record the official index code, return treatment, weight method, currency, dates, data source and retrieval date. Then declare the strategy-side choices: dividend reinvestment, cash yield, fees, costs, FX translation and rebalance timing. If a field cannot be verified, mark it unknown and downgrade the comparison. Do not silently fill an unknown with a convenient default.

This framing separates three questions that are commonly conflated. First, is the index mathematically identified? Second, does its construction match the economic comparison? Third, does the backtest simulate an investable strategy? An answer of “yes” to the first does not imply “yes” to the other two. An index can be perfectly calculated and still be a poor comparator for a strategy with a different universe, weighting or mandate.

Price return, total return and net return

A price-return index does not count ordinary cash dividends as reinvested index value. A total-return index incorporates dividends and reinvests them under its calculation convention. A net-return index reflects a specified tax deduction. SIX’s own product table lists SMI (PR), SMI (TR) and SMI (NR) as distinct products, while its educational material explains the difference between price and performance indices and identifies an SMI TR series with the same constituents but dividends included. SIX’s explanation of price versus performance indices is a useful plain-language companion to the product page.

The return arithmetic matters over long horizons because dividends are cash flows, not an optional footnote. The CFA Institute 2026 curriculum reading describes a dividend as a distribution to shareholders, identifies the ex-dividend date as the point at which the share no longer carries that distribution, and explains why dividend treatment affects total return. Its examples are general corporate-finance teaching examples, not SMI-specific index calculations; use the SIX series rulebook to establish the SMI convention. See CFA Institute’s reading on dividends and share repurchases. The broad mechanics are well established: S&P Dow Jones Indices describes total-return index levels as reflecting price movements and reinvested dividend income, while a price index reflects price changes. The exact reinvestment and tax rules remain provider-specific, so the S&P document is explanatory rather than a substitute for SIX’s SMI methodology. See S&P DJI’s Index Mathematics Methodology.

The strategy must use a compatible convention. If it receives and reinvests gross dividends but the benchmark excludes them, measured active return will include a convention gap. If the strategy is net of an investor-specific withholding assumption but the benchmark is gross total return, the comparison answers neither “gross skill” nor “net investor outcome” cleanly. Select the matching convention or show both comparisons with clear labels. Never switch between PR and TR series without annotating the change, and never splice two variants into a single series merely to lengthen the history.

Net return is not automatically “the investor’s net return”

“Net” sounds universal, but a net-return index implements a defined withholding-tax model; it does not know an individual investor’s residence, account type, reclaim eligibility, broker treatment, wealth tax or fund-level tracking difference. SIX’s series naming tells you that a net variant exists; it does not make it a personalized tax calculation. State the index’s published convention and the investor circumstances that are outside its scope.

For an investable product, benchmark data also omits product-specific effects such as management charges, cash drag, sampling, securities lending, replication method and tracking difference unless those are explicitly incorporated in the data being compared. A fund’s net asset value return is not identical to the index level. A fund traded on an exchange may also have a market-price return that differs from its NAV return. These are different objects with different sources of variation.

A useful report therefore gives at least two comparisons when the audience needs them: strategy versus an index series under a declared gross/net convention, and strategy versus the actual implementable product or portfolio if that is the decision being evaluated. Do not call the latter “the SMI” unless it tracks the stated series and its residual costs are explained. A benchmark is a reference, not a complete counterfactual for every investor.

Market-cap weighting and equal weighting answer different questions

The familiar SMI is free-float market-cap weighted under SIX methodology, subject to its capping rules. SIX also lists SMI Equal Weighted variants. It says that the equal-weight index uses the same 20 SMI components while assigning each an equal weight, and its product information says the weights are reset on a quarterly schedule. Thus two series can share a constituent family and still represent different exposure. SIX’s overview of Swiss indices and the official product table make this distinction visible.

If a strategy weights stocks equally, the cap-weight SMI can still be a valid broad-market opportunity-cost benchmark, but it is not a matched-weight control. If you want to isolate security selection from weighting, compare against a benchmark with the same weighting rule or provide both a market benchmark and a matched-weight diagnostic. These comparisons answer different questions; do not present the equal-weight result as if it were the same benchmark with a harmless formatting change.

Equal weighting also requires maintenance. Periodic rebalancing changes holdings and creates turnover. A hypothetical index calculation may apply rulebook mechanics that a real portfolio cannot reproduce without costs, taxes and trading constraints. The fact that SIX calculates an equal-weight series does not mean an investor earns precisely that index return. Product tracking and the index series must be treated separately.

SMI, SPI and the size of the universe

The SMI is a blue-chip subset, not the whole Swiss listed market. SIX’s overview says the SMI contains 20 large and liquid companies, while the SPI covers a much broader set of Swiss and Liechtenstein equities and includes dividends in its performance-index convention. It also lists SMI Expanded, SMIM, SPI Extra and Swiss All Share as different universes. The choice between these is about mandate and opportunity set, not which chart tells the better story.

A strategy that trades small and mid-cap Swiss stocks should not use the SMI as its only performance reference and then describe the result as “the Swiss market.” It may still show the SMI as a blue-chip comparator, but should add a universe-matched reference or explain why the mismatch is intentional. Likewise, a large-cap stock-selection strategy can state that the SMI represents its benchmark opportunity set, while disclosing any exclusions such as liquidity filters, short-sale restrictions or sector caps.

The comparison should answer a written question. “Did this rules-based large-cap strategy outperform a published large-cap Swiss index?” is testable. “Did it beat Switzerland?” is ambiguous. Choose the narrowest truthful claim that the data supports. This is also a decision-design issue: Gartner’s capital-allocation guidance for CFOs discusses expected returns, risk and testing-and-learning when making funding decisions, but it does not prescribe a benchmark for public equities. Its corporate-finance framing is useful only as a reminder to define the decision first; it is not an index methodology source. Gartner’s capital-allocation article is a separate practitioner perspective.

Currency, dates and observation calendars

A CHF index return cannot be compared directly to an unhedged USD strategy return without deciding how currency translation is handled. If the portfolio is converted into a reporting currency, the benchmark must be translated on the same dates using a stated FX source and convention. If the strategy uses an FX hedge, the benchmark needs a comparable hedge policy or the report must describe the mismatch. Do not use the currency symbol displayed by a broker as a proxy for the underlying exposure.

Dates also need to line up. Define start and end timestamps, market close conventions, holidays and missing observations. If a strategy trades at a later close than the benchmark’s recorded close, it may be using information unavailable at the decision time. If one series includes a partial first or last day and the other does not, the return windows differ. Use common valuation timestamps or report why they differ.

Check series inception and history explicitly. SIX’s product table gives different base dates for SMI PR/TR/NR and the equal-weight variants. A longer price series does not authorize you to fill the earlier period of a shorter variant with another series. If you need a longer history, state that the alternative is a proxy, define its construction and show the discontinuity or changed convention. Do not imply a live history where part of the observations are hypothetical or back-calculated.

What point-in-time data means for a benchmark

A benchmark time series and a constituent-level reconstruction are not the same data product. If you use a published SMI historical index level, it already represents the index provider’s recorded series under its rules. If you rebuild the index from individual securities, you need the constituents and weights known at each decision or effective time, the provider’s review and event dates, corporate-action handling, dividends and a consistent divisor or return calculation. A list of today’s members with old price histories does not reconstruct the historical index.

The CFA Institute Research Foundation explains that using securities added to an index after the tested period can introduce a look-ahead bias, and that using only survivors can omit companies that failed or left. A 2014 Deutsche Bank Quantitative Strategy paper hosted by Hudson & Thames makes the same point for current constituents: present-day members can encode future knowledge. That paper’s numerical examples concern the S&P 500, not the SMI; they must not be transferred as an estimate of SMI bias. See CFA Institute Research Foundation’s guide to investment-model validation and “Seven Sins of Quantitative Investing”.

SIX directs users to its Index Data Center for current and historic compositions, selection lists, previews, review information and historical values. Its SMI page notes access restrictions and licensing terms for index data. If the history you need is not available to you, do not claim an exact constituent-level replication. Use the official index series if licensed and appropriate, or publish a clearly named proxy with its limits. SIX’s product page points to the data center and applicable index documentation.

The 14-case benchmark admission matrix

The following is an original, manually designed synthetic acceptance matrix dated 9 November 2026. The 14 cases are fixtures for a metadata checker, not observations from market prices. They cover benchmark identity, return convention, weighting, currency, dates, data vintage, dividends, costs, history, and access. No market-data series, live strategy, fund, index calculation or investment outcome was tested. The sample is intentionally small and deterministic: its job is to catch known metadata contradictions before a researcher interprets a performance chart.

“Accept” means only that the declared metadata is sufficiently complete and internally consistent for a comparison to proceed to the next review stage. It does not mean the strategy is valid, the source data is accurate, the result is statistically significant or the benchmark is suitable for a client. “Reject” means pause and fix or disclose the specific mismatch; it is not proof that the strategy loses money.

Case Synthetic defect Expected decision Why it matters
1 Named series, variants, currency and dates all recorded Accept metadata Minimum reproducible declaration
2 “SMI” entered without PR/TR/NR suffix Reject The return convention is unresolved
3 Strategy includes reinvested dividends; benchmark is PR Reject or relabel Income conventions differ
4 Strategy is price-only; benchmark is TR Reject or relabel Benchmark receives an unpaired dividend component
5 Strategy is stated net of taxes; benchmark is gross TR Reject or dual-report Net/gross conventions differ
6 Cap-weight strategy compared as matched-weight to equal-weight SMI Reject matched claim Same names do not mean same weights
7 Equal-weight strategy compared to cap-weight SMI without caveat Reject matched claim Exposure and rebalance rule differ
8 Strategy reported in USD; benchmark remains CHF Reject FX treatment is missing
9 Strategy and benchmark use different start dates Reject Return windows are not common
10 Benchmark history begins before the selected variant exists Reject A series has been silently extended or spliced
11 Rebuilt SMI uses current members for old dates Reject Membership is forward-looking
12 Rebuilt SMI lacks effective dates or weight vintages Reject Availability and portfolio transitions cannot be audited
13 Product net asset value is labelled “SMI index return” Reject Fund and index are different objects
14 Costs are omitted but the result is called net investable return Reject or relabel gross Investability claim exceeds the calculation

A runnable metadata checker

This standard-library Python example accepts a CSV with the fields below, flags incomplete records and rejects the most obvious convention mismatches. It does not retrieve prices, verify SIX data, compute index returns, calculate taxes or validate a strategy. The fixture rows are synthetic and deliberately small. Copy the code into smi_gate.py, then run it with Python 3; it prints whether each metadata record passes the limited admission rules.

from datetime import date

REQUIRED = (
    "series_id", "return_basis", "weighting", "currency",
    "start", "end", "strategy_return_basis", "strategy_weighting",
    "strategy_currency", "strategy_start", "strategy_end",
    "data_vintage", "dividend_policy", "cost_policy", "history_type",
)


def check(row):
    issues = [f"missing:{key}" for key in REQUIRED if not row.get(key)]
    if issues:
        return issues
    if row["return_basis"] != row["strategy_return_basis"]:
        issues.append("return_basis_mismatch")
    if row["weighting"] != row["strategy_weighting"]:
        issues.append("weighting_mismatch")
    if row["currency"] != row["strategy_currency"]:
        issues.append("currency_mismatch")
    if (row["start"], row["end"]) != (row["strategy_start"], row["strategy_end"]):
        issues.append("period_mismatch")
    try:
        if date.fromisoformat(row["start"]) > date.fromisoformat(row["end"]):
            issues.append("invalid_period_order")
    except ValueError:
        issues.append("invalid_iso_date")
    if row["data_vintage"] not in {"official_series", "point_in_time_reconstruction", "proxy"}:
        issues.append("unknown_data_vintage")
    if row["history_type"] == "current_members_backfilled":
        issues.append("lookahead_membership")
    if row["history_type"] == "fund_nav_labelled_index":
        issues.append("fund_nav_is_not_index")
    if row["cost_policy"] == "omitted_but_called_net":
        issues.append("net_claim_without_costs")
    if row["return_basis"] in {"TR", "NR"} and row["dividend_policy"] == "excluded":
        issues.append("dividend_policy_conflicts_with_variant")
    return issues


def base(case_id):
    return {
        "case": case_id, "series_id": "SMIC", "return_basis": "TR",
        "weighting": "cap", "currency": "CHF", "start": "2020-01-01",
        "end": "2025-12-31", "strategy_return_basis": "TR",
        "strategy_weighting": "cap", "strategy_currency": "CHF",
        "strategy_start": "2020-01-01", "strategy_end": "2025-12-31",
        "data_vintage": "official_series", "dividend_policy": "reinvested",
        "cost_policy": "reported_separately", "history_type": "published_index_series",
    }


CASES = []
CASES.append((base("01-complete"), True))
row = base("02-variant-unknown"); row["series_id"] = "SMI"; row["return_basis"] = ""; CASES.append((row, False))
row = base("03-strategy-includes-dividends"); row["strategy_return_basis"] = "TR"; row["return_basis"] = "PR"; row["dividend_policy"] = "reinvested"; CASES.append((row, False))
row = base("04-benchmark-includes-dividends"); row["strategy_return_basis"] = "PR"; CASES.append((row, False))
row = base("05-net-gross"); row["strategy_return_basis"] = "NR"; CASES.append((row, False))
row = base("06-cap-vs-equal"); row["weighting"] = "equal"; CASES.append((row, False))
row = base("07-equal-vs-cap"); row["strategy_weighting"] = "equal"; CASES.append((row, False))
row = base("08-fx-mismatch"); row["strategy_currency"] = "USD"; CASES.append((row, False))
row = base("09-start-mismatch"); row["strategy_start"] = "2021-01-01"; CASES.append((row, False))
row = base("10-proxy-disclosed"); row["data_vintage"] = "proxy"; CASES.append((row, True))
row = base("11-current-members-backfilled"); row["history_type"] = "current_members_backfilled"; CASES.append((row, False))
row = base("12-undocumented-vintage"); row["data_vintage"] = "vendor_export_no_asof"; CASES.append((row, False))
row = base("13-fund-nav-mislabelled"); row["series_id"] = "ETF_NAV"; row["history_type"] = "fund_nav_labelled_index"; CASES.append((row, False))
row = base("14-costs-omitted-net-claim"); row["cost_policy"] = "omitted_but_called_net"; CASES.append((row, False))

for row, expected_accept in CASES:
    issues = check(row)
    accepted = not issues
    ok = accepted == expected_accept
    print(f"{'PASS' if ok else 'FAIL'} {row['case']}: expected_accept={expected_accept}; issues={issues}")
    if not ok:
        raise SystemExit(1)
Enter fullscreen mode Exit fullscreen mode

Case 13 is rejected because a fund NAV series is not the index itself even when it has a distinct product identifier. If the question is about product implementation, run a separate fund-versus-index comparison with product fees, tracking difference and valuation convention declared; do not relabel the fund return as the index.

The checker’s matching rule is deliberately conservative. A cap-weight index may be an appropriate market opportunity-cost reference for an equal-weight strategy, so a mismatch does not make every comparison mathematically meaningless. It means the comparison must not be described as a matched-weight test. A sophisticated report may allow that pair and record a warning rather than rejection. The fixture uses “reject matched claim” to keep the claim boundary visible. Adapt the severity, not the underlying disclosure.

What the matrix does not validate

The checker cannot prove the official series is authentic, complete or licensed. It cannot verify that the timestamp on a file is truthful, that a vendor’s dividend adjustment matches SIX, that a historical constituent list is point-in-time, or that a proxy is constructed correctly. A field named official_series is only a declaration until a reviewer checks source documentation, series identifier, retrieval date, file hash and license. If the file changes later, a hash and retrieval record make the prior analysis more reproducible.

It also cannot judge benchmark suitability. A strategy targeting small Swiss companies may reasonably show the SMI as a secondary comparator while using a broader or smaller-company index as its primary benchmark. A CHF strategy may be compared with a USD opportunity-cost series if that is the explicit decision question, but currency translation must be visible. The matrix rejects silent mismatches in order to force a decision; it does not ban every cross-category comparison.

Finally, it cannot assess statistical validity. A fully matched benchmark says nothing by itself about overfitting, multiple testing, parameter search, sample dependence, capacity, slippage, market impact or forward performance. The CFA Institute Research Foundation’s validation guide treats backtesting as one input to disciplined model assessment, not as a guarantee of future results. A metadata pass is the start of review, not a quality seal.

Failure modes that survive a green metadata gate

A correct code attached to the wrong series. A file may contain SMIC in its name but actually be SMI PR values or a vendor’s adjusted close. Compare provider documentation and a few dates with an official source; do not infer the variant from the filename.

A chart that changes definition mid-history. A user may append early SMI PR data to later SMIC TR data. The resulting series may look smooth while changing its return convention. Preserve segment boundaries and never stitch silently.

A nominally matched TR comparison with different dividend timing. Strategy code may reinvest on the ex-date or payment date, while the benchmark methodology uses its own index process. Record the convention and test dates with known cash distributions. Do not assume the words “total return” guarantee identical reinvestment timing.

A matched index but mismatched product. The strategy may be a fund portfolio after TER and transaction costs while the benchmark is an uninvested index series. Report index-relative return and product-relative return separately.

A matched period with different closes. A strategy decision placed at today’s closing price cannot normally use a signal calculated from that same final close unless execution is modeled after the signal becomes available. Record signal time, order time and valuation time.

A licensed series copied without its metadata. If access rights or data-provider rules prohibit republishing the raw series, preserve the analysis record without exposing restricted data. A published article can provide the method and metadata fields while leaving licensed observations private.

A favorable benchmark chosen after testing. Comparing against PR, TR, equal-weight, SPI or a currency-translated series can materially change interpretation. Choose a primary benchmark before parameter search; if you show alternatives, list all of them and explain why they are relevant rather than selecting the winner after seeing results.

A practical review sequence

  1. Write the decision question in one sentence: market opportunity cost, matched exposure, manager skill, product tracking or investor outcome.
  2. Select the index family and official series code from SIX documentation; capture the page and rulebook version date.
  3. Record the return variant and its dividend/tax treatment. Confirm that the strategy stream follows the same convention or disclose the difference.
  4. Record weighting method and rebalance schedule. If you use a different weight method, label that analysis as a distinct matched-exposure test or a broader opportunity-cost comparison.
  5. Fix currency, hedge assumption, calendar, valuation timestamps, start/end dates and history inception.
  6. Identify the data vintage: official index-level history, point-in-time reconstruction or proxy. Keep the retrieval date and data source. Never backfill current members without a warning.
  7. Separate index returns from fund NAV or exchange-price returns. Add product fees and trading effects only when they are measured or explicitly modeled.
  8. Run the 14-case metadata check, review every warning, and freeze the benchmark declaration before reading the active-return result.
  9. Preserve the benchmark declaration, source versions, code version, data hashes and known exclusions with the result. If a definition changes, create a new run rather than overwrite the old one.

Decision tree

flowchart TD
  A[What decision should the comparison answer?] --> B{Market opportunity cost or matched exposure?}
  B -->|Market opportunity cost| C[Choose a documented Swiss-market series]
  B -->|Matched exposure| D[Match universe and weighting first]
  C --> E{Price, total or net return?}
  D --> E
  E --> F[Match strategy dividend and tax convention]
  F --> G{Currency and dates aligned?}
  G -->|No| H[Translate or disclose mismatch; do not call matched]
  G -->|Yes| I{Official series or point-in-time reconstruction?}
  H --> I
  I -->|Official series| J[Record identifier, version, retrieval date and license]
  I -->|Reconstruction or proxy| K[Record constituents, weights, event timing and limits]
  J --> L[Run metadata gate and independent review]
  K --> L
  L --> M[Interpret active return only within the declared scope]

Reporting template

A transparent caption can be short: “Benchmark: SIX Swiss Market Index, [official code and PR/TR/NR variant], [weight method], CHF, [start–end dates], source retrieved [date], official index-level history. Strategy: [gross/net], dividends [policy], costs [included/separately reported], rebalancing [rule]. This is [market opportunity-cost / matched-exposure] comparison. It does not represent the return of an ETF or a specific investor.” Replace the bracketed fields with verified details. If data is reconstructed, say so in the first sentence, not in a footnote after the result.

A useful report includes an identifier and human-readable label. The label helps readers; the identifier lets another analyst locate the series. Include the source URL, series factsheet or rulebook version, data retrieval timestamp, and—where permitted—a file digest. If a vendor maps its own symbol to a SIX code, record both. If no exact mapping is available, mark it unresolved rather than silently guessing.

Show any alternative benchmark as a separate line. For example, a cap-weight SMI may answer the broad blue-chip opportunity-cost question while SMI Equal Weighted may help isolate a weighting effect. An SPI series may be more appropriate for a broader Swiss-equity universe. State that these are different views, not robustness variants of one unchanged benchmark. Readers should be able to see which conclusion changes when the benchmark changes.

Limits and contradictions

Index facts are exact only relative to a particular methodology version and data product. SIX’s educational pages provide accessible explanations; its rulebook and official data center govern detailed calculation and historical composition. If a simplified page and a detailed rulebook appear to differ, record the rulebook version and ask SIX for clarification rather than infer the calculation from a marketing description. Availability of historical constituent and value data may also depend on access rights. An independent explainer can help interpret the rules but does not supersede the provider.

There is also no single correct benchmark for every strategy. A mismatched benchmark can be useful when the question is explicitly about opportunity cost or a different asset allocation. It becomes misleading when presented as a matched test without disclosure. Conversely, a perfectly matched index may be too narrow to explain the strategy’s full opportunity set. The decision depends on the question, mandate and audience; the article’s gate is designed to reveal that decision, not automate it.

GSC provides a modest topic signal, not a forecast of article demand or ranking. On the source domain, the observed relevant query sample is too small to establish intent reliably; therefore this piece is framed around a concrete benchmark-definition problem found in SIX’s index variants and practitioner validation literature. It does not promise a Search Console position, traffic result or investment performance.

Original asset method and boundaries

The 14 fixtures and checker were authored on 9 November 2026. The sample is fourteen hand-written metadata scenarios, including two intentionally admissible cases and twelve cases designed to trigger a missing-field or mismatch condition. No market data, index file, price history, live portfolio, fund or investor account was sampled. The Python example has no network access and depends only on the standard library. It checks metadata declarations and internal consistency; it does not validate external truth.

The cases were selected from the documented differences among SMI PR/TR/NR and equal-weight variants, SIX’s data and licensing pointers, and commonly described backtest information-set risks in the cited practitioner material. They are not statistically representative of real research projects, and the count “14” is not a benchmark of error prevalence. No observed error rate, performance uplift, or expected savings is claimed. A team using this asset should add its own firm-specific benchmark policy, independent review and data-provenance checks.

Final checklist

  • [ ] The report names an exact SIX series identifier, not only “SMI.”
  • [ ] PR, TR or NR is confirmed from provider documentation.
  • [ ] The strategy and benchmark dividend conventions are aligned or the mismatch is explicit.
  • [ ] Cap-weight and equal-weight comparisons are distinguished.
  • [ ] The benchmark universe matches the question or is labelled as a secondary opportunity-cost reference.
  • [ ] Currency, FX hedge, dates, market closes and calendars are documented.
  • [ ] A series inception gap is not silently filled with a different return variant.
  • [ ] Reconstructed history uses information available at the relevant time; proxies are named as proxies.
  • [ ] Published index values are not confused with ETF NAV or exchange prices.
  • [ ] Costs, taxes, cash and execution assumptions are stated before “net” or “investable” is used.
  • [ ] Source version, retrieval date, access rights and file digest are preserved where permitted.
  • [ ] The 14-case checker is treated as a metadata gate, not as proof of strategy validity.
  • [ ] Alternative benchmarks are shown because they answer distinct questions, not because one produced a preferred result.
  • [ ] The report makes no claim that a matched historical benchmark guarantees future performance.

The core rule is simple: define what “SMI” means for this comparison before interpreting the curve. A transparent PR, TR or NR choice, matched weights and dates, and a clearly described data vintage will not make a weak strategy strong. They will make the question—and the limits of the answer—visible.

Proof pack and source control

Keep a small proof pack with the comparison: the exact official series identifier and variant, the SIX methodology or factsheet version, the retrieval timestamp, the currency, the period, the return convention and the data-use entitlement. If the analysis reconstructs rather than downloads the published index series, add constituent snapshots, effective dates, weights, corporate-action adjustments and a documented divisor/return procedure. A reviewer should be able to answer “which data did this run use?” without guessing from a graph or a filename.

Source control also means keeping institutional sources in their lanes. SIX’s equity-index rulebook governs SMI selection, weights and calculation. The CFA Institute Research Foundation provides practitioner education about validation and information-set bias. A separate SIX Exchange Regulation communiqué concerns reporting admissible behavior under Swiss market infrastructure rules; it is not an SMI calculation method and cannot establish PR/TR/NR treatment. That distinction is useful when a desk stores exchange regulation, index rules and vendor data in one research folder. See SIX Exchange Regulation’s published communiqué as an example of a market-conduct source that must not be mistaken for an index methodology document.

The source pack should record contradictions rather than erase them. A product page may show the current series names and base dates while an older factsheet or vendor file uses an older label. Preserve both artifacts, note their retrieval dates and ask the provider which product code applies to the series in the test. Do not update the file name and discard the earlier record: that would make an old result difficult to reproduce.

A compact review card can have four states: verified, disclosed, unresolved, and not applicable. “Verified” means a reviewer checked the external source. “Disclosed” means a mismatch is intentional and visible in the report. “Unresolved” means the comparison cannot yet support a precise claim. “Not applicable” should include a short reason. This vocabulary is more informative than a single pass/fail badge because not every difference invalidates every question.

When a mismatch is acceptable

A difference is not automatically an error. A small-cap strategy can be compared with the cap-weight SMI to show what it did relative to a familiar Swiss blue-chip opportunity cost. That is a useful comparison if the reader is told the universes differ. An equal-weight strategy can be compared with cap-weight SMI to ask whether the strategy exceeded the large-cap market, but this will mix security-selection effects with weighting effects. The result is interpretable when the claim says so.

The strongest reporting often uses a hierarchy: one primary benchmark selected before the test; one secondary market-wide reference that answers a different question; and, where useful, a matched-weight diagnostic. Keep the roles separate. Do not select the best-performing reference as the “real” benchmark after running the strategy. If the primary choice changes, preserve both result sets and explain what decision motivated the change.

That hierarchy also helps when no perfect benchmark exists. A strategy may contain cash, shorts, leverage or small companies outside the SMI. In that case no single SMI series can match all dimensions. State the unmatched exposure, select a comparison that remains useful for the stated decision, and consider reporting risk and drawdown alongside return. Avoid inventing a custom blended benchmark after seeing the outcome unless its weights were specified in advance.

Top comments (0)