---
title: "Refined Products and Cracks"
book: "Markets III: Commodities, Energy and Crypto"
subject: quant
language: en
chapter: 3
exercises: 8
source: https://one-course.com/books/quant/3/en/chapter/3-refined-products-and-cracks
---

# Chapter 3 — Refined Products and Cracks

A refinery on the US Gulf Coast buys crude and sells gasoline and diesel. It does not care much whether oil costs sixty dollars or a hundred; it cares about the difference between what its products fetch and what its crude costs. That difference has a name on every energy screen, the crack, after the cracking of heavy molecules into light ones. In August 2026 the most common version of it averaged about $65 a barrel of crude in New York Harbor, three times its average of the previous twenty years, and a refiner could have locked most of a quarter’s margin in an afternoon with three futures contracts. This chapter covers the products, the spreads that price the refining business, the arbitrage that moves products between regions, and the seasons and regulations that shape both.

## 3.1 The refinery and its product slate

Distillation separates crude by boiling point: gases and naphtha at the top, kerosene and gasoil in the middle, heavy fuel oil and residue at the bottom. Conversion units (catalytic crackers, hydrocrackers, cokers) break the heavy fractions into lighter, more valuable ones; treating units remove sulphur; blending combines components into products that meet a specification.

**Definition 3.1 (Product slate).**

A refinery’s *product slate* is the set of products it makes and their shares of its output, per barrel of crude processed.

A US refinery gets about 19 to 20 gallons of gasoline and 11 to 13 gallons of ultra-low-sulphur distillate from a 42-gallon barrel of crude; the slate varies with the crude, the season and the units the refinery has. The total output usually exceeds 42 gallons, because the products are less dense than the crude: refiners call it processing gain.

![A barrel of crude through a US refinery. Shares vary by crude, season and refinery configuration. Source of the gasoline and distillate volumes: US Energy Information Administration. Schematic.](https://one-course.com/images/onecourse/chapters/quant-3/m3-refined-products-and-cracks/fig-f0ddc08a327e.svg)

***Figure 3.1.** A barrel of crude through a US refinery. Shares vary by crude, season and refinery configuration. Source of the gasoline and distillate volumes: US Energy Information Administration. Schematic.*

## 3.2 Gasoline, distillates and fuel oil

**Definition 3.2 (Middle distillates).**

*Middle distillates* are the products of the middle of the distillation range: kerosene and jet fuel, diesel and heating oil, and the gasoils from which they are made.

Each product has its own benchmarks. In the United States the futures are gasoline blendstock (RBOB) and ultra-low-sulphur diesel (ULSD), both delivered in New York Harbor in lots of 42 000 gallons (1 000 barrels) and quoted in dollars per gallon; in Europe, low-sulphur gasoil, delivered in the Amsterdam–Rotterdam–Antwerp area in lots of 100 tonnes and quoted in dollars per tonne. A tonne of gasoil of density $0.845\,\mathrm{kg}/\mathrm{l}$ is 1.1835 cubic metres, 7.44 barrels: to compare it with crude, divide the price per tonne by 7.44.

**Definition 3.3 (Marine fuel sulphur cap).**

The *marine fuel sulphur cap* is the International Maritime Organization’s limit on the sulphur content of fuel used by ships: 0.50% by mass since 1 January 2020 outside emission control areas (down from 3.50%), and 0.10% inside them since 2015.

The cap moved demand from high-sulphur fuel oil, the heavy residue that ships had burned for decades, towards low-sulphur blends and marine gasoil. It is the cleanest example of a regulation that re-priced a product overnight: the value of a refinery’s residue depended from one day to the next on whether it had the units to desulphurise it.

## 3.3 Crack spreads and refining margins

**Definition 3.4 (Crack spread, 3-2-1 crack spread).**

A *crack spread* is the difference between the value of refined products and the cost of the crude they are made from, in a fixed volume ratio, per barrel of crude. The *3-2-1 crack spread* sells two barrels of gasoline and one of diesel for three barrels of crude:

$$
\mathrm{C}_{321} = \frac{2\,P_{\mathrm{gas}} + P_{\mathrm{dist}} - 3\,P_{\mathrm{crude}}}{3},
$$

all prices in dollars per barrel (product prices per gallon times 42).

**Example 3.5 (A crack from three quotes).**

With crude at $83.90\,\$/\mathrm{bbl}$, gasoline at $3.2132\,\$/\mathrm{gal}$ and diesel at $4.2530\,\$/\mathrm{gal}$ (the August 2026 averages of the data used below), the products are worth $134.95\,\$/\mathrm{bbl}$ and $178.63\,\$/\mathrm{bbl}$, and the 3-2-1 crack is $65.61\,\$/\mathrm{bbl}$. Separately, the gasoline crack is $51.06\,$ and the diesel crack $94.73\,\$/\mathrm{bbl}$.

A crack is a stylised refinery: a real one has its own slate and costs.

**Definition 3.6 (Gross refining margin).**

The *gross refining margin* of a refinery is the value of the products it obtains from a barrel of a given crude, at their market prices and yields (including processing gain), less the price of that crude. The net margin also deducts operating costs.

**Proposition 3.7 (A crack is a portfolio of futures).**

A refiner that processes $Q$ barrels of crude in a period and sells products in the ratio $2:1$ locks the 3-2-1 crack prevailing today by buying $Q$ barrels of crude futures and selling $2Q/3$ of gasoline and $Q/3$ of diesel futures for that period. Its margin then moves only with the difference between its own yields, locations and grades and those of the contracts.

**Proof.** On the hedged volume the refiner’s physical margin per barrel is $\frac{1}{3}(2P_g + P_d
- 3P_c)$ at the period’s prices; the futures gain $\frac{1}{3}(2(F_g - P_g) + (F_d -
P_d) - 3(F_c - P_c))$ per barrel if the physical prices equal the futures at delivery. The sum is the crack at today’s futures prices. ∎

![New York Harbor cracks against WTI, monthly averages of daily spot prices, July 2006 to August 2026. The peaks are May 2022 ($62.68) and August 2026 ($65.61, the highest); the low is November 2009 ($5.51). Data: FRED series DCOILWTICO, DGASNYH and DDFUELNYH (US Energy Information Administration).](https://one-course.com/images/onecourse/chapters/quant-3/m3-refined-products-and-cracks/fig-1c33388b7151.svg)

***Figure 3.2.** New York Harbor cracks against WTI, monthly averages of daily spot prices, July 2006 to August 2026. The peaks are May 2022 ($62.68) and August 2026 ($65.61, the highest); the low is November 2009 ($5.51). Data: FRED series DCOILWTICO, DGASNYH and DDFUELNYH (US Energy Information Administration).*

The crack averaged $21.20\,\$/\mathrm{bbl}$ over the period ([Figure 3.2](#fig-m3-refined-products-and-cracks-crack)). It rose in 2022, after Russia’s full-scale invasion of Ukraine put at risk the source of half of Europe’s diesel imports (the European Union banned seaborne Russian diesel in early 2023), and again in 2026, when the Gulf disruption of [Chapter 2](https://one-course.com/books/quant/3/en/chapter/2-crude-oil#ch-m3-crude-oil) took refined products as well as crude off the market; in both episodes diesel cracked far above gasoline.

**As of September 2026 — US refining capacity.**

US operable atmospheric distillation capacity was 18.2 million barrels per calendar day on 1 January 2026, down about 250 000 barrels a day (about 1%) from a year earlier, at 130 operable refineries (301 in 1982).

## 3.4 Regional arbitrage

The same product trades at different prices in different places, and moves between them by pipeline or ship when the difference pays for the move.

**Definition 3.8 (Arbitrage window).**

An *arbitrage window* for a product between two regions is open when its price in the destination exceeds its price at the origin by more than the cost of moving it (freight, insurance, losses, duties and financing over the voyage), and closed otherwise.

The US Gulf Coast refines far more than it consumes and ships the surplus to the East Coast by pipeline and tanker, and abroad. New York Harbor gasoline therefore usually trades above Gulf Coast gasoline: by 6.0 cents a gallon on average in the monthly data since 2006, below it in only 35 of 242 months ([Figure 3.3](#fig-m3-refined-products-and-cracks-arb)). When the difference falls below the cost of moving a gallon, the flow slows; when it rises above, more product moves. [Arbitrage windows](#def-m3-refined-products-and-cracks-arb) are what connect regional product markets, and what disconnect them when a pipeline breaks or a canal closes.

![New York Harbor minus US Gulf Coast conventional gasoline, monthly averages of daily spot prices, July 2006 to August 2026. The spread prices the move from the refining centre to the consuming coast. Data: FRED series DGASNYH and DGASUSGULF (US Energy Information Administration).](https://one-course.com/images/onecourse/chapters/quant-3/m3-refined-products-and-cracks/fig-51dc760ef53d.svg)

***Figure 3.3.** New York Harbor minus US Gulf Coast conventional gasoline, monthly averages of daily spot prices, July 2006 to August 2026. The spread prices the move from the refining centre to the consuming coast. Data: FRED series DGASNYH and DGASUSGULF (US Energy Information Administration).*

## 3.5 Seasonality and specifications

Products have seasons. Gasoline demand peaks in the northern summer driving season, distillate demand in winter heating; refineries schedule maintenance in spring and autumn between the peaks. The specifications change with the season too.

**Definition 3.9 (Reid vapour pressure).**

*Reid vapour pressure* (RVP) is the standard measure of gasoline volatility, in pounds per square inch; a lower RVP means less evaporation and fewer emissions of volatile organic compounds.

US summer gasoline, sold from 1 June to 15 September, may not exceed an RVP of $9.0\,\mathrm{psi}$, and $7.8\,\mathrm{psi}$ in some areas. Summer grade needs fewer cheap light components such as butane and costs more to make, so the gasoline futures contract changes grade in the spring and its price steps up: the NYMEX rulebook caps the RVP of RBOB delivered at $13.5\,\mathrm{psi}$ in March and $7.4\,\mathrm{psi}$ from April to mid-September. [Figure 3.4](#fig-m3-refined-products-and-cracks-season) shows the net effect on the cracks: from 2010 to 2025 the gasoline crack averaged $2.83\,\$/\mathrm{bbl}$ above its mean in May and $3.83\,\$/\mathrm{bbl}$ below it in January; the diesel crack peaked in November, $4.15\,\$/\mathrm{bbl}$ above its mean.

![Seasonality of New York Harbor cracks: the mean by calendar month minus the overall mean, 2010 to 2025. Gasoline is dear in the driving season, diesel in the heating season. Data: as .](https://one-course.com/images/onecourse/chapters/quant-3/m3-refined-products-and-cracks/fig-1da80a0de1fe.svg)

***Figure 3.4.** Seasonality of New York Harbor cracks: the mean by calendar month minus the overall mean, 2010 to 2025. Gasoline is dear in the driving season, diesel in the heating season. Data: as [Figure 3.2](#fig-m3-refined-products-and-cracks-crack).*

## 3.6 Tutorial: cracks from prices, and the hedge

**Goal.** Compute cracks from product and crude prices in their own units, and size the futures hedge of [Proposition 3.7](#prop-m3-refined-products-and-cracks-hedge). **End state:** Figures [3.2](#fig-m3-refined-products-and-cracks-crack) and [3.4](#fig-m3-refined-products-and-cracks-season) and the lots of the weekend problem.

1. **The crack.** Any ratio, with the check that products and crude balance. `def crack (crude: float , products: dict [str , float ], ratio: dict [str , int ], crude_barrels: int ) -> float : """Margin per barrel of crude of the crack `crude_barrels` : ratio, all prices per barrel: (sum of ratio[p] * products[p] - crude_barrels * crude) / crude_barrels.""" if sum (ratio.values()) != crude_barrels: raise ValueError(" a crack sells as many barrels of product as it buys of crude " ) return (sum (n * products[p] for p, n in ratio.items()) - crude_barrels * crude) / crude_barrels def three_two_one (crude: float , gasoline_gal: float , diesel_gal: float ) -> float : """3-2-1 crack with US products quoted per gallon.""" return crack(crude, {" gasoline " : per_gallon_to_per_barrel(gasoline_gal), " diesel " : per_gallon_to_per_barrel(diesel_gal)}, {" gasoline " : 2 , " diesel " : 1 }, 3 )` **Listing 3.1.** A crack spread and the 3-2-1 crack. code/firm/cracks/firm_cracks.py
2. **The hedge.** Crude bought, products sold, in whole lots. `def hedge_lots (throughput_bpd: float , days: int , ratio: dict [str , int ], crude_barrels: int ) -> dict [str , int ]: """Futures lots that lock a crack on a throughput: buy crude, sell products in the ratio. Positive = buy. Volumes are rounded to whole lots.""" crude_bbl = throughput_bpd * days lots = {" crude " : round (crude_bbl / LOT_BARRELS)} for p, n in ratio.items(): lots[p] = -round (crude_bbl * n / crude_barrels / LOT_BARRELS) return lots` **Listing 3.2.** Futures lots that lock a crack on a throughput. code/firm/cracks/firm_cracks.py
3. **Run** `m3_cracks.crack_series()` , `seasonality()` , `refinery_hedge()` and `fig_cracks.py` .

**What to change next.** Replace the 3-2-1 by a 5-3-2 and by a European crack on Brent and gasoil in tonnes; lag the products by a month (the time crude takes to become product) and see how the crack’s volatility changes.

## 3.7 Build: the crack calculator

**Purpose.** The miniature firm trades refining margins for refiners’ hedges and for its own book: it needs cracks in any ratio and unit, refinery margins from yields, hedge sizes in lots, and a test of whether an [arbitrage window](#def-m3-refined-products-and-cracks-arb) is open.

**Interface.** `per_gallon_to_per_barrel`; `barrels_per_tonne(density)`; `per_tonne_to_per_barrel`; `crack(crude, products, ratio, crude_barrels)`; `three_two_one`; `gross_refining_margin(crude, yields, products)`; `hedge_lots(throughput_bpd, days, ratio, crude_barrels)`; `arbitrage_open`.

**Rules.** Everything is converted to dollars per barrel before it is subtracted; a crack whose product barrels do not equal its crude barrels is rejected; lots are rounded to whole contracts and the hedge’s lots sum to zero.

**Acceptance tests.** `code/firm/cracks/tests/`: 7.44 barrels per tonne of gasoil; the 3-2-1 as a crack; a margin with processing gain; a balanced hedge.

**Stretch.** A crack on futures of different months (crude this month, products next); a refinery linear programme that chooses the slate from product prices.

Sources and further reading

- US Energy Information Administration: *Frequently Asked Questions* (products from a barrel); *Refinery Capacity Report* and *Today in Energy* , “U.S. refining capacity decreased during 2025” (2026); spot price series via FRED.
- International Maritime Organization, “IMO 2020 — cutting sulphur oxide emissions”.
- US Environmental Protection Agency, “Gasoline Reid vapor pressure”.
- NYMEX Rulebook, chapters 191 (RBOB gasoline) and 150 (NY Harbor ULSD) (Internet Archive copies); ICE Low Sulphur Gasoil futures specification.

## 3.8 Exercises

**Exercise 3.1 ★.**

Crude is $75\,\$/\mathrm{bbl}$, gasoline $2.40\,\$/\mathrm{gal}$, diesel $2.80\,\$/\mathrm{gal}$. Give the 3-2-1 crack.

**Solution of Exercise 3.1.**

Gasoline $100.80\,\$/\mathrm{bbl}$, diesel $117.60\,\$/\mathrm{bbl}$; $(2 \times 100.80 +
117.60 - 3 \times 75)/3 = 31.40\,\$/\mathrm{bbl}$.

**Exercise 3.2 ★.**

Gasoil trades at $900\,\$/\mathrm{t}$. What is that per barrel at the density of the ICE contract?

**Solution of Exercise 3.2.**

7.44 barrels a tonne: $900/7.4435 = 120.91\,\$/\mathrm{bbl}$.

**Exercise 3.3 ★.**

Why does gasoline trade higher in May than in January, and why does its futures price step up in the spring?

**Solution of Exercise 3.3.**

Summer driving raises demand, and summer-grade gasoline (RVP at most 9.0 psi from 1 June) needs fewer cheap volatile components and costs more to make. The futures contract switches to the summer grade in the spring, so the price steps up with the grade.

**Exercise 3.4 ★★.**

A refinery’s yields are 47% gasoline, 30% diesel and 30% other products worth $60\,\$/\mathrm{bbl}$. With crude at $80\,$, gasoline at $100\,$ and diesel at $110\,\$/\mathrm{bbl}$, what is its gross margin? Why do the yields sum to more than 100%?

**Solution of Exercise 3.4.**

$0.47 \times 100 + 0.30 \times 110 + 0.30 \times 60 - 80 = 18\,\$/\mathrm{bbl}$. The yields are volumes: the products are less dense than the crude, so their volume exceeds the crude’s (processing gain).

**Exercise 3.5 ★★.**

New York gasoline is $2.62\,\$/\mathrm{gal}$, Gulf gasoline $2.50\,\$/\mathrm{gal}$, and moving a gallon costs $0.08\,\$$. Is the window open? At what Gulf price would it close?

**Solution of Exercise 3.5.**

$2.62 - 2.50 - 0.08 = +0.04$ $/gal: open. It closes when the Gulf price reaches $2.54\,\$/\mathrm{gal}$.

**Exercise 3.6 ★★.**

How many CL, RB and HO lots lock a 3-2-1 crack on 60 000 barrels a day for 30 days?

**Solution of Exercise 3.6.**

1 800 000 barrels: buy 1 800 CL, sell 1 200 RB and 600 HO.

**Exercise 3.7 ★★★.**

*Coding.* With `crack_series`, find the month of the highest 3-2-1 crack in 2022 and its value, and the average crack over all months.

**Solution of Exercise 3.7.**

May 2022, $62.68\,\$/\mathrm{bbl}$; the average over July 2006 to August 2026 is $21.20\,\$/\mathrm{bbl}$.

**Exercise 3.8 ★★★.**

*Find the flaw.* “Our refinery is hedged: we bought crude futures for all our throughput.”

**Solution of Exercise 3.8.**

A refiner is long products and short crude. Buying crude futures adds to its exposure to the crude price (it will buy crude anyway, at whatever price) instead of hedging it, and leaves its product sales unhedged. It locks its margin only by buying crude and *selling* products, in its slate’s ratio.

## 3.9 Problem: Hedging a Refinery’s Quarter

**Problem 3.1.**

Weekend problem — locking a record margin

At the end of August 2026 a refinery with 90 000 barrels a day of throughput wants to lock its margin for the next quarter (92 days). Take the August averages as the futures prices: WTI $83.8976\,\$/\mathrm{bbl}$, gasoline $3.2132\,\$/\mathrm{gal}$, diesel $4.2530\,\$/\mathrm{gal}$. Its slate is close to 2 barrels of gasoline for 1 of diesel.

**Part I — The margin.**

1. Give the gasoline and diesel prices per barrel.
2. Give the 3-2-1 crack.
3. How does it compare with the average since 2006?
4. Why were distillates so much dearer than gasoline?
5. What was the crack’s previous peak, and when?

**Part II — The hedge.**

6. How many barrels of crude will the refinery process in the quarter?
7. How many CL lots does it buy?
8. How many RB and HO lots does it sell?
9. What margin, in dollars, does the hedge lock?
10. If the crack falls to $25 by delivery, what do the futures gain or lose?

**Part III — What is not hedged.**

11. The refinery’s crude is not WTI Cushing. What risk remains?
12. Its products are sold on the Gulf Coast, not in New York. What risk remains?
13. It produces 3 barrels of gasoline for 2 of diesel. How should the hedge change?
14. An unplanned outage stops the refinery for two weeks. What happens to the hedge?
15. What margin must the refinery post on the hedge if the crack widens further?

**Part IV — Judgement.**

16. Why might the refinery hedge only half of the quarter?
17. Who takes the other side of a refiner’s crack hedge?
18. Why can a record crack be a good time to hedge and still a hard one?
19. State the *named result* : the lots and the margin the hedge locks.
20. In one sentence: what does a refinery sell?

**Solution of Problem 3.1.**

**1.** Gasoline $3.2132 \times 42 = 134.95\,\$/\mathrm{bbl}$, diesel $178.63\,\$/\mathrm{bbl}$. **2.** $65.61\,\$/\mathrm{bbl}$. **3.** About 3.1 times the average of $21.20\,$. **4.** The Gulf disruption of 2026 took crude and products out of the market, and diesel supply was already tight after Europe lost Russian imports. **5.** May 2022, $62.68\,\$/\mathrm{bbl}$. **6.** $90\,000 \times 92 = 8.28$ million barrels. **7.** 8 280. **8.** 5 520 RB and 2 760 HO. **9.** $65.61 \times 8.28$ million = USD 543.3 million. **10.** The futures gain $(65.61 - 25) \times 8.28$ million = USD 336.3 million, offsetting the lower margin on the physical barrels. **11.** Basis between its crude and WTI Cushing (grade and location). **12.** Basis between Gulf and New York products ([Figure 3.3](#fig-m3-refined-products-and-cracks-arb)). **13.** Sell products in its own ratio: 4 968 RB and 3 312 HO. **14.** The hedge stays on for barrels the refinery no longer processes: it becomes an open position long crude and short products, to be closed or rolled. **15.** Variation margin on the short product futures when products rise faster than crude, with no cash yet from the physical margin. **16.** To keep upside if the crack widens further, to limit margin calls, and because output is uncertain. **17.** Speculators, trading houses and funds long cracks, and refiners’ opposite numbers (crude producers selling, product consumers buying). **18.** Locking three times the average margin is attractive, but the curve is usually backwardated at such times and the margin calls on the hedge can be large. **19.** *Named result:* buy 8 280 CL, sell 5 520 RB and 2 760 HO, locking $65.61\,\$/\mathrm{bbl}$ of crude, USD 543.3 million for the quarter. **20.** The spread between products and crude: the crack, not oil.

## 3.10 Interview questions

**Interview question 3.1 ★ trader.**

What is a 3-2-1 crack, and why those numbers?

**Solution of Interview question 3.1.**

Three barrels of crude for two of gasoline and one of distillate: roughly the slate of a US refinery, and all three are liquid futures. The crack is the margin per barrel of crude.

*What the interviewer is looking for: the stylised slate and the futures legs.*

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

Gasoil is quoted per tonne and crude per barrel. How do you compare them?

**Solution of Interview question 3.2.**

Convert with density: barrels per tonne is $6.2898/\rho$ with $\rho$ in kg/l, about 7.45 for gasoil; divide the price per tonne by it.

*What the interviewer is looking for: density, not a single magic number.*

**Interview question 3.3 ★★ researcher.**

How would you test whether the gasoline crack is seasonal, and trade it if so?

**Solution of Interview question 3.3.**

Regress the crack on calendar-month dummies, or compare month means with a block bootstrap over years; beware the contract’s grade change and the roll. Trade it as a calendar spread of cracks (long summer against winter months), sized for the years it fails.

*What the interviewer is looking for: a proper test on overlapping years, and a spread rather than an outright.*

**Interview question 3.4 ★★ trader.**

Diesel cracks triple in a month while gasoline cracks barely move. What could cause it?

**Solution of Interview question 3.4.**

A distillate-specific supply shock: refinery outages, loss of imports (sanctions, disrupted routes), a cold winter, a regulation change; gasoline supply is unaffected or its demand is weak.

*What the interviewer is looking for: product-specific supply and demand, not crude.*

**Interview question 3.5 ★★ risk.**

A refiner hedges its crack a year ahead. List the risks the hedge does not cover.

**Solution of Interview question 3.5.**

Crude-quality and location basis, product location and grade basis, slate changes, volume risk (outages), margin-call liquidity, and the roll of the hedge across months.

*What the interviewer is looking for: basis, volume and liquidity.*

**Interview question 3.6 ★★★ developer, researcher.**

Design a daily report of refining margins for twenty refineries, each with its own crude and slate, from market prices.

**Solution of Interview question 3.6.**

Reference data per refinery (crude grades and their pricing formulas, slate, costs); a price store with unit and currency conversions; a margin engine per refinery computing product value less crude cost; checks on missing prices and stale slates; output by region and a history for trends.

*What the interviewer is looking for: units, per-asset configuration, data quality.*
