• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Modelling Electricity Prices

  • Thread starter Thread starter Dibbs
  • Start date Start date
Joined
1/16/10
Messages
170
Points
28
Hi all,

I am trying to find a way to model electricity prices and I don't really know where to start. I have some of the main characteristics of electricity :

1. Very cyclical (hourly basis, but also seasonality)
2. Very sensitive to instant supply & demand

Does anybody have experience with modelling such a commodity ? Or could point me in the right direction ?

Thank you.
 
I was told the following on an interview for commodity derivatives trading with regard to Electricity trading:
"Black-Scholes fails completely."
 
When in doubt, refer to first principles.

To understand power, you need to start with LMP, which stands for Locational Marginal Pricing. It describes how power is distributed, which can be described as sort of like the way that water finds its own level, flowing back and forth.

PJM is the Pennsylvania/Jersey/Maryland Interconnect. It coordinates the movement of wholesale electricity in all or parts of 13 states and the District of Columbia. They have extensive online course material. Check it out:

http://www.pjm.com/training/course-catalog/online-courses.aspx
 
Nice, thanks Ken. I'll look into it.

Ultimately, my goal is to value a powerplant, so on top of modelling the actual physical process I also need to model prices on a hourly basis, but also on a intra-hour basis to see if there is any optimality that can be achieved by micro-managing my plant's turbines. Pretty cool project... but requires a lot of modelling for a week's work (project due next friday).

If any others have ideas, don't be shy :)
 
Andy Nguyen : I've looked at the book earlier today, unfortunately, the powerplant i'm trying to value is uncommon. It is an hydro plant with a reservoir. It operates with two closed reservoir, one which is at sea level and the other one about 200 meters below ground. They become profitable by pumping water from the underground reservoir to the upper reservoir at night, and producing energy during the day.

This is why I want to model my own electricity model as well as the plant's inner workings.
 
I was told the following on an interview for commodity derivatives trading with regard to Electricity trading:
"Black-Scholes fails completely."

yeah! Electricity is so sensitive to instant demand/supply which makes it very very volatile. Constant vol assumption = big no no.
 
Hi Dibbs,

A suggestion is looking into using AR(p)-process (of some order p).
For continous models a suggestion is using a general Ornstein-Uhlenbeck process with a general Lévy process instead of
a common Brownian motion. For volatile timeperiods you would most likely need to use extreme value theory as well.
PM: me if you want to know more.
 
Dibbs : maybe contact a Professor who specializes in Energy? For example, I know Prof. Jim Mills at Drucker is very interested in Energy Derivatives; just a thought

james.mills@cgu.edu
 
groutgauss : Thank you! Very much appreciated. I've already contacted the operator of the powerplant i'm trying to simulate to obtain some operating details. I will surely contact this prof regarding prices modelling.

Oh, so much work to do... so little time.
 
If anybody is interested, there is a discussion between me and ecnanif that is ongoing about this.
 
If anybody is interested, there is a discussion between me and ecnanif that is ongoing about this.
I would be interested in seeing your model once it's complete actually, and take part in your conversation...where?
 
As of right now, my model is very simple but captures the essential features that I want to model. Sharing the actual model (code) will be a bit more complicated.

So following my discussion with ecnanif, and having discussed this with my instructor. I've been able to model a seasonality function which varies according on the time of the year , day, and hour. I have then fit a pareto tail distribution on my residuals to account for fat tails. I'm accounting for large price spikes but giving more tail area to the pareto distrib.

ecnanif has also suggested I look at spike clustering, which seems like a good idea. I will look at my historical data to see if I really observe this kind of behavior.
 
Attaching a picture showing how a typical cluster might look like. These are swedish electricity prices measured in SEK/MWh,
i.e. Swedish crowns per mega-watt hour. The importance of clustering is, even if you do not pay attention to clustering, you might still
be able to get the distribution functions to be very similar, i.e. a small Kolmogorov-Smirnov distance, but the simulated process
will show a totally different look than the observed data.
 

Attachments

  • cluster_1.JPG
    cluster_1.JPG
    24.6 KB · Views: 40
Attaching a picture showing how a typical cluster might look like. These are swedish electricity prices measured in SEK/MWh,
i.e. Swedish crowns per mega-watt hour. The importance of clustering is, even if you do not pay attention to clustering, you might still
be able to get the distribution functions to be very similar, i.e. a small Kolmogorov-Smirnov distance, but the simulated process
will show a totally different look than the observed data.

so would a simulated process smooth such spike clusters out? or just exclude them altogether?
 
If you model extreme spikes as independent of each other, then you will exclude the clusters.
Try choosing some threshold level u, and if the simulated process (say you´re using a AR(p)-process) exceeds this level u, generate
a random cluster length. How this cluster length should be simulated is not clear-cut. You can try by using the empirical distribution of the clusters from observed data, or simply let the cluster length be uniformly distributed on the integers (1,20), for example.
 
very interesting! seems like using empirical data to generate spikes on the random cluster sets is the best way to go - this way you can curtail the model to specific energy markets.
 
Most of the published articles in this area use Microeconomics / Game Theoretic Models. See Auction Theory (second price auctions). Similar models have been used for using pricing as a mechanism to control congestion in computer networks.
For a more practical approach, you can try to contact some of the Energy quants in Calgary or Houston.
For a more theortetical approach, there are many journal articles already published in this area. That could give you some ideas how to go about it. Even faculty in Electrical Engineering department have applied Microeconomic theories to study this issue.
 
Back
Top