Skip to main content

Validation

Trust every curve and timeseries before anyone uses it

Check every curve and timeseries as it arrives, keep a record of every data point, and only send on the data you can trust.

The Data Quality Challenge

The Challenge

Bad market data rarely announces itself. It arrives looking like any other update:

  • A settlement price that is a hundred times too big
  • A tenor missing from this morning's forward curve
  • A curve that is the same as yesterday's because the source did not update
  • A timeseries with a gap over a holiday nobody expected
  • A spike that is real, but needs someone to confirm it

By the time anyone notices, the data has already gone into a valuation, a risk report or a customer price. Checks that do exist live in spreadsheets and scripts, run at different times, and leave no trace of what was checked or who let a problem through.

Our Solution

Validation gives every curve and timeseries on OpenDataDSL a set of checks, written in ODSL, that run automatically whenever the data is saved or rebuilt.

Every data point gets a validation record: the result of each check and a timeline of what happened, from the first run to an override with its reason.

Failures show up as issues to review, fix, or override, and automations can send on only the data that passed, while the team is told straight away about the data that did not.

Validation: Data You Can Trust, With the Proof

Key Benefits

Catch bad data before it reaches your models, reports and customers, and know exactly what was checked and why it was let through.

Checks on Every Update

Automatic, the moment data arrives.

Checks run when a curve or timeseries is saved, and when a smart, event or composed curve or timeseries is rebuilt. Public and common data is checked in your own environment, with your own checks.

Suggested From Your Data

Limits that fit, tried before you use them.

Point Validation at a set of curves and it reads the last 30 days of each one, suggests checks with limits that fit the data, and tries them on that history first, so you start with checks that would not have raised false alarms.

A Record for Every Data Point

What was checked, and what happened next.

Each curve ondate and each observation has a validation record with the result of every check, every tenor, and a timeline of runs, comments, overrides and sends.

Overrides With a Reason

Real moves pass, and the decision is kept.

When a spike is genuine, override the failure with a reason. The override belongs to that data: if the data changes, it is checked again from scratch.

Only Validated Data Downstream

Automations on passing or failing data.

Send a curve or timeseries on only when it passes validation or a failure is overridden, and email the team, with every failing check, the moment data fails.

Checks in Your Own Language

A library of checks, and your own in ODSL.

Use the validation library of 19 ready-made checks for ranges, moves, outliers, stale values, gaps and curve structure, or write your own checks as ODSL functions.

How Validation Works

Set It Up

Validation is set up once for each curve or timeseries, on its own Validation tab or for hundreds at a time with bulk changes.

Value checks: missing, zero or negative values, a range, the change from the previous value, outliers against recent history, and stale values.

Curve checks: gaps between delivery periods, the tenors that must be on the curve, the number of contracts, and quarters that do not match their months.

Your own checks: any ODSL expression, or a function in one of your scripts.

Severity: each check fails, warns, or is severe, so a small move can be a warning while a missing curve is a failure.

Keep It Running

Once set up, Validation looks after itself:

Dashboard: pass rates, open issues, warnings and overrides, day by day.

Issues: every failing data point in one place, to override, comment on, run again, or adjust the checks of in place.

Adjust Checks: when a limit is a little too tight, Validation works out the smallest change that lets the data pass and shows how many failures it would have avoided over the last 30 days.

History: every change to the checks is kept as a version, so you can see who changed what, and restore it.

Checks for Every Kind of Data

Start with the checks that matter for each kind of market data, and add your own as you go.

Forward Curves

The Question: Is this morning's curve complete and sensible?

The Checks
  • Every tenor has a value
  • No gaps between delivery periods
  • The tenors you rely on are there
  • No tenor moved more than 5% from yesterday

Result: A curve is only used once every tenor has passed.

Settlement Prices

The Question: Is today's settlement a real price?

The Checks
  • Within a sensible range
  • Not zero or negative
  • Not more than 4 standard deviations from recent history

Result: Fat-finger prices and unit mistakes are caught on arrival.

Stale Data

The Question: Did the source actually update?

The Checks
  • A curve the same as the one before it
  • A timeseries value unchanged for several days
  • Tenors dropped from yesterday

Result: A feed that silently stopped is spotted the same day.

Timeseries Gaps

The Question: Is the history complete?

The Checks
  • No missing observations
  • No gap longer than expected, weekends and holidays allowed

Result: Holes in a daily series are found before they reach a model.

Curve Structure

The Question: Does the curve hang together?

The Checks
  • At least 12 months, 4 quarters and 2 years
  • Quarters match the average of their months

Result: Built curves are internally consistent before they are used.

Derived Data

The Question: Are the curves we build ourselves right?

The Checks
  • Smart, event and composed curves and timeseries checked every time they are rebuilt

Result: Your own spreads and built curves get the same checks as market data.

Integration with Platform Capabilities

Validation works with the data and tools you already use

Data Management

Checks run on your curves and timeseries as they are saved, and set their quality status.

Data Catalogue

Check public market data in your own environment, with your own checks.

Smart Curves

Smart and event curves are checked every time they are rebuilt.

Composer

Composed curves and timeseries are checked when their composition is built.

ODSL Language

Write your own checks as ODSL functions, alongside the validation library.

Data Reconciliation

Reconcile sources against each other, and validate the result.

From Hoping the Data Is Right to Knowing It

Validation moves data quality from scattered scripts and spreadsheet checks onto the platform, where every curve and timeseries is checked the same way, every time, the moment it arrives.

Your team spends less time chasing bad data after the fact, and when an auditor or a trader asks why a number was used, the answer is in the record: what was checked, what failed, and who let it through and why.

See Validation on Your Data

Book a demo and we will suggest checks for your own curves and timeseries from their last 30 days of data, and show you what they would have caught.

Get Started TodaySmart Curves  

How about a demo?

Our team is here to find the right solution for you, contact us to see this in action.

info@opendatadsl.com

+44 1245 555053

Sign up to our newsletters!

Fill out your details below and somebody will be in contact with you very shortly.

We'll never share your email address
Enter information about your area of interest, include your telephone number if you would like us to call you.