Data Integrity

Data Integrity

In brief

Data Integrity watches a simple but easily overlooked question: is my strategies’ historical data still the same from one analysis to the next, or has something changed under the hood?

Every time you load a portfolio, QANTHOS computes a digital fingerprint of each strategy’s trade history and compares it against the last one. If an export file changes — a backtest re-exported after a code change, a rollover altering historical trades, a data provider correcting a price — this tab flags it, distinguishing a simple update (new trades appended) from an alteration of previously-seen historical data, which deserves far more attention.

It isn’t a strategy quality check: it’s a data stability check on the data the strategy was evaluated on. A portfolio built on metrics computed on a history that then silently changes is a hidden risk — Data Integrity makes it visible.

An important premise. QANTHOS is an analysis, validation and discovery tool, not a financial advisor. Data Integrity doesn’t judge whether a data change is “serious” or “harmless”: it flags the fact and gives you the detail (what changed, what impact it had on the metrics) so you can assess it.

1. The concept: fingerprint and change states

At each check, QANTHOS computes a content hash of each strategy’s trade history and compares it against the one previously saved. The comparison yields one of the following states:

State Icon Meaning
Unchanged 🟢 History is identical to the last check. No action needed.
New trades The historical part is unchanged, but more recent trades have appeared at the tail. The “normal” update expected as time passes.
First import 🟡 No previous check exists for this strategy: it’s the first time QANTHOS sees its history.
Extended data 🟠 Trades older than the known historical start have appeared (backfill), but trades in the already-shared period stayed unchanged. A special case, distinct from a true alteration.
Modified 🔴 History already seen before has changed: trades modified or removed in a period QANTHOS had already checked. The state deserving the most attention.

The distinction between 🟠 (extended data) and 🔴 (modified) is deliberate: adding older history isn’t inherently a problem, while altering already-verified trades is. Treating them the same would have generated constant false alarms on a harmless case.

2. The Dashboard

The Dashboard is the summary view, with three levels of reading.

Summary cards count strategies by state: total, number of saved Snapshots, and the five 🟢/➕/🟡/🔴/🟠 counts described above.

The Frozen Mode banner (see §5) shows whether the data-freeze mode is active, with a button to enable or disable it.

The strategies table lists each strategy with State (coloured and iconized), Last check, Trade count (with an “old → new” comparison when available), the abbreviated hash and a synthetic Note. Hovering the State cell, a detailed tooltip shows — for modified strategies — how many trades were altered or removed, the impact on metrics (Net Profit, Max Drawdown, Profit Factor, Win Rate: before → after value), and a list of the most common causes of this kind of alteration: a rollover that recalculated the history, a data provider update, or a simple re-import of the same file.

Double-clicking a row opens a dialog with the full detail of the changes detected for that strategy.

3. Running a check

In the tab’s header, three main actions:

  • Verify — runs a full check comparing loaded strategies’ current history against the last saved fingerprint, and shows the result in the Dashboard.
  • Refresh — re-reads the status from the database without recomputing anything: useful for a quick view refresh.
  • Accept changes — when strategies show as “Modified” (🔴) and you’ve verified the change is legitimate (for example an expected rollover), this button accepts the current state as the new baseline: from that moment, the current fingerprint becomes the new reference for future comparisons.

An additional button, Reset database (highlighted as a destructive action), completely clears the current portfolio’s integrity database — useful only for starting fresh, with explicit confirmation before proceeding.

The integrity check also runs automatically when a portfolio loads, in the background: you don’t need to press Verify manually every time you open it.

4. Snapshots

The Snapshots sub-tab keeps photographs of the analysis configuration at a given moment: not just the portfolio composition, but the entire set of settings used (cluster score weights, regime thresholds, score parameters, correlation and position sizing). Each snapshot also records a few summary metrics (Net Profit, Max Drawdown, number of strategies) and the source module it was created from.

Not the same tool as the Comparison tab’s Snapshots. The Portfolio Builder has its own snapshot system designed to compare multiple portfolios’ equity (Portfolio Comparison chapter). This one, in Data Integrity, is broader: it captures the entire analysis configuration so it can be restored later, not just to compare curves.

Actions available from the toolbar:

Action What it does
Create Saves a new snapshot of the current configuration.
Compare Compares two selected snapshots: added/removed/unchanged/modified strategies, and the change in aggregate metrics.
Restore Reapplies to the Portfolio Builder the entire analysis configuration saved in a snapshot (cluster score, regime thresholds, score settings, correlation, position sizing) — useful for returning exactly to the setup a given result was obtained with.
Export / Import Saves a snapshot to file or loads one from an external file.
Delete Removes one or more selected snapshots.

5. Frozen Mode

Frozen Mode freezes a local copy of the current strategies’ data. While active, subsequent re-imports are ignored: you always work on the data frozen at activation time, regardless of what changes in the source files.

Designed for two typical situations:

  • Protecting against an ongoing rollover — if you know an instrument is about to change contract and export files might vary in history during the transition, Frozen Mode guarantees you keep working on the data you’d already validated.
  • Keeping consistency during a long analysis — if you’re running a multi-session, articulated analysis, Frozen Mode prevents a mid-work data update from introducing inconsistencies between phases.

Enabled and disabled from the Dashboard’s banner, with explicit confirmation either way.

6. The change history (Changes)

The Changes sub-tab is the chronological log of every change detected over time, filterable by period (today, last 7 days, last 30 days, all) and by state type (all, modified, new, first import). It’s the tool for answering “what changed in the last week?” without having to re-check every strategy from the Dashboard.

7. Common issues and notes

Many strategies show “First import”. Normal the first time you open a portfolio with Data Integrity, or after a Reset database: there’s no comparison history yet.

A strategy is “Modified” but I know it’s just a rollover. Check the tooltip detail (or the double-click dialog) to confirm the change matches what’s expected, then use Accept changes to set the new state as baseline. Also consider enabling Frozen Mode before the next rollover to avoid the surprise.

“Extended data” instead of “Modified”. A different, less concerning state (see §1): it means trades older than the known historical start were added, without altering the already-verified period.

The Restore button in Snapshots doesn’t seem to do anything. Check the Portfolio Builder is already open: restoring requires the tab to exist to apply the settings.

Reset database finds nothing to clear. The integrity database for the current portfolio might already not exist (for example if a check was never run on this portfolio).

8. An example workflow

A typical path, not a prescription.

  1. Load the portfolio: the integrity check starts automatically in the background.
  2. Open Data Integrity and check the cards: if there are 🔴 strategies, investigate before proceeding with the analysis.
  3. Hover a modified strategy’s state to read the detail and the impact on metrics.
  4. If the change is expected and legitimate, use Accept changes; otherwise dig in with a double-click.
  5. Before a known event (e.g. an imminent rollover), consider enabling Frozen Mode.
  6. Save a Snapshot of the analysis configuration when you reach a setup you want to keep track of, so you can potentially restore it later.

Data Integrity doesn’t stop you from working with altered data: it just gives you the visibility to notice it and consciously decide how to proceed.

9. To learn more

  • Rollovers — one of the most common causes of altered historical data; Frozen Mode is a direct way to protect yourself during a rollover.
  • Portfolio Comparison — the Snapshot system for equity comparison, distinct from Data Integrity’s.
  • Strategies Tab — where export files are first loaded.
QANTHOS is an analysis, validation and discovery tool, not a financial advisory service. The metrics and values shown are illustrative and describe past behaviour. Trading leveraged financial instruments carries a significant risk of loss.