An Introduction to Futures Spreads

Table of Contents

Many market participants need to hedge against relative changes in prices rather than absolute changes. For example, if your firm refines oil they only care about the relative price between their input (crude oil) and output (gasoline). Similarly, when a natural gas producer decides whether to sell or store gas, they care about the differential in prices between delivery months.

1. Refining Spreads

Below we'll discuss 3 refining spreads: the crack; crush; and spark spreads.

1.1. Crack Spread

Crude oil is refined (cracked) into heating oil and gasoline. We use the term crack because to refine the crude oil it is put into a tall column and heated, which causes the crude oil to separate (crack) into lighter gasoline and heavier heating oil.

NYMEX Crude Oil (ticker CL) contracts are for 1000 barrels.

1.2. Crack Spread Calculator

The calculator is here:

https://jsfiddle.net/mbkr1/g6rkdq85/embed/result,js,html,css/dark/

2. Crack Spread Over Time

library(EIAdata)

key <- source("~/eia_key")$value

cl1 <- getEIA("PET.RCLC1.D", key=key)
rb1 <- getEIA("PET.EER_EPMRR_PE1_Y35NY_DPG.D", key = key)
ho1 <- getEIA("PET.EER_EPD2F_PE1_Y35NY_DPG.D", key = key)

prices1 <- merge.xts(cl1, rb1, ho1)

prices1 <- prices1[complete.cases(prices1), ]

crack_bbl_1 <- 42 * (2/3) * prices1$PET.EER_EPMRR_PE1_Y35NY_DPG.D + 42 * (1/3) * prices1$PET.EER_EPD2F_PE1_Y35NY_DPG.D - prices1$PET.RCLC1.D

crack_per_1 <- crack_bbl_1 / prices1$PET.RCLC1.D
plot(crack_bbl_1["2019/"])
plot(crack_per_1["2019/"])
library(highcharter)
library(htmlwidgets)
hc <- hchart(crack_per_1) %>% hc_add_theme(hc_theme_economist()) %>% hc_title(text = "Percent Refining Margin (% Crack Spread) Over Time", margin = 20, align = "left")
saveWidget(hc, "crack_per_1_widget.html")

3. Crush Spread

The Crush Spread is the refining margin on Soybeans.

The CME has a great reference guide.

4. Calculating the Crush Spread

Calculation from here: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=987507&download=yes

Crush Spread = (Soybean Meal in $ per ton x 100) + (Soybean Oil in $ per 100 lbs. x 600) – (Soybeans in cents per bu. x 50)

5. Crush Spread Calculator

6. Calendar Spreads

  • Calendar spreads can hedge storage costs.

7. Locational Spreads

  • Locational spreads hedge the cost of transportation from one point to another.

Author: Matt Brigida, Ph.D.

Created: 2023-11-28 Tue 10:24

Validate