An Introduction to Futures Spreads

Table of Contents

1 Refining

2 Crack Spread Calculator

3 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")

4 Crush Spread

The Crush Spread is the refining margin on Soybeans.

The CME has a great reference guide.

5 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)\]

6 Crush Spread Calculator

7 Calendar Spreads

  • Calendar spreads can hedge storage costs.

8 Locational Spreads

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

Author: Matt Brigida, Ph.D.

Created: 2021-04-26 Mon 12:13