17
ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Embed Size (px)

Citation preview

Page 1: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

ERCOT Credit Loss ModelMark Ruane Credit Work Group / Market Credit Work GroupERCOT PublicApril 22, 2015

Page 2: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Former ERCOT Credit Loss Model

ERCOT Public

ERCOT received Potential Future Exposure (PFE) estimates from Oliver Wyman in February 2008. In 2009, subsequent to the adoption of the Market Credit Risk Standard, PFEs were re-estimated quarterly using the Wyman model.

Estimates were derived from two models:– Credit scoring model

• Uses Counter-Party financial data to generate synthetic Counter-Party credit ratings and probabilities of default, which was an input to:

– Credit loss model• Generates probability distribution of credit losses• Excel front end with VB code• Versions for zonal and nodal markets

Page 3: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Scoring Model

ERCOT Public

The credit scoring model estimated proxy ratings based on Counter-Party financial ratios and qualitative assessment.

Quantitative Inputs• Working Capital / Sales• Cash / Assets• Current Ratio• EBITDA / Interest Expense• FCF / Debt• Total Debt / Total Capital• Equity / Assets• EBITDA / Sales• Net Income / Assets• Total Assets• Sales / Assets

Qualitative Inputs• Policies• Management Quality• ERCOT Relationship• Performance / Strategy• Industry Characteristics

Page 4: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Scoring Model

ERCOT Public

– Allowance for warning signal adjustments– Ratings of subsidiaries tied to parents with “group logic” scoring

– Default probabilities for ratings calibrated based on ERCOT historical average loss rate and assumed worst case default probability.

Group Logic Determinants• QSE and parent have same primary line of business• QSE covers a key geographical area for the parent• QSE covers a key customer segment for the parent• QSE fulfills an essential activity for the parent within a service

line• QSE is clearly controlled by the parent through influence on

management• QSE and parent share the same name• The parent has a minimum 45% ownership in the subsidiary

Page 5: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

High-level model schematic

Simulated prices per dayper hub1

Price module

Simulates daily prices per hub over the specified time horizon

List of defaulted QSEs by scenario

Generates correlated default scenarios over the specified time horizon

ExposurebyQSE

Volumetric exposure module

Calculates exposure for defaulted QSEs using simulated prices and volumes

Collateral module

CollateralbyQSE

Calculates collateral for each of thedefaulting QSEs

Aggregate losses across all QSEs

Loss calculation

Based on exposure and collateral of defaulting QSEs, calculates loss (if any) for each simulation and summarizes results across all simulations

Default module

1. Hub refers to a zone, settlement point, location or market

NYC-ECO00111-007

Page 6: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

Price module schematic

Historical ERCOT

price parameters

Monthly natural gas

futures price

Convert natural gas monthly time

series to daily time series

Store daily heat rate by hub

Calculate implied ERCOT

forward prices by hub

ERCOT log forward prices by hub

Generate normal randoms and correlate them using Cholesky

Generate daily log price series and convert to

$/MWh

Base forward price simulations

Hub correlations

Mean reversion parameters

Jump parameters

Heat rate: (Ppower/Pnatgas)

Dependent on time horizon

Based on monthly avg. heat rate/hub and starting month

Nat gas price * heat rate

Convert to log price

Based on hub correlations for non-jump time series

Use mean reversion parameters, historical spot volatilities

Po = implied forward price for first forward month

No jumps included

Jump event parameters

Time horizon

To cover the default horizon

Frequency of multiple day events

Max and mean jump size

Generate uncorrelated uniform and

normal random numbers

Determine jump event probability based on historic jump parameters

Probable number of jumps

Simulate jump events (start day, number of days,

and jump amount)

Uniform randoms determine numbers of common and unique jumps and their timing

Jump size is lognormal, based on price cap and historical norms

Jump simulations

Combine base price and jump

simulations

Simulated prices per day per hub

Uncorrelated uniform and normals

Uniforms for jump placement

Normals for jump size

Correlated random normals

Forward ERCOT

price inputs

Alternatively, these can be used directly once available

OutputCalculationProcessInputUser input

NYC-ECO00111-007

Historical ERCOT

price parameters

Monthly natural gas

futures price

Convert natural gas monthly time

series to daily time series

Store daily heat rate by hub

Calculate implied ERCOT

forward prices by hub

ERCOT log forward prices by hub

Generate normal randoms and correlate them using Cholesky

Generate daily log price series and convert to

$/MWh

Base forward price simulations

Hub correlations

Mean reversion parameters

Jump parameters

Heat rate: (Ppower/Pnatgas)

Dependent on time horizon

Based on monthly avg. heat rate/hub and starting month

Nat gas price * heat rate

Convert to log price

Based on hub correlations for non-jump time series

Use mean reversion parameters, historical spot volatilities

Po = implied forward price for first forward month

No jumps included

Jump event parameters

Time horizon

To cover the default horizon

Frequency of multiple day events

Max and mean jump size

Generate uncorrelated uniform and

normal random numbers

Determine jump event probability based on historic jump parameters

Probable number of jumps

Simulate jump events (start day, number of days,

and jump amount)

Uniform randoms determine numbers of common and unique jumps and their timing

Jump size is lognormal, based on price cap and historical norms

Jump simulations

Combine base price and jump

simulations

Simulated prices per day per hub

Uncorrelated uniform and normals

Uniforms for jump placement

Normals for jump size

Correlated random normals

Forward ERCOT

price inputs

Alternatively, these can be used directly once available

Historical ERCOT

price parameters

Monthly natural gas

futures price

Convert natural gas monthly time

series to daily time series

Store daily heat rate by hub

Calculate implied ERCOT

forward prices by hub

ERCOT log forward prices by hub

Generate normal randoms and correlate them using Cholesky

Generate daily log price series and convert to

$/MWh

Base forward price simulations

Hub correlations

Mean reversion parameters

Jump parameters

Heat rate: (Ppower/Pnatgas)

Dependent on time horizon

Based on monthly avg. heat rate/hub and starting month

Nat gas price * heat rate

Convert to log price

Based on hub correlations for non-jump time series

Use mean reversion parameters, historical spot volatilities

Po = implied forward price for first forward month

No jumps included

Jump event parameters

Time horizon

To cover the default horizon

Frequency of multiple day events

Max and mean jump size

Generate uncorrelated uniform and

normal random numbers

Determine jump event probability based on historic jump parameters

Probable number of jumps

Simulate jump events (start day, number of days,

and jump amount)

Uniform randoms determine numbers of common and unique jumps and their timing

Jump size is lognormal, based on price cap and historical norms

Jump simulations

Combine base price and jump

simulations

Simulated prices per day per hub

Uncorrelated uniform and normals

Uniforms for jump placement

Normals for jump size

Correlated random normals

Forward ERCOT

price inputs

Alternatively, these can be used directly once available

OutputCalculationProcessInputUser input

NYC-ECO00111-007

Page 7: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

Default module schematic

Produced by Credit Scoring Model

For each QSE determine if

default occurred

Correlate random numbers

using Cholesky

matrix

Generate and normalize a set

of random numbers

1-yr PDs for each

QSE

Calculation of time adjusted

PDs

Time horizon of

the simulation

Normalization of time

adjusted PDs

List of QSE type for each

QSE

Default correlation between

QSE types

Creation of default

correlation matrix and

decomposition

Time adjusted PDsfor eachQSE

Critical values

List of defaulted QSEs by simulation

Correlated random numbers

Cholesky matrix

Normalizedrandom numbers

Set by user (in days)

PDs are scaled exponentially (based on Poisson default arrival rate)

PDs for each QSE scaled to length of simulation

Time adjusted PDs are transformed to critical values using Inverse Normal CDF

Critical values represent the number of standard deviations from the mean that correspond (in likelihood) to the PD of each QSE

Each QSE is segmented by type

Correlation matrix for each QSE is produced based on QSE type and decomposed using a Cholesky decomposition

Random numbers are generated (same # as # of QSEs) and normalized using Inverse Normal CDF

Correlation matrix after decomposition

Matrix multiplication using set of random normals and the Cholesky matrix

The set of random normals are now correlated based on the correlations between the QSE types

For each QSE compare critical value to its corresponding correlated random; if critical value is less than correlated random default has occurred

For each simulation record which QSEs default (if any)

OutputCalculationProcessInputUser input

NYC-ECO00111-007

Produced by Credit Scoring Model

For each QSE determine if

default occurred

Correlate random numbers

using Cholesky

matrix

Generate and normalize a set

of random numbers

1-yr PDs for each

QSE

Calculation of time adjusted

PDs

Time horizon of

the simulation

Normalization of time

adjusted PDs

List of QSE type for each

QSE

Default correlation between

QSE types

Creation of default

correlation matrix and

decomposition

Time adjusted PDsfor eachQSE

Critical values

List of defaulted QSEs by simulation

Correlated random numbers

Cholesky matrix

Normalizedrandom numbers

Set by user (in days)

PDs are scaled exponentially (based on Poisson default arrival rate)

PDs for each QSE scaled to length of simulation

Time adjusted PDs are transformed to critical values using Inverse Normal CDF

Critical values represent the number of standard deviations from the mean that correspond (in likelihood) to the PD of each QSE

Each QSE is segmented by type

Correlation matrix for each QSE is produced based on QSE type and decomposed using a Cholesky decomposition

Random numbers are generated (same # as # of QSEs) and normalized using Inverse Normal CDF

Correlation matrix after decomposition

Matrix multiplication using set of random normals and the Cholesky matrix

The set of random normals are now correlated based on the correlations between the QSE types

For each QSE compare critical value to its corresponding correlated random; if critical value is less than correlated random default has occurred

For each simulation record which QSEs default (if any)

Produced by Credit Scoring Model

For each QSE determine if

default occurred

Correlate random numbers

using Cholesky

matrix

Generate and normalize a set

of random numbers

1-yr PDs for each

QSE

Calculation of time adjusted

PDs

Time horizon of

the simulation

Normalization of time

adjusted PDs

List of QSE type for each

QSE

Default correlation between

QSE types

Creation of default

correlation matrix and

decomposition

Time adjusted PDsfor eachQSE

Critical values

List of defaulted QSEs by simulation

Correlated random numbers

Cholesky matrix

Normalizedrandom numbers

Set by user (in days)

PDs are scaled exponentially (based on Poisson default arrival rate)

PDs for each QSE scaled to length of simulation

Time adjusted PDs are transformed to critical values using Inverse Normal CDF

Critical values represent the number of standard deviations from the mean that correspond (in likelihood) to the PD of each QSE

Each QSE is segmented by type

Correlation matrix for each QSE is produced based on QSE type and decomposed using a Cholesky decomposition

Random numbers are generated (same # as # of QSEs) and normalized using Inverse Normal CDF

Correlation matrix after decomposition

Matrix multiplication using set of random normals and the Cholesky matrix

The set of random normals are now correlated based on the correlations between the QSE types

For each QSE compare critical value to its corresponding correlated random; if critical value is less than correlated random default has occurred

For each simulation record which QSEs default (if any)

OutputCalculationProcessInputUser input

NYC-ECO00111-007

Page 8: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

Price module schematic

Historical ERCOT

price parameters

Monthly natural gas

futures price

Convert natural gas monthly time

series to daily time series

Store daily heat rate by hub

Calculate implied ERCOT

forward prices by hub

ERCOT log forward prices by hub

Generate normal randoms and correlate them using Cholesky

Generate daily log price series and convert to

$/MWh

Base forward price simulations

Hub correlations

Mean reversion parameters

Jump parameters

Heat rate: (Ppower/Pnatgas)

Dependent on time horizon

Based on monthly avg. heat rate/hub and starting month

Nat gas price * heat rate

Convert to log price

Based on hub correlations for non-jump time series

Use mean reversion parameters, historical spot volatilities

Po = implied forward price for first forward month

No jumps included

Jump event parameters

Time horizon

To cover the default horizon

Frequency of multiple day events

Max and mean jump size

Generate uncorrelated uniform and

normal random numbers

Determine jump event probability based on historic jump parameters

Probable number of jumps

Simulate jump events (start day, number of days,

and jump amount)

Uniform randoms determine numbers of common and unique jumps and their timing

Jump size is lognormal, based on price cap and historical norms

Jump simulations

Combine base price and jump

simulations

Simulated prices per day per hub

Uncorrelated uniform and normals

Uniforms for jump placement

Normals for jump size

Correlated random normals

Forward ERCOT

price inputs

Alternatively, these can be used directly once available

OutputCalculationProcessInputUser input

NYC-ECO00111-007

Historical ERCOT

price parameters

Monthly natural gas

futures price

Convert natural gas monthly time

series to daily time series

Store daily heat rate by hub

Calculate implied ERCOT

forward prices by hub

ERCOT log forward prices by hub

Generate normal randoms and correlate them using Cholesky

Generate daily log price series and convert to

$/MWh

Base forward price simulations

Hub correlations

Mean reversion parameters

Jump parameters

Heat rate: (Ppower/Pnatgas)

Dependent on time horizon

Based on monthly avg. heat rate/hub and starting month

Nat gas price * heat rate

Convert to log price

Based on hub correlations for non-jump time series

Use mean reversion parameters, historical spot volatilities

Po = implied forward price for first forward month

No jumps included

Jump event parameters

Time horizon

To cover the default horizon

Frequency of multiple day events

Max and mean jump size

Generate uncorrelated uniform and

normal random numbers

Determine jump event probability based on historic jump parameters

Probable number of jumps

Simulate jump events (start day, number of days,

and jump amount)

Uniform randoms determine numbers of common and unique jumps and their timing

Jump size is lognormal, based on price cap and historical norms

Jump simulations

Combine base price and jump

simulations

Simulated prices per day per hub

Uncorrelated uniform and normals

Uniforms for jump placement

Normals for jump size

Correlated random normals

Forward ERCOT

price inputs

Alternatively, these can be used directly once available

Historical ERCOT

price parameters

Monthly natural gas

futures price

Convert natural gas monthly time

series to daily time series

Store daily heat rate by hub

Calculate implied ERCOT

forward prices by hub

ERCOT log forward prices by hub

Generate normal randoms and correlate them using Cholesky

Generate daily log price series and convert to

$/MWh

Base forward price simulations

Hub correlations

Mean reversion parameters

Jump parameters

Heat rate: (Ppower/Pnatgas)

Dependent on time horizon

Based on monthly avg. heat rate/hub and starting month

Nat gas price * heat rate

Convert to log price

Based on hub correlations for non-jump time series

Use mean reversion parameters, historical spot volatilities

Po = implied forward price for first forward month

No jumps included

Jump event parameters

Time horizon

To cover the default horizon

Frequency of multiple day events

Max and mean jump size

Generate uncorrelated uniform and

normal random numbers

Determine jump event probability based on historic jump parameters

Probable number of jumps

Simulate jump events (start day, number of days,

and jump amount)

Uniform randoms determine numbers of common and unique jumps and their timing

Jump size is lognormal, based on price cap and historical norms

Jump simulations

Combine base price and jump

simulations

Simulated prices per day per hub

Uncorrelated uniform and normals

Uniforms for jump placement

Normals for jump size

Correlated random normals

Forward ERCOT

price inputs

Alternatively, these can be used directly once available

OutputCalculationProcessInputUser input

NYC-ECO00111-007

Page 9: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

Exposure module schematic

List of defaulted QSEs by simulation

Default types and

dimensions

Day of default and associated prices

Exposure for each defaulting QSE

Historic BES exposure

and BES and total vol. by QSE by hub

Place defaults in the simulation

time horizon and determine default

scenario

Exposure calculation

Correlation of default and price by QSE

type

Simulated prices per day per

hub

BES “escalation”

type by QSE type

Defaulted QSEs output from Default Module

Prices per day per hub over the specified time horizon from Price Module

Identifies QSE types whose defaults are likely to be correlated with price

For QSE types whose defaults have low market event sensitivity, the day of default is picked at random over the time horizon

For QSEs types whose defaults have high market event sensitivity, a high price day (based on a four day rolling, weighted average of prices in hubs where the QSE has exposure) is randomly picked according to user defined parameters

Day of default and price as well as prices for days before and after

Amount BES exposure may increase in a default

Identifies the types of default and the associated number of days of exposure

Based on the number of days of exposure (from the default type) and the prices on those days, as well as accounting for any BES escalation, the exposure is calculated as price times volume over each day and the total exposure is the sum of the daily exposures

OutputCalculationProcessInputUser input

NYC-ECO00111-007

List of defaulted QSEs by simulation

Default types and

dimensions

Day of default and associated prices

Exposure for each defaulting QSE

Historic BES exposure

and BES and total vol. by QSE by hub

Place defaults in the simulation

time horizon and determine default

scenario

Exposure calculation

Correlation of default and price by QSE

type

Simulated prices per day per

hub

BES “escalation”

type by QSE type

Defaulted QSEs output from Default Module

Prices per day per hub over the specified time horizon from Price Module

Identifies QSE types whose defaults are likely to be correlated with price

For QSE types whose defaults have low market event sensitivity, the day of default is picked at random over the time horizon

For QSEs types whose defaults have high market event sensitivity, a high price day (based on a four day rolling, weighted average of prices in hubs where the QSE has exposure) is randomly picked according to user defined parameters

Day of default and price as well as prices for days before and after

Amount BES exposure may increase in a default

Identifies the types of default and the associated number of days of exposure

Based on the number of days of exposure (from the default type) and the prices on those days, as well as accounting for any BES escalation, the exposure is calculated as price times volume over each day and the total exposure is the sum of the daily exposures

OutputCalculationProcessInputUser input

NYC-ECO00111-007

Page 10: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

Key Assumptions – Default Module• Default probabilities from credit scoring model• Default correlations among market segments• QSE default sensitivity to market events• Default occurrence is a stochastic variable

Key Assumptions – Price Module• Mean reversion and jump parameters• Implied ERCOT market forward prices (based on NG forwards)• Shape factors reflecting differences between simple average and

load-weighted prices

Page 11: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

Key Assumptions – Exposure Module• Distinguishes between market price events and non-market

(random) shocks• Volume escalation, depending on nature of Counter-Party• Volume escalation and likelihood of default near a high-priced

day are stochastic variables• Mass transition days

Key Assumptions – Collateral Module• No excess cash collateral in base case• Illiquid collateral, eg guarantees, can be haircut• Collateral recomputed based on simplified EAL

Page 12: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

Model Base Case– Did not include current (excess) collateral held by ERCOT– Represented what was enforceable by ERCOT under Protocols

Model “Current Case”– Used actual levels and types of collateral– Assumed some degree of excess collateral would be maintained

until a default event

Page 13: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

ERCOT Public

Historic outcomes – Base Case

Credit Loss Model

Note 1-year mean and median losses are higher than actual experience to date in nodal market.

Simulations using FYE-2009 and Q3-2009 Financials

FYE-2009

Q3-2009

$0

$20

$40

$60

$80

$100

$120

$140

$160

$180

90% (1:10) 95% (1:20) 99% (1:100) 99.9% (1:1,000)

Potential Credit Loss - Base Case($Millions) Horizon (in days)

Simulations

Total defaultsSimulations with defaultsSimulations without defaultsDefault simulations with zero lossTotal simulations with zero loss

($Millions)Expected LossMedian (1:2)

90% (1:10)95% (1:20)99% (1:100)99.9% (1:1,000)Max (1:10,000)

$6.8$11.7$34.3$86.5

$180.9

2592,2182,477

$2.6$0.2

FYE-2009Base Case

21410,000

58,8499,741

FYE-2009 Q3-2009Base Case Base Case

365 36510,000 10,000

59,362 44,7829,775 9,546225 454

2,087 3,6702,312 4,124

$3.2 $2.8$0.3 $0.0

$92.2 $152.8$153.3 $304.0

$8.4 $6.5$15.4 $12.9$43.6 $40.8

Page 14: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

FYE-2009

Q3-2009

Simulations using FYE-2009 and Q3-2009 Financials

ERCOT Public

$0

$20

$40

$60

$80

$100

90% (1:10) 95% (1:20) 99% (1:100) 99.9% (1:1,000)

Potential Credit Loss - Current Case($Millions)

Horizon (in days)Simulations

Total defaultsSimulations with defaultsSimulations without defaultsDefault simulations with zero lossTotal simulations with zero loss

($Millions)Expected LossMedian (1:2)

90% (1:10)95% (1:20)99% (1:100)99.9% (1:1,000)Max (1:10,000)

$16.2$20.0$30.7$79.1

$212.2

2682,0822,350

$4.8$0.3

FYE-2009Current Case

21410,000

58,9799,732

$35.6$92.6

$204.4

3,656

$5.1$0.2

$17.3$21.3

$36.3$78.1

$133.0

Current Case365

10,000

44,0149,539461

3,195

$22.6

9,721279

1,9382,217

$5.4$0.4

$17.7

58,845

FYE-2009 Q3-2009Current Case

36510,000

Former ERCOT Potential Future Exposure Model

Historic outcomes – Current Case

ERCOT Public

Page 15: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Credit Loss Model

ERCOT Public

Key Assumptions – Nodal Model• Price simulation in key locations only• DAM price locations considered as additional hubs with different

parameters• Forward values for CRRs based upon implied ERCOT market

forward prices• CRRs envisioned as one-month obligations only, settling in DAM• Exposure calculation similar to zonal, with additions of DALE,

DAM invoices and Average Invoice Liability (AIL)

A model for the nodal market was prototyped but apparently never validated or run.

Page 16: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Former ERCOT Potential Future Exposure Model

ERCOT Public

In 2011 ERCOT solicited bids to update the credit loss model for the nodal market.

With a cost estimated at $400k - $800k, F&A elected to not update the model.

The credit scoring model could be updated internally with Market input.

Page 17: ERCOT Credit Loss Model Mark Ruane Credit Work Group / Market Credit Work Group ERCOT Public April 22, 2015

Questions

ERCOT Public

Credit Updates