Pricing Natural Gas Storage Using Dynamic Programming Sergey Kolos 1 1 The presentation is by Markets Quantitative Analysis, part of Citigroup Global Markets' sales and trading operations. 10/21/2011 Sergey Kolos Storage by DP
Outline 1 2 Finding Markovian Approximate Dynamic
Outline 1 2 Finding Markovian Approximate Dynamic
Why Storage Is Valuable Characteristics: volume and rates of injection/withdrawal Storage value: ability to buy/sell gas in dierent times NG prices are seasonal, which makes NG storage particularly valuable (signicant intrinsic value): Extrinsic value: no commitment at t 0 to inj/withdrawal schedule - optionality
Why Storage Is Valuable Characteristics: volume and rates of injection/withdrawal Storage value: ability to buy/sell gas in dierent times NG prices are seasonal, which makes NG storage particularly valuable (signicant intrinsic value): Extrinsic value: no commitment at t 0 to inj/withdrawal schedule - optionality
Why Storage Is Valuable Characteristics: volume and rates of injection/withdrawal Storage value: ability to buy/sell gas in dierent times NG prices are seasonal, which makes NG storage particularly valuable (signicant intrinsic value): Extrinsic value: no commitment at t 0 to inj/withdrawal schedule - optionality
Why Storage Is Valuable Characteristics: volume and rates of injection/withdrawal Storage value: ability to buy/sell gas in dierent times NG prices are seasonal, which makes NG storage particularly valuable (signicant intrinsic value): Extrinsic value: no commitment at t 0 to inj/withdrawal schedule - optionality
Outline 1 2 Finding Markovian Approximate Dynamic
Optimization Problem for Pricing a Storage Contract Policy p - using all available information available at t decide how much to inject/withdraw over next time step Price vector z - all information necessary to describe future price movements (can be just a set of futures prices) State vector x - total information available at t consists of storage level and z Cashow c (t,p,x) - cashow at time t given policy value and prices (example: F t maxinj t costs t ) The goal is to nd policy function p (t,x) such that the expected value of storage is maximal: [ ] v = max p(t,x) E T t=0 df t c (t,x t,p (t,x t ))
Optimization Problem for Pricing a Storage Contract Policy p - using all available information available at t decide how much to inject/withdraw over next time step Price vector z - all information necessary to describe future price movements (can be just a set of futures prices) State vector x - total information available at t consists of storage level and z Cashow c (t,p,x) - cashow at time t given policy value and prices (example: F t maxinj t costs t ) The goal is to nd policy function p (t,x) such that the expected value of storage is maximal: [ ] v = max p(t,x) E T t=0 df t c (t,x t,p (t,x t ))
Optimization Problem for Pricing a Storage Contract Policy p - using all available information available at t decide how much to inject/withdraw over next time step Price vector z - all information necessary to describe future price movements (can be just a set of futures prices) State vector x - total information available at t consists of storage level and z Cashow c (t,p,x) - cashow at time t given policy value and prices (example: F t maxinj t costs t ) The goal is to nd policy function p (t,x) such that the expected value of storage is maximal: [ ] v = max p(t,x) E T t=0 df t c (t,x t,p (t,x t ))
Optimization Problem for Pricing a Storage Contract Policy p - using all available information available at t decide how much to inject/withdraw over next time step Price vector z - all information necessary to describe future price movements (can be just a set of futures prices) State vector x - total information available at t consists of storage level and z Cashow c (t,p,x) - cashow at time t given policy value and prices (example: F t maxinj t costs t ) The goal is to nd policy function p (t,x) such that the expected value of storage is maximal: [ ] v = max p(t,x) E T t=0 df t c (t,x t,p (t,x t ))
Optimization Problem for Pricing a Storage Contract Policy p - using all available information available at t decide how much to inject/withdraw over next time step Price vector z - all information necessary to describe future price movements (can be just a set of futures prices) State vector x - total information available at t consists of storage level and z Cashow c (t,p,x) - cashow at time t given policy value and prices (example: F t maxinj t costs t ) The goal is to nd policy function p (t,x) such that the expected value of storage is maximal: [ ] v = max p(t,x) E T t=0 df t c (t,x t,p (t,x t ))
Dynamic Programming This optimization problem is usually solved using dynamic programming: v t (x) = max{c (t,x,p) + df t E [v t+1 (χ t (x,p,ε))]} p where χ t (x,p,ε) describes how state x changes from t to t + 1, given policy p and a random shock ε
Outline 1 2 Finding Markovian Approximate Dynamic
Modelling Spot Most common approach Pro: simple direct modelling of dynamics, suitable for dynamic programming Cons: Need signicant number of parameters and factors to match observed term structures of volatility and correlation Hard to model seasonality Hard to calibrate to current market conditions (futures and volatilities cannot be matched exactly) Tricky and slow to compute sensitivities to futures prices and volatilities
Modelling Spot Most common approach Pro: simple direct modelling of dynamics, suitable for dynamic programming Cons: Need signicant number of parameters and factors to match observed term structures of volatility and correlation Hard to model seasonality Hard to calibrate to current market conditions (futures and volatilities cannot be matched exactly) Tricky and slow to compute sensitivities to futures prices and volatilities
Modelling Spot Most common approach Pro: simple direct modelling of dynamics, suitable for dynamic programming Cons: Need signicant number of parameters and factors to match observed term structures of volatility and correlation Hard to model seasonality Hard to calibrate to current market conditions (futures and volatilities cannot be matched exactly) Tricky and slow to compute sensitivities to futures prices and volatilities
Modelling Spot Most common approach Pro: simple direct modelling of dynamics, suitable for dynamic programming Cons: Need signicant number of parameters and factors to match observed term structures of volatility and correlation Hard to model seasonality Hard to calibrate to current market conditions (futures and volatilities cannot be matched exactly) Tricky and slow to compute sensitivities to futures prices and volatilities
Modelling Spot Most common approach Pro: simple direct modelling of dynamics, suitable for dynamic programming Cons: Need signicant number of parameters and factors to match observed term structures of volatility and correlation Hard to model seasonality Hard to calibrate to current market conditions (futures and volatilities cannot be matched exactly) Tricky and slow to compute sensitivities to futures prices and volatilities
Modeling Forward Curve HJM type model df t,t F t,t = σ q (t,t )dw q,t q (S t = F t,t) Pros: Direct calibration using market data (futures and volatilities are calibrated exactly) Can explain term structures of volatilities and correlations Con: Non-markovian (i.e. in general, to explain future prices of N contracts, one needs N state variables)
Modeling Forward Curve HJM type model df t,t F t,t = σ q (t,t )dw q,t q (S t = F t,t) Pros: Direct calibration using market data (futures and volatilities are calibrated exactly) Can explain term structures of volatilities and correlations Con: Non-markovian (i.e. in general, to explain future prices of N contracts, one needs N state variables)
Modeling Forward Curve HJM type model df t,t F t,t = σ q (t,t )dw q,t q (S t = F t,t) Pros: Direct calibration using market data (futures and volatilities are calibrated exactly) Can explain term structures of volatilities and correlations Con: Non-markovian (i.e. in general, to explain future prices of N contracts, one needs N state variables)
Modeling Forward Curve HJM type model df t,t F t,t = σ q (t,t )dw q,t q (S t = F t,t) Pros: Direct calibration using market data (futures and volatilities are calibrated exactly) Can explain term structures of volatilities and correlations Con: Non-markovian (i.e. in general, to explain future prices of N contracts, one needs N state variables)
Common Solution To Last Con Markovian Form of Exact Dynamics To make HJM type model Markovian can choose factors to be sum of exponentials - number of state variables (dimension of z) equals the number of dierent powers in exponents. Problems: For two factor model with all months having same exponents - dimension of z is 3 (too high) In reality exponents are slightly dierent for dierent months, so loose markovian property
Common Solution To Last Con Markovian Form of Exact Dynamics To make HJM type model Markovian can choose factors to be sum of exponentials - number of state variables (dimension of z) equals the number of dierent powers in exponents. Problems: For two factor model with all months having same exponents - dimension of z is 3 (too high) In reality exponents are slightly dierent for dierent months, so loose markovian property
Common Solution To Last Con Markovian Form of Exact Dynamics To make HJM type model Markovian can choose factors to be sum of exponentials - number of state variables (dimension of z) equals the number of dierent powers in exponents. Problems: For two factor model with all months having same exponents - dimension of z is 3 (too high) In reality exponents are slightly dierent for dierent months, so loose markovian property
My Solution Markovian Form of Approximate Dynamics Main idea: Instead of trying to get exact markovian approximation, decide on dimension of state variable, and nd markovian dynamics that is as close to exact dynamics as possible.
Finding Markovian Approximate Dynamic How to Identify a Good? Consider forward curve realized at time t that has just 2 contracts and simulate possible curves using MC Consider markovian approximation with state dimension dim (z) = 1 Markovian approximation space on a cloud of realized exact curves of MC paths: F 2 1.70 1.65 1.60 1.55 1.50 1.45 1.40-0.5 0.5 1.0 1.5 2.0 2.5 F 1
Finding Markovian Approximate Dynamic How to Identify a Good? Consider forward curve realized at time t that has just 2 contracts and simulate possible curves using MC Consider markovian approximation with state dimension dim (z) = 1 Markovian approximation space on a cloud of realized exact curves of MC paths: F 2 1.70 1.65 1.60 1.55 1.50 1.45 1.40-0.5 0.5 1.0 1.5 2.0 2.5 F 1
Finding Markovian Approximate Dynamic How to Identify a Good? Consider forward curve realized at time t that has just 2 contracts and simulate possible curves using MC Consider markovian approximation with state dimension dim (z) = 1 Markovian approximation space on a cloud of realized exact curves of MC paths: F 2 1.70 1.65 1.60 1.55 1.50 1.45 1.40-0.5 0.5 1.0 1.5 2.0 2.5 F 1
Outline Finding Markovian Approximate Dynamic 1 2 Finding Markovian Approximate Dynamic
Finding Markovian Approximate Dynamic How to Find Good? We look for makovian approximation in the following form: f t = F0 exp(g t + U t z t ) where F0- current forward prices, g t and U t are a vector and a matrix parametrizing the approximation, z t - state vector. Assuming z t is distributed close to standard normal, U t can be computed through PCA of the original covariance matrix and g t can be selected to ensure E [f T ] = F 0,T Markovian approximation of a curve F t is computed using a projection (derived through log-least-squares): ( ) ( ) 1 z t = U T U t t U T t ln F t g t F0
Finding Markovian Approximate Dynamic How to Find Good? We look for makovian approximation in the following form: f t = F0 exp(g t + U t z t ) where F0- current forward prices, g t and U t are a vector and a matrix parametrizing the approximation, z t - state vector. Assuming z t is distributed close to standard normal, U t can be computed through PCA of the original covariance matrix and g t can be selected to ensure E [f T ] = F 0,T Markovian approximation of a curve F t is computed using a projection (derived through log-least-squares): ( ) ( ) 1 z t = U T U t t U T t ln F t g t F0
Finding Markovian Approximate Dynamic How to Find Good? We look for makovian approximation in the following form: f t = F0 exp(g t + U t z t ) where F0- current forward prices, g t and U t are a vector and a matrix parametrizing the approximation, z t - state vector. Assuming z t is distributed close to standard normal, U t can be computed through PCA of the original covariance matrix and g t can be selected to ensure E [f T ] = F 0,T Markovian approximation of a curve F t is computed using a projection (derived through log-least-squares): ( ) ( ) 1 z t = U T U t t U T t ln F t g t F0
Outline Finding Markovian Approximate Dynamic 1 2 Finding Markovian Approximate Dynamic
Finding Markovian Approximate Dynamic What is a Dynamics of Markovian Variables? and what is its connection to exact dynamics Suppose at time t 1 the state of the world is described by vector z t 1. This vector can be used to produce approximate forward curve f t 1. Use exact dynamics to produce forward curve F t. Project this curve to markov approximation to obtain z t. The resulting dynamics has the following simple linear form: z t = b t + A t ε + B t z t 1
Finding Markovian Approximate Dynamic What is a Dynamics of Markovian Variables? and what is its connection to exact dynamics Suppose at time t 1 the state of the world is described by vector z t 1. This vector can be used to produce approximate forward curve f t 1. Use exact dynamics to produce forward curve F t. Project this curve to markov approximation to obtain z t. The resulting dynamics has the following simple linear form: z t = b t + A t ε + B t z t 1
Finding Markovian Approximate Dynamic What is a Dynamics of Markovian Variables? and what is its connection to exact dynamics Suppose at time t 1 the state of the world is described by vector z t 1. This vector can be used to produce approximate forward curve f t 1. Use exact dynamics to produce forward curve F t. Project this curve to markov approximation to obtain z t. The resulting dynamics has the following simple linear form: z t = b t + A t ε + B t z t 1
Finding Markovian Approximate Dynamic What is a Dynamics of Markovian Variables? and what is its connection to exact dynamics Suppose at time t 1 the state of the world is described by vector z t 1. This vector can be used to produce approximate forward curve f t 1. Use exact dynamics to produce forward curve F t. Project this curve to markov approximation to obtain z t. The resulting dynamics has the following simple linear form: z t = b t + A t ε + B t z t 1
The approach is very good at capturing extrinsic value (close or exedes rolling intrinsic) It is very fast (fraction of a second for 5 year deal) Greeks are very stable Posibility to extend to more complex deal types
The approach is very good at capturing extrinsic value (close or exedes rolling intrinsic) It is very fast (fraction of a second for 5 year deal) Greeks are very stable Posibility to extend to more complex deal types
The approach is very good at capturing extrinsic value (close or exedes rolling intrinsic) It is very fast (fraction of a second for 5 year deal) Greeks are very stable Posibility to extend to more complex deal types
The approach is very good at capturing extrinsic value (close or exedes rolling intrinsic) It is very fast (fraction of a second for 5 year deal) Greeks are very stable Posibility to extend to more complex deal types
Disclaimer This communication is issued by a member of the sales and trading department of Citigroup Global Markets Inc. or one of its aliates (collectively, Citi). Sales and trading department personnel are not research analysts, and the information in this communication (Communication) is not intended to constitute research as that term is dened by applicable regulations. Unless otherwise indicated, any reference to a research report or research recommendation is not intended to represent the whole report and is not in itself considered a recommendation or research report. All views, opinions and estimates expressed in this Communication (i) may change without notice and (ii) may dier from those views, opinions and estimates held or expressed by Citi or other Citi personnel. This Communication is provided for information and discussion purposes only. Unless otherwise indicated, it does not constitute an oer or solicitation to purchase or sell any nancial instruments or other products and is not intended as an ocial conrmation of any transaction. Unless otherwise expressly indicated, this Communication does not take into account the investment objectives or nancial situation of any particular person. Recipients of this Communication should obtain advice based on their own individual circumstances from their own tax, nancial, legal and other advisors before making an investment decision, and only make such decisions on the basis of the investor's own objectives, experience and resources. The information contained in this Communication is based on generally available information and, although obtained from sources believed by Citi to be reliable, its accuracy and completeness cannot be assured, and such information may be incomplete or condensed. Citi often acts as an issuer of nancial instruments and other products, acts as a market maker and trades as principal in many dierent nancial instruments and other products, and can be expected to perform or seek to perform investment banking and other services for the issuer of such nancial instruments or other products. The author of this Communication may have discussed the information contained therein with others within or outside Citi and the author and/or such other Citi personnel may have already acted on the basis of this information (including by trading for Citi's proprietary accounts or communicating the information contained herein to other customers of Citi). Citi, Citi's personnel (including those with whom the author may have consulted in the preparation of this communication), and other customers of Citi may be long or short the nancial instruments or other products referred to in this Communication, may have acquired such positions at prices and market conditions that are no longer available, and may have interests dierent from or adverse to your interests. Investments in nancial instruments or other products carry signicant risk, including the possible loss of the principal amount invested. Financial instruments or other products denominated in a foreign currency are subject to exchange rate uctuations, which may have an adverse eect on the price or
Disclaimer value of an investment in such products. No liability is accepted by Citi for any loss (whether direct, indirect or consequential) that may arise from any use of the information contained in or derived from this Communication. Past performance is not a guarantee or indication of future results. Any prices provided in this Communication (other than those that are identied as being historical) are indicative only and do not represent rm quotes as to either price or size. You should contact your local representative directly if you are interested in buying or selling any nancial instrument or other product or pursuing any trading strategy that may be mentioned in this Communication. Although Citibank, N.A. (together with its subsidiaries and branches worldwide, "Citibank") is an aliate of Citi, you should be aware that none of the nancial instruments or other products mentioned in this Communication (unless expressly stated otherwise) are (i) insured by the Federal Deposit Insurance Corporation or any other governmental authority, or (ii) deposits or other obligations of, or guaranteed by, Citibank or any other insured depository institution. IRS Circular 230 Disclosure: Citi and its employees are not in the business of providing, and do not provide, tax or legal advice to any taxpayer outside of Citi. Any statements in this Communication to tax matters were not intended or written to be used, and cannot be used or relied upon, by any taxpayer for the purpose of avoiding tax penalties. Any such taxpayer should seek advice based on the taxpayer's particular circumstances from an independent tax advisor. 2011 Citigroup Global Markets Inc. Member SIPC. All rights reserved. Citi and Citi and Arc Design are trademarks and service marks of Citigroup Inc. or its aliates and are used and registered throughout the world.