---
title: "Reading a Macro Calendar and a Rates Screen"
book: "Markets II: Rates, FX and Credit"
subject: quant
language: en
chapter: 31
exercises: 8
source: https://one-course.com/books/quant/2/en/chapter/31-reading-a-macro-calendar-and-a-rates-screen
---

# Chapter 31 — Reading a Macro Calendar and a Rates Screen

On most Fridays at the start of a month, at 08:30 in New York, the Bureau of Labor Statistics publishes the employment report. From January 2023 to September 2026 the 2-year Treasury yield moved, on the 44 days it came out, by 10.2 basis points on average, up or down; on the other 887 trading days, by 4.6. The rates market lives by a calendar of such releases and central-bank meetings, and a trader reads it the way a pilot reads a weather map: where the turbulence will be, how bad it can get, and how exposed the position is when it arrives. This chapter closes the book on that craft: the calendar, consensus and surprise, positioning into events, the shapes a curve can take and how to trade them, and what a rates screen shows at a glance.

## 31.1 The calendar

**Definition 31.1 (Economic release).**

An *economic release* is the scheduled publication of an official statistic, such as employment or consumer prices, at a date and time announced in advance by the agency that produces it.

In the United States, among the releases that move rates, the employment report and the consumer price index both come at 08:30 Eastern time; the Federal Reserve’s policy decisions come at the end of its eight scheduled meetings a year. The calendar for September 2026 shows how they interlock ([Figure 31.1](#fig-m2-reading-a-macro-calendar-and-a-rates-screen-calendar)): the August employment report on Friday 4 September, the August CPI on Friday 11 September, and the Federal Open Market Committee on 15 and 16 September, one of the four meetings of the year with the Committee’s economic projections.

![The US rates calendar for the first three weeks of September 2026: the employment report and CPI at 08:30 Eastern time, and the FOMC meeting of 15 and 16 September with its blackout period, from the second Saturday before the meeting to the day after it. Dates from the BLS and Federal Reserve calendars.](https://one-course.com/images/onecourse/chapters/quant-2/m2-reading-a-macro-calendar-and-a-rates-screen/fig-d60833c587f8.svg)

***Figure 31.1.** The US rates calendar for the first three weeks of September 2026: the employment report and CPI at 08:30 Eastern time, and the FOMC meeting of 15 and 16 September with its [blackout period](#def-m2-reading-a-macro-calendar-and-a-rates-screen-blackout), from the second Saturday before the meeting to the day after it. Dates from the BLS and Federal Reserve calendars.*

**Definition 31.2 (Blackout period).**

A *blackout period* is the interval around a policy meeting during which a central bank’s policymakers refrain from public comment on the economy and monetary policy.

The FOMC’s rule, reaffirmed in January 2026, starts the blackout at midnight on the second Saturday before a meeting and ends it at 23:59 on the day after: for a Tuesday–Wednesday meeting, from the Saturday ten days earlier to the Thursday. In September 2026 the CPI fell inside it, so the market had to price the report without hearing from the Committee’s members. Calendars also carry holidays, auctions (chapter 4) and index rebalancings (chapter 17); a trader’s calendar is the union.

**As of September 2026 — US rates calendar.**

Employment report 2026: 08:30 ET, e.g. 4 September, 2 October, 6 November, 4 December; no report was published in October 2025, during the lapse in federal appropriations. CPI 2026: 08:30 ET, e.g. 11 September, 14 October. FOMC 2026: 27–28 January, 17–18 March, 28–29 April, 16–17 June, 28–29 July, 15–16 September, 27–28 October, 8–9 December (March, June, September and December with projections). FOMC blackout rule reaffirmed 27 January 2026.

## 31.2 Consensus and surprise

**Definition 31.3 (Consensus forecast, data surprise).**

The *consensus forecast* of a release is the median of economists’ forecasts collected before it. The *data surprise* is the released value minus the consensus, often divided by the standard deviation of past surprises to make releases comparable.

Markets price the consensus before the release; what moves them is the surprise. The first measure of a release’s importance is how much markets move on its days ([Figure 31.2](#fig-m2-reading-a-macro-calendar-and-a-rates-screen-moves)). On payroll days from 2023 to 2026 the 2-year yield moved 2.2 times as much as on other days, the 10-year 1.7 times, and the 2s10s slope 1.4 times: the report is about the path of policy, which the front end prices most directly.

![Mean absolute daily change in the 2- and 10-year Treasury yields and in the 2s10s slope on employment-report days and on other days, January 2023 to September 2026. Data: Federal Reserve H.15 via FRED (DGS2, DGS10); release dates from the BLS archive.](https://one-course.com/images/onecourse/chapters/quant-2/m2-reading-a-macro-calendar-and-a-rates-screen/fig-c921b41ac362.svg)

***Figure 31.2.** Mean absolute daily change in the 2- and 10-year Treasury yields and in the 2s10s slope on employment-report days and on other days, January 2023 to September 2026. Data: Federal Reserve H.15 via FRED (DGS2, DGS10); release dates from the BLS archive.*

The second measure is the sensitivity: how many basis points a yield moves per unit of standardised surprise, estimated by regressing moves on surprises over many releases. Consensus data are sold by vendors, so the tutorial shows the method on synthetic data: with 200 releases whose true sensitivities are 8 and 5 basis points for the 2- and 10-year yields, the regression finds 8.4 and 5.1, with standard errors of 0.2.

## 31.3 Positioning into events

A position that is harmless on a quiet day can be dangerous over a release. The question before an event is the size of the move one could face, which the history of event days answers, and whether one wants the exposure at all: a trader with a view expresses it; a market maker reduces risk or widens quotes into the number; a portfolio that is not meant to bet on data trims its duration or hedges the front end.

**Definition 31.4 (Steepener, flattener, curve fly).**

A *steepener* is a position that gains when the yield curve steepens, typically long a shorter bond and short a longer one with equal DV01; a *flattener* is the opposite. A *curve fly* is a position in three maturities, long or short the middle against the two wings, sized to be neutral to the level and slope of the curve; its price is measured by twice the middle yield minus the two wings.

A DV01-neutral [steepener](#def-m2-reading-a-macro-calendar-and-a-rates-screen-steep) is insensitive to parallel moves: it earns or loses the change in the slope times its DV01 per leg. With the chapter 3 bond calculator, an illustrative 10-year note with a coupon of 4.875% at a yield of 4.96% has a DV01 of 0.0772 per 100, a 2-year note of 4.625% at 4.71% one of 0.0183. Short USD 100 million of the 10-year has a DV01 of USD 77 168 per basis point; the 2-year leg that matches it is USD 421 million.

## 31.4 Reading curve shapes

**Definition 31.5 (Bull steepening, bear flattening).**

A move of the yield curve is *bull steepening* when yields fall and the curve steepens, the short end falling more, and *bear flattening* when yields rise and the curve flattens, the short end rising more. Bull flattening and bear steepening are the other two combinations.

Most payroll days move the curve in one of the two ways defined above, the front end leading ([Figure 31.3](#fig-m2-reading-a-macro-calendar-and-a-rates-screen-scatter)): of the 44 days, 14 were [bull steepening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull) and 20 [bear flattening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull). On 2 August 2024 the 2-year fell 28 basis points and the 10-year 19; on 4 October 2024 the 2-year rose 23 and the 10-year 13. A weak report pulls expected policy rates down, which lowers the front end most; a strong one does the reverse. Moves of the other two kinds, in which the long end leads, often point to something other than the policy path: term premium, supply, inflation expectations.

![Changes in the 2- and 10-year Treasury yields on the 44 employment-report days of January 2023 to September 2026, classified by the average of the two changes (bull or bear) and the change in 2s10s (steepening above the dashed diagonal, flattening below it). Bull steepening, on the left above the diagonal, and bear flattening, on the right below it, are 34 of the 44. Data: H.15 via FRED; BLS release dates.](https://one-course.com/images/onecourse/chapters/quant-2/m2-reading-a-macro-calendar-and-a-rates-screen/fig-4584b2900965.svg)

***Figure 31.3.** Changes in the 2- and 10-year Treasury yields on the 44 employment-report days of January 2023 to September 2026, classified by the average of the two changes (bull or bear) and the change in 2s10s (steepening above the dashed diagonal, flattening below it). [Bull steepening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull), on the left above the diagonal, and [bear flattening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull), on the right below it, are 34 of the 44. Data: H.15 via FRED; BLS release dates.*

## 31.5 A rates screen at a glance

A rates trader’s screen condenses the market into a few numbers: the level of the curve; its slopes (2s10s, 5s30s); its curvature, the 2s5s10s fly; the [implied policy path](https://one-course.com/books/quant/2/en/chapter/8-short-term-interest-rate-futures#def-m2-short-term-interest-rate-futures-path) of chapter 8; [swap spreads](https://one-course.com/books/quant/2/en/chapter/9-interest-rate-swaps#def-m2-interest-rate-swaps-spread) and the [cross-currency basis](https://one-course.com/books/quant/2/en/chapter/16-fx-swaps-forwards-and-the-cross-currency-basis#def-m2-fx-swaps-forwards-and-the-cross-currency-basis-basis) of chapters 9 and 16; the volatility of chapter 13; and the calendar. Read together they say where the market is, what it expects, and what has changed. From September 2025 to September 2026 the Treasury curve rose and flattened: the 2-year rose from 3.61% to 4.71%, the 10-year from 4.15% to 4.96%, and 2s10s fell from 54 to 25 basis points, while the 2s5s10s fly moved from $-34$ to $-1$ ([Figure 31.4](#fig-m2-reading-a-macro-calendar-and-a-rates-screen-curves)).

![The Treasury curve at 2, 5, 10 and 30 years on three dates six months apart: over the year it rose and flattened, a bear flattening led by the 2-year. Data: Federal Reserve H.15 via FRED (DGS2, DGS5, DGS10, DGS30).](https://one-course.com/images/onecourse/chapters/quant-2/m2-reading-a-macro-calendar-and-a-rates-screen/fig-b417e611c19d.svg)

***Figure 31.4.** The Treasury curve at 2, 5, 10 and 30 years on three dates six months apart: over the year it rose and flattened, a [bear flattening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull) led by the 2-year. Data: Federal Reserve H.15 via FRED (DGS2, DGS5, DGS10, DGS30).*

**As of September 2026 — A Treasury screen.**

Constant-maturity yields on 22 September 2026: 2-year 4.71%, 5-year 4.83%, 10-year 4.96%, 30-year 5.29%; 2s10s 25 basis points, 5s30s 46, 2s5s10s fly $-1$. A year earlier: 3.61, 3.71, 4.15 and 4.77%; 54, 106 and $-34$.

## 31.6 Tutorial: a release calendar and a curve screen

**Goal.** Build a release calendar with the blackout, measure moves on event days, estimate surprise sensitivities, summarise the curve and size a DV01-neutral trade. **End state:** Figures [31.1](#fig-m2-reading-a-macro-calendar-and-a-rates-screen-calendar), [31.2](#fig-m2-reading-a-macro-calendar-and-a-rates-screen-moves), [31.3](#fig-m2-reading-a-macro-calendar-and-a-rates-screen-scatter) and [31.4](#fig-m2-reading-a-macro-calendar-and-a-rates-screen-curves) and the numbers of the weekend problem.

1. **The calendar**: events, the blackout rule, and flags. `@dataclass (frozen=True ) class Event : day: dt.date time: str # local time, e.g. "08:30 ET" name: str def blackout (meeting_start: dt.date, meeting_end: dt.date) -> tuple [dt.date, dt.date]: """First and last days of the FOMC blackout for a meeting (ignoring the holiday rule).""" back = (meeting_start.weekday() - 5 ) % 7 or 7 # days back to the Saturday before return meeting_start - dt.timedelta(days=back + 7 ), meeting_end + dt.timedelta(days=1 ) def calendar (events: list [Event], meetings: list [tuple [dt.date, dt.date]]) -> list [tuple [Event, bool ]]: """Events in date order, each flagged if it falls in a blackout.""" windows = [blackout(a, b) for a, b in meetings] return [(e, any (s <= e.day <= t for s, t in windows)) for e in sorted (events, key=lambda e: (e.day, e.time))]` **Listing 31.1.** Events, the FOMC blackout and the calendar. code/firm/macrocal/firm_macrocal.py
2. **The screen**: slopes and fly, move classification, event-day moves, DV01-neutral sizing and P&L. `def curve_summary (y2: float , y5: float , y10: float , y30: float ) -> dict [str , float ]: """Slopes and the 2s5s10s fly, in basis points, from yields in percent.""" return {" 2s10s " : 100 * (y10 - y2), " 5s30s " : 100 * (y30 - y5), " 2s30s " : 100 * (y30 - y2), " 2s5s10s " : 100 * (2 * y5 - y2 - y10)} def classify (d2: float , d10: float ) -> str : """Name a move from the changes in the 2- and 10-year yields.""" level = " bull " if d2 + d10 < 0 else " bear " shape = " steepening " if d10 - d2 > 0 else " flattening " return f " { level} { shape} " def event_day_moves (dates: list [str ], y: list [float ], events: set [str ]) -> tuple [float , float , int , int ]: """Mean absolute daily change (bp) on event days and on other days, and the counts.""" on, off = [], [] for k in range (1 , len (dates)): (on if dates[k] in events else off).append(abs (100 * (y[k] - y[k - 1 ]))) return sum (on) / len (on), sum (off) / len (off), len (on), len (off) def dv01_neutral (dv01_short_leg: float , dv01_long_leg: float , notional_short: float ) -> float : """Notional of the leg with dv01_long_leg per unit that matches the DV01 of notional_short.""" return notional_short * dv01_short_leg / dv01_long_leg def steepener_pnl (dv01: float , d2_bp: float , d10_bp: float ) -> float : """First-order P&L of a DV01-neutral steepener (long the 2-year, short the 10-year) of the given DV01 per leg, for changes in basis points.""" return dv01 * (d10_bp - d2_bp)` **Listing 31.2.** Curve summary, classification, event moves and sizing. code/firm/macrocal/firm_macrocal.py
3. **Surprises**: the sensitivity of yields to standardised surprises. `def sensitivity (surprises: list [float ], moves: list [float ]) -> tuple [float , float ]: """OLS slope of yield moves on surprises (with intercept) and its standard error.""" n = len (surprises) mx, my = sum (surprises) / n, sum (moves) / n sxx = sum ((x - mx) ** 2 for x in surprises) beta = sum ((x - mx) * (y - my) for x, y in zip (surprises, moves, strict=True )) / sxx resid = [y - my - beta * (x - mx) for x, y in zip (surprises, moves, strict=True )] se = (sum (r * r for r in resid) / (n - 2 ) / sxx) ** 0.5 return beta, se` **Listing 31.3.** Sensitivity to surprises by least squares. code/firm/macrocal/firm_macrocal.py
4. **Run** `macro_demo.event_stats()` , `macro_demo.problem()` , `macro_demo.surprise_regression()` and `fig_macro.py` .

**What to change next.** Add the CPI release dates and compare CPI days with payroll days; then fit the 2-year’s sensitivity to payroll surprises if you have consensus data, and compare it with the average move.

## 31.7 Build: event calendar and curve summary

**Purpose.** The miniature firm’s morning note and its risk limits around events: what is released when, which meetings are in blackout, how the curve looks, and how large the curve positions are in DV01.

**Interface.** `Event(day, time, name)`; `blackout(meeting_start, meeting_end)`; `calendar(events, meetings)`; `curve_summary(y2, y5, y10, y30)`; `classify(d2, d10)`; `event_day_moves(dates, y, events)`; `dv01_neutral(dv01_short_leg, dv01_long_leg, notional_short)`; `steepener_pnl(dv01, d2_bp, d10_bp)`; `sensitivity(surprises, moves)`.

**Rules.** Yields in percent, changes in basis points; blackout from the second Saturday before the meeting to the day after (the federal-holiday exception not implemented); first-order P&L for curve trades; OLS with an intercept for sensitivities.

**Acceptance tests.** `code/firm/macrocal/tests/`: the September 2026 and January 2026 blackouts; the calendar flags CPI inside the blackout and payrolls outside; slopes and fly of 22 September 2026; the four classifications; event-day means, DV01-neutral notional and [steepener](#def-m2-reading-a-macro-calendar-and-a-rates-screen-steep) P&L on small cases; the regression recovers a known slope.

**Stretch.** Consensus and surprise series from a data vendor; intraday moves around releases; the [implied policy path](https://one-course.com/books/quant/2/en/chapter/8-short-term-interest-rate-futures#def-m2-short-term-interest-rate-futures-path) before and after each meeting (chapter 8); a morning screen that combines all the chapters’ builds.

Sources and further reading

- Bureau of Labor Statistics, release schedules for the Employment Situation and the CPI; archive of Employment Situation releases.
- Federal Reserve, FOMC calendars; FOMC Policy on External Communications of Committee Participants (reaffirmed January 2026).
- Board of Governors of the Federal Reserve System, H.15 selected interest rates, via FRED (DGS2, DGS5, DGS10, DGS30).

## 31.8 Exercises

**Exercise 31.1 ★.**

The FOMC meets on Tuesday 27 and Wednesday 28 October 2026. When does its blackout begin and end?

**Solution of Exercise 31.1.**

From midnight on Saturday 17 October to 23:59 on Thursday 29 October 2026.

**Exercise 31.2 ★.**

The 2-year yield falls 10 basis points and the 10-year 4. Name the move.

**Solution of Exercise 31.2.**

[Bull steepening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull): yields fell, the 2-year more, so 2s10s rose by 6 basis points.

**Exercise 31.3 ★.**

Compute 2s10s, 5s30s and the 2s5s10s fly on 22 September 2025.

**Solution of Exercise 31.3.**

2s10s $415 - 361 = 54$, 5s30s $477 - 371 = 106$, fly $2 \times 371 - 361 - 415 = -34$ basis points.

**Exercise 31.4 ★★.**

Why does the employment report move the 2-year yield more than the 10-year?

**Solution of Exercise 31.4.**

The 2-year yield is close to the average policy rate expected over two years, and the report changes that expectation most directly; the 10-year also contains expected rates further out, which move less with one month’s data, and a term premium.

**Exercise 31.5 ★★.**

A DV01-neutral [steepener](#def-m2-reading-a-macro-calendar-and-a-rates-screen-steep) has a DV01 of USD 50 000 per leg. What does it earn if the 2-year falls 15 basis points and the 10-year 5? If both fall 10?

**Solution of Exercise 31.5.**

$50\,000 \times (-5 + 15) = \text{USD}~500\,000$; a parallel fall of 10 earns nothing to first order.

**Exercise 31.6 ★★.**

Why is a pass through a release, with no position, sometimes the best position?

**Solution of Exercise 31.6.**

Because the outcome is close to a coin toss for anyone without an edge on the number, the moves are two to three times larger than usual, and liquidity thins around the release: the risk rises more than the expected reward.

**Exercise 31.7 ★★★.**

*Coding.* With `sensitivity` and the synthetic surprises, how many releases are needed for the standard error of the 2-year sensitivity to fall to 0.5 basis points? Check the answer by simulation.

**Solution of Exercise 31.7.**

The standard error is about the noise over the square root of the number of releases, $3/\sqrt n$ with unit-variance surprises: 0.5 needs about 36 releases, three years of monthly data. Simulated with 36 releases, the average standard error is 0.51.

**Exercise 31.8 ★★★.**

*Find the flaw.* “The 2-year moves 10 basis points on payroll days; my position has a DV01 of USD 100 000; so my payroll risk is USD 1 million.” Correct it.

**Solution of Exercise 31.8.**

The 10 basis points are the average absolute move of the 2-year, not a bad day, and they say nothing about the position’s other exposures: a curve position’s risk is the slope’s move times its DV01, a portfolio’s the combination of its exposures along the curve. Use the distribution of event-day moves of each exposure, including its tail: the 2-year moved up to 30 basis points on payroll days in the sample.

## 31.9 Problem: Payrolls Friday

**Problem 31.1.**

Weekend problem — a steepener into the employment report

On a Thursday evening a trader expects a weak employment report and wants a curve position that gains from it without betting on the level of rates. It sells USD 100 million of an illustrative 10-year note (coupon 4.875%, yield 4.96%) and buys a 2-year note (coupon 4.625%, yield 4.71%), DV01-neutral, settling on 22 September 2026.

**Part I — Sizing.**

1. What are the two notes’ DV01s per 100 of face?
2. What is the DV01 of the 10-year leg?
3. How much of the 2-year does the trader buy?
4. Why DV01-neutral rather than equal notional?
5. What does the position gain or lose if all yields move by the same amount?

**Part II — The report.**

6. Suppose the day repeats 2 August 2024: the 2-year falls 28 basis points and the 10-year 19. What is the P&L to first order? Fully repriced?
7. Suppose instead 4 October 2024: the 2-year rises 23 and the 10-year 13.
8. Name each of the two moves.
9. How often, on the 44 payroll days of 2023–2026, did the curve move one of these two ways?
10. What does the difference between the first-order and repriced P&L come from?

**Part III — The calendar.**

11. The report comes on 4 September 2026. Is the FOMC in blackout?
12. The CPI comes a week later. Why does the blackout matter for how the market takes it?
13. How much more does the 2-year move on payroll days than on other days?
14. What else on the calendar could move the position that week?
15. How would you size the position to lose at most USD 500 000 on a typical bad payroll day?

**Part IV — Judgement.**

16. Why might the [steepener](#def-m2-reading-a-macro-calendar-and-a-rates-screen-steep) lose even if the report is weak?
17. What would you watch on the screen before and after the release?
18. How does the trade relate to the [implied policy path](https://one-course.com/books/quant/2/en/chapter/8-short-term-interest-rate-futures#def-m2-short-term-interest-rate-futures-path) of chapter 8?
19. State the *named result* : the DV01-neutral 2s10s position and its P&L under each of the two moves.
20. In one sentence: what does a DV01-neutral [steepener](#def-m2-reading-a-macro-calendar-and-a-rates-screen-steep) bet on?

**Solution of Problem 31.1.**

**1.** 0.0183 for the 2-year and 0.0772 for the 10-year, per 100. **2.** USD 77 168 per basis point. **3.** USD 421 million of the 2-year. **4.** Because the 10-year moves the price four times as much per basis point: equal notional would be mostly a bet on the level of the 10-year. **5.** Nothing, to first order. **6.** USD 694 512 to first order; USD 688 510 fully repriced. **7.** A loss of USD 771 680 to first order; USD 772 969 repriced. **8.** [Bull steepening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull), then [bear flattening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull). **9.** 34 times out of 44. **10.** Convexity and the different sizes of the moves: the 2-year and 10-year prices are not linear in their yields, and the 10-year’s convexity is larger. **11.** No: it begins the next day, Saturday 5 September. **12.** Policymakers cannot comment on it before the meeting, so the market’s reading of the CPI is not corrected or confirmed by them until the decision. **13.** 10.2 basis points against 4.6, 2.2 times as much. **14.** The CPI on 11 September, Treasury auctions, and anything else scheduled, such as speeches before the blackout begins. **15.** The largest payroll-day move in the 2s10s slope in the sample was 11 basis points (1 August 2025): a DV01 of about USD 45 000 per leg keeps that loss within USD 500 000; the trader’s USD 77 000 would lose about USD 850 000 on such a day against it. **16.** Because a weak report may move the long end as much, if it raises doubts about term premium or supply, or because the market had already priced it; and because the report is only one of the things that moved yields that day. **17.** The 2-year, the [implied policy path](https://one-course.com/books/quant/2/en/chapter/8-short-term-interest-rate-futures#def-m2-short-term-interest-rate-futures-path) and 2s10s before and after; the reaction of the long end; volumes and liquidity; the next events on the calendar. **18.** The [steepener](#def-m2-reading-a-macro-calendar-and-a-rates-screen-steep) profits when the market cuts its expected policy path at the front: it is a way to bet on the path of chapter 8 without holding the level of rates. **19.** Named result: *payrolls Friday*: buy USD 421 million of the 2-year against USD 100 million of the 10-year, USD 77 168 per basis point on each leg; the [steepener](#def-m2-reading-a-macro-calendar-and-a-rates-screen-steep) gains USD 694 512 on a repeat of 2 August 2024 (688 510 repriced) and loses USD 771 680 on a repeat of 4 October 2024 (772 969 repriced). **20.** On the slope between the two maturities, not on the level of rates.

## 31.10 Interview questions

**Interview question 31.1 ★ trader.**

What are the most important US data releases for rates, and when do they come out?

**Solution of Interview question 31.1.**

The employment report and the CPI, at 08:30 Eastern time, the first usually on the first Friday of the month and the second in the middle of it; the FOMC decisions after its eight scheduled meetings; also retail sales, GDP, PCE inflation and Treasury refunding and auctions.

*What the interviewer is looking for: the main releases and their timing.*

**Interview question 31.2 ★ trader, researcher.**

Define [bull steepening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull) and [bear flattening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull), and give a cause of each.

**Solution of Interview question 31.2.**

[Bull steepening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull): yields fall, the front end more, as when weak data pull expected policy rates down. [Bear flattening](#def-m2-reading-a-macro-calendar-and-a-rates-screen-bull): yields rise, the front end more, as when strong data or a hawkish central bank push expected policy rates up.

*What the interviewer is looking for: direction, shape, and the policy-path channel.*

**Interview question 31.3 ★★ trader.**

How do you construct a 2s10s [steepener](#def-m2-reading-a-macro-calendar-and-a-rates-screen-steep), and what are its risks?

**Solution of Interview question 31.3.**

Buy the 2-year and sell the 10-year in DV01-equal amounts, in bonds, futures or swaps. It gains when 2s10s widens. Risks: the slope moving the other way, non-parallel moves within each leg, financing and roll (the carry of each leg), and basis between the instruments.

*What the interviewer is looking for: DV01 neutrality and the remaining risks.*

**Interview question 31.4 ★★ researcher.**

How would you measure the market’s sensitivity to a data release?

**Solution of Interview question 31.4.**

Collect the release, the consensus and the market’s move in a narrow window around the release time; standardise the surprise; regress the moves on the surprises across many releases; check the stability of the coefficient over time and whether large surprises act linearly.

*What the interviewer is looking for: surprise, narrow window, regression, stability.*

**Interview question 31.5 ★★ trader, risk.**

What would you put on a one-page rates screen, and why?

**Solution of Interview question 31.5.**

The curve levels and changes at key maturities, slopes and a fly; the [implied policy path](https://one-course.com/books/quant/2/en/chapter/8-short-term-interest-rate-futures#def-m2-short-term-interest-rate-futures-path) and its change; [swap spreads](https://one-course.com/books/quant/2/en/chapter/9-interest-rate-swaps#def-m2-interest-rate-swaps-spread) and the [cross-currency basis](https://one-course.com/books/quant/2/en/chapter/16-fx-swaps-forwards-and-the-cross-currency-basis#def-m2-fx-swaps-forwards-and-the-cross-currency-basis-basis); implied volatility; financing rates; the day’s calendar and the positions’ DV01 by bucket against their limits.

*What the interviewer is looking for: level, shape, expectations, relative value, risk, calendar.*

**Interview question 31.6 ★★★ developer.**

Design the system that ingests a release at 08:30:00 and updates every desk’s risk and quotes within a second.

**Solution of Interview question 31.6.**

Subscribe to the release feed with the lowest latency available and parse the numbers into standard fields; compute surprises against pre-loaded consensus; push the new figures to the pricing engines, which recompute curves and quotes incrementally; limit checks and risk refresh in the same event loop; everything time-stamped for replay; kill switches if the feed is malformed or late.

*What the interviewer is looking for: pre-loaded context, incremental recompute, fail-safe.*
