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.
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.