August 25, 2021

Physical Transmission Rights

A physical transmission right (PTR) gives the holder the exclusive right to use a particular interconnection in one direction to transfer a predefined quantity of energy from one market hub to the other.

  • Market Hubs: Mid-Columbia (MIDC) and North of Path 15 (NP15)
  • Direction: North to South
  • Quantity: 1 MW (can be resealed for a different transmission capacity)

Who needs to understand the value of PTR:

  • Utilities in the PNW or generation owners that use the PNW-California path
  • Owners of PTRs (e.g. BPA) that need to price PTR contracts
  • Regulators considering building new transmission

Value from Owning Transmission

Opportunity for arbitrage between the market hubs.

Arbitrage can occur in different markets:

  • Long-term forward market (typically peak and off-peak prices)

  • Day-ahead market (hourly prices)

  • Real time market

    • 15-minute market
    • 5-minute market

Data:

  • Source: CAISO OASIS day ahead and 15-min market prices at MIDC (PGE share) and NP15
  • Period: August 1 2019 midnight - July 31 2021 11am.
  • Frequency: hourly for day ahead data, by 15 minutes for 15-min market data

Day-Ahead Prices at MIDC and NP15

View Prices and Spreads for 2019 - 2021
Source: CAISO OASIS

Day Ahead Market Price Spread: Price at NP15 - Price at MIDC

View Prices and Spreads for 2019 - 2021
Source: CAISO OASIS

15-Min Market Pices at MIDC and NP15

View Prices and Spreads for 2019 - 2021
Source: CAISO OASIS

15-Min Market Price Spread: Price at NP15 - Price at MIDC

Source: CAISO OASIS, 08/2019

DAM and FMM Prices and Spreads Between NP15 and MIDC, 2019 - 2021

Source: CAISO OASIS, 08/2019 - 07/2021

The Series of Interest: Nonnegative DAM and FMM Price Spreads

Nonnegative price spreads between NP15 and MIDC represent the value of the option to transmit energy south between these hubs.

The value of 1 MW of PTR from MIDC to NP15 in a given hour = (nonnegative price spread per hour in $/MWh)*1 MW, adjusted for transmission losses.

I average 15-minute nonnegative spreads by hour to obtain hourly nonnegative price spreads in the FMM.

Source: CAISO OASIS, 08/2019 - 07/2021

Nonnegative Hourly Price Spreads in DAM and FMM in August 2019

View Prices and Spreads for 2019 - 2021
Source: CAISO OASIS

Seasonality of Nonnegative Spreads in the DAM and FMM

  • High hourly Seasonality in the DAM and FMM
    • Morning and evening peaks are sharper in California than in the Pacific Northwest.
  • No weekly seasonality
    • The day of the week does not appear to affect price spreads
  • Possible monthly seasonality
    • 15-min market spreads were highest in July

Nonnegative Price Spreads by Hour of the Day

Source: CAISO OASIS, 08/2019 - 07/2021

Nonnegative Price Spreads by Day of the Week

Source: CAISO OASIS, 08/2019 - 07/2021

Nonnegative Price Spreads by Month of the Year

Source: CAISO OASIS, 08/2019 - 07/2021

Valuation Based on the NPV of Payoffs

Model assumptions and inputs:

  • Transmission can always be utilized at full capacity
  • Transmission losses = 5% (eia.gov)
  • Yearly discount rate = 10% (based on the company’s cost of capital)

\(NPV= \sum_{t=0}^{n}\frac{R_t}{(1+i)^t}\)

\(t\): hours

hourly payoffs: \(R_t =\) nonnegative hourly price spread * \(0.95\)

monthly discounting: \(i=10\%/12\)

The NPV (as of August 1 2019) of utilizing 1 MW of transmission from PNW to CA for 2 years in the DAM is $23,000.

The NPV of utilizing 1 MW of transmission for 2 years in the FMM is $177,000.

10 Year Valuation

PTR contracts may be long-term.

I create a “naive” forecast of nonnegative price spreads in the day ahead and real time markets for 2021 - 2029: price spreads for every 2 year forecast period until July 2029 = price spreads in 2019 - 2021.

naive_forecast_until_aug1_2029 <-rep(fmmhourly$nonnegative_spread, times = 5)

The NPV (as of August 1 2019) of utilizing 1 MW of transmission from PNW to CA for 10 years in the DAM is $80,000.

The NPV of utilizing 1 MW of transmission for 10 years in the FMM is $609,000.

The 15-min market brings 7.6 times more arbitrage value from the difference in MIDC and Northern CA prices.

Quantifying Uncertainty

Can model 2 price series separately or model the spread directly.

  • If modeling 2 price series, need to preserve the correlation between the two price points

Price spreads exhibit characteristics similar to other energy price series:

  • Mean reverting (models like exponential smoothing)
  • Frequent spikes or jumps
  • High volatility, or fat tails

To quantify uncertainty

  • use the model to generate N (e.g. 1000) simulations of the series for the valuation period
  • calculate N NPVs
  • Obtain summary statistics from the distribution of NPVs: mean, standard errors, and percentiles.

Quantifying Uncertainty. A Bootstrap Approach.

Simulate nonnegative price spreads in a given hour of the day by sampling from historical data for this hour.

If N is the number of simulations needed, Y is the number of years of data to be simulated:

  • Generate a sample of hour 0 data:
    • Take a sample with replacement of size \(N*Y*\)(number of hours in a year) from hour 0 historical data.
sample(hour0, size = N*Y*8765, replace = TRUE)
  • Samples of hour 1 to hour 23 data are generated in the same way.
  • Transform the samples into N simulations of hourly data for Y years.
  • For each simulation, calculate the NPV.
  • Obtain summary statistics from the distribution of NPVs.

Discussion

Other Sources of Value from PTRs:

  • Sale of Renewable Energy Credits
  • Reduction of curtailment of wind and solar energy.
    • Increase the value of renewable energy projects and promote their development

Considerations:

  • Can the utilities always take full advantage of price spreads in the 15-minute market?
  • How does the participation in the 5-minute market affect the value of transmission?
    • I expect greater option value, but lower market volume and greater volatility.

Questions?

Extra Slide: Loading the CAISO OASIS Data

CAISO OASIS website allows to download at most 1 month of price data. I use the following code to read in all monthly files and concatenate them into a single file.

file_list <- paste(path, list.files(path), sep = "") 
#list of files with monthly prices

fmm <- data.frame()
for (i in 1:length(file_list)) {
  temp <-
    fread(file_list[i]) #read in files
  fmm <-
    rbindlist(list(fmm, temp), use.names = T) #for each iteration, 
  #bind the new data to the building dataset
}

–>