Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL Window Totals and Averages

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

Your question is SQL Window Totals and Averages. Start with the requirements and the two 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

Business Context

Balyasny Asset Management needs a daily view of execution activity across instruments to support portfolio and trading analysis.

Task

Write a PostgreSQL query that joins trade executions to instrument metadata, aggregates filled executions by ticker and trading day, and calculates running and sliding-window metrics.

Requirements

  1. Include only executions with execution_status = 'FILLED'.
  2. Aggregate daily executed quantity and daily notional value by ticker and trade date.
  3. Calculate a cumulative executed quantity and cumulative notional value for each ticker.
  4. Calculate the average daily executed quantity over the current day and preceding 29 calendar days. Use a date-based RANGE window, not a row-count window.
  5. Return results ordered by ticker and trade date.

Schema

trade_executions
ColumnTypeDescription
execution_idPKINTUnique execution identifier
instrument_idINTReferences instruments.instrument_id
executed_atTIMESTAMPTZExecution timestamp
quantityNUMERIC(18,2)Executed quantity
execution_priceNUMERIC(18,4)Execution price
execution_statusVARCHAR(20)Execution lifecycle status
trader_idVARCHAR(30)BAM trader identifier
instruments
ColumnTypeDescription
instrument_idPKINTUnique instrument identifier
tickerVARCHAR(20)Instrument ticker
asset_classVARCHAR(30)Instrument asset classification
Tablestrade_executionsinstruments
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results