Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Rolling 30-Day Average Exposure SQL

HardSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is Rolling 30-Day Average Exposure SQL. Start with the requirements and the three tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Barclays Risk Analytics needs a rolling exposure view for active UK counterparties monitored through Barclays risk reporting. Write a PostgreSQL query that calculates the rolling 30-day average exposure for each selected counterparty.

Requirements

  1. Include active counterparties in the UK region, including those with no exposure records.
  2. Include only exposure snapshots marked VALID and aggregate multiple snapshots on the same date.
  3. Treat missing daily exposure as zero, and calculate a 30-calendar-day average ending on each report date.
  4. Return results for 1 January 2025 through 3 January 2025, including the applicable risk limit and ordering by counterparty and date.

Schema

counterparties
ColumnTypeDescription
counterparty_idPKINTUnique counterparty identifier
counterparty_nameVARCHAR(100)Counterparty legal or reporting name
regionVARCHAR(30)Counterparty operating region
is_activeBOOLEANWhether the counterparty is currently active
counterparty_limits
ColumnTypeDescription
limit_idPKINTUnique limit record identifier
counterparty_idINTReferences counterparts.counterparty_id
limit_amountNUMERIC(12,2)Approved exposure limit
limit_statusVARCHAR(20)Status of the limit record
exposure_snapshots
ColumnTypeDescription
snapshot_idPKINTUnique exposure snapshot identifier
counterparty_idINTReferences counterparties.counterparty_id
exposure_dateDATEBusiness date of the exposure
exposure_amountNUMERIC(12,2)Exposure amount for the snapshot
snapshot_statusVARCHAR(20)Quality or processing status of the snapshot
Tablescounterpartiescounterparty_limitsexposure_snapshots
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results