Simulation of Alberta Pool Prices Scott MacDonald.
-
Upload
dennis-keer -
Category
Documents
-
view
221 -
download
0
Transcript of Simulation of Alberta Pool Prices Scott MacDonald.
![Page 1: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/1.jpg)
Simulation of Alberta Pool Prices
Scott MacDonald
![Page 2: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/2.jpg)
Outline
• High level observations of Alberta power market since deregulation
– Load growth, Generation, Historical pool prices
• Challenges of simulating prices– What drives price spikes?– Alberta’s merit order
• Description of model• Results
![Page 3: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/3.jpg)
Alberta Marginal Cost ($/MWh)
0
50
100
150
200
250
300
350
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
MW
$/MWh
Wind, Hydro, Biomass
Base Gas
Coal
Peaking Gas,Dispatchable Hydro
![Page 4: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/4.jpg)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec5000
5500
6000
6500
7000
7500
8000
8500
9000Peak load growth by month 2000 - 2007
Sys
tem
De
ma
nd
(M
W)
20002001200220032004200520062007
![Page 5: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/5.jpg)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec5000
5500
6000
6500
7000
7500
8000
8500
9000Off peak load growth by month 2000 - 2007
Sys
tem
De
ma
nd
(M
W)
20002001200220032004200520062007
![Page 6: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/6.jpg)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23250
300
350
400
450
500M
W
Hour Ending
SCADA Generation Data for Wind On 10/02/2007
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2350
100
150
200
250
300
350
MW
Hour Ending
SCADA Generation Data for Hydro On 10/02/2007
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 234300
4400
4500
4600
4700
4800
4900
5000
5100
5200
5300
MW
Hour Ending
SCADA Generation Data for Coal On 10/02/2007
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 231950
2000
2050
2100
2150
2200
2250
2300
2350
MW
Hour Ending
SCADA Generation Data for Gas On 10/02/2007
![Page 7: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/7.jpg)
0 1000 2000 3000 4000 5000 6000 7000 80005000
6000
7000
8000
9000
10000
Time (hours)
Sys
tem
De
ma
nd
(M
W)
Load Duration Curve for 2006
0 1000 2000 3000 4000 5000 6000 7000 80000
200
400
600
800
1000
Time (hours)
Pric
e $
/MW
h
![Page 8: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/8.jpg)
0 1000 2000 3000 4000 5000 6000 7000 80005000
6000
7000
8000
9000
10000
Time (hours)
Sys
tem
De
ma
nd
(M
W)
Load Duration Curve for 2007
0 1000 2000 3000 4000 5000 6000 7000 80000
200
400
600
800
1000
Time (hours)
Pric
e $
/MW
h
![Page 9: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/9.jpg)
Summary of Off Peak Prices2000 2001 2002 2003 2004 2005 2006 2007
Jan $33.69 $111.68 $18.32 $66.04 $42.53 $46.08 $46.08 $43.27Feb $36.20 $93.16 $14.46 $56.98 $43.99 $34.90 $38.76 $59.01Mar $37.49 $73.12 $43.40 $85.43 $34.09 $38.10 $33.74 $37.29Apr $60.11 $85.25 $27.60 $36.71 $37.90 $39.64 $26.37 $29.26May $31.05 $61.85 $21.61 $39.61 $50.64 $31.00 $27.74 $19.83Jun $50.54 $41.34 $14.52 $25.59 $48.34 $33.21 $27.92 $27.44Jul $56.24 $37.22 $14.13 $65.10 $45.66 $28.20 $76.76 $86.89Aug $69.34 $36.91 $19.22 $42.05 $33.90 $63.50 $46.65 $34.83Sep $79.99 $22.74 $27.38 $28.67 $40.10 $34.10 $43.85 $35.49Oct $140.81 $29.74 $28.16 $39.63 $44.37 $95.66 $96.59 $44.47Nov $112.12 $21.68 $43.96 $42.80 $31.33 $83.86 $58.41Dec $142.30 $23.49 $58.59 $35.08 $47.11 $53.92 $49.19
![Page 10: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/10.jpg)
Summary of On Peak Prices2000 2001 2002 2003 2004 2005 2006 2007
Jan $56.53 $145.33 $35.74 $90.97 $66.61 $53.53 $92.66 $73.36Feb $55.12 $134.44 $28.30 $99.42 $50.13 $48.49 $65.56 $84.15Mar $105.87 $114.65 $64.39 $93.24 $48.50 $49.60 $51.54 $70.72Apr $120.45 $138.40 $57.73 $62.57 $62.24 $57.68 $56.02 $69.60May $66.55 $107.47 $54.03 $68.70 $80.13 $63.49 $76.86 $68.97Jun $147.78 $79.85 $71.59 $59.57 $70.44 $71.16 $86.28 $66.25Jul $177.63 $66.29 $35.29 $104.38 $64.42 $45.28 $168.81 $210.02Aug $297.97 $63.54 $41.27 $66.34 $63.00 $106.26 $92.83 $97.29Sep $246.65 $35.69 $60.35 $54.56 $68.20 $103.68 $110.80 $60.12Oct $342.40 $54.20 $56.07 $87.62 $68.49 $142.86 $235.51 $80.54Nov $312.21 $41.80 $87.42 $60.37 $53.49 $154.71 $139.86Dec $225.67 $41.60 $80.57 $51.02 $74.26 $138.50 $87.98
![Page 11: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/11.jpg)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 310
100
200
300
400
500
600
700
800
900
1000P
rice
$/M
Wh
Time (days)
Example of a low settling month - July 2005Mean: 37.7471 Std: 35.0434
![Page 12: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/12.jpg)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 310
100
200
300
400
500
600
700
800
900
1000P
rice
$/M
Wh
Time (days)
Example of a high settling month - July 2007Mean: 155.735 Std: 259.7324
![Page 13: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/13.jpg)
1000 2000 3000 4000 5000 6000 7000 80000
100
200
300
400
500
600
700
800
900
1000
Cummulative Supply (MW)
Pric
e $
/MW
h
Merit order for July 12, 2005
Hour Ending 4Hour Ending 8Hour Ending 15Hour Ending 21
![Page 14: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/14.jpg)
7900 7950 8000 8050 8100 8150 8200 8250 8300 8350 84000
20
40
60
80
100
120
Cummulative Supply (MW)
Pric
e $
/MW
h
Merit order for July 12, 2005 (close up)
Hour Ending 15
![Page 15: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/15.jpg)
System Marginal Price
• Pool Price is the time weighted average of the SMP
• Intersection of Alberta Internal Load (AIL) and merit curve determines the price
• SMP remains constant as long as AIL is on the price setting block
• Many factors effect the merit order (Wind, Imports, DCR)
![Page 16: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/16.jpg)
Sample SMP Calculation
PostTime SMP($/MWh)
AIL(MW)
DCR(MW)
BC (MW)
SK(MW)
WIND(MW)
15:48 54.10 8276 512 109 -126 429
Adjusted Load = AIL + SK – WIND – 0.44*DCR
= 7496 MW
7496 MW (intersect with merit curve) implies SMP = 52.80 $/MWh
![Page 17: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/17.jpg)
Description of Price Simulation Model
• Very simple (perhaps too simple?)• Good:
– Reproduces historically “reasonable” CDFs– Stats are inline with history– Spikes happen in the right hour endings (8-23)– Back tests calculate margins with 1 to 1.5 std of mean
• Bad:– Fails to reproduce the large number of $10/MWh hours.
(Coal units marginal price)– Over parameterized?– Assumes that history is likely to repeat itself
![Page 18: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/18.jpg)
Model Process
1. Query historical data from SQL database2. Create shaping matrix3. Create noise vector4. Create price path
![Page 19: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/19.jpg)
Shaping Matrix(for one month)
Mon Tue Wed Thu Fri Sat SunP_1,{1:24} … … … … … …P_2,{1:24} … … … … … …P_3,{1:24} … … … … … …P_4,{1:24} … … … … … …Notation:
P_i,{1:24}
Day OccurrenceHours 1 through 24
![Page 20: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/20.jpg)
Shaping Matrix(aggregate)
Mon Tue Wed Thu Fri Sat SunM(P_{1:4},{1:24},1)
… … … … … …
M(P_{1:4},{1:24},2)
… … … … … …
M(P_{1:4},{1:24},3)
… … … … … …
M(P_{1:4},{1:24},4)
… … … … … …Notation, M = mean()
P_{1:4},{1:24},i
Day OccurrenceHours 1 through 24
Year Label
![Page 21: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/21.jpg)
Mon Tue Wed Thu Fri Sat Sun
HE 4
HE 8
HE 12
HE 16
HE 20
HE 24
Aggregate scalars (normalized to peak of month) for month 1
0.2
0.4
0.6
0.8
1
Mon Tue Wed Thu Fri Sat Sun Mon0
0.2
0.4
0.6
0.8
1
Mon Tue Wed Thu Fri Sat Sun
HE 4
HE 8
HE 12
HE 16
HE 20
HE 24
Aggregate scalars (normalized to peak of month) for month 5
0.2
0.4
0.6
0.8
1
Mon Tue Wed Thu Fri Sat Sun Mon0
0.2
0.4
0.6
0.8
1
Mon Tue Wed Thu Fri Sat Sun
HE 4
HE 8
HE 12
HE 16
HE 20
HE 24
Aggregate scalars (normalized to peak of month) for month 9
0.2
0.4
0.6
0.8
1
Mon Tue Wed Thu Fri Sat Sun Mon0
0.2
0.4
0.6
0.8
1
Mon Tue Wed Thu Fri Sat Sun
HE 4
HE 8
HE 12
HE 16
HE 20
HE 24
Aggregate scalars (normalized to peak of month) for month 7
0.2
0.4
0.6
0.8
1
Mon Tue Wed Thu Fri Sat Sun Mon0
0.2
0.4
0.6
0.8
1
![Page 22: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/22.jpg)
Noise Vector
• Skip the details• Broken out into peak (HE 8-23) and off peak
(everything else)• Remove seasonality by doing
– log(P_i) – mean(log(P_month))
![Page 23: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/23.jpg)
Create Price Path (pseudocode)1. Tmp_(i,j) = Smat(i,j) + X*Smat_std(i,j)
where X ~ a + b*U(0,1) random variable2. Tmp = flatten(Tmp)3. S = S*c
where c is scaling constant4. On_peak_chain = emprand(Nvec_on)5. Off_peak_chain = emprand(Nvec_off)6. IF (HE is peak):
P = log(S) + On_peak_chainElse:
P = log(S) + Off_peak_chain7. P = exp(P) + X
where X ~ a + b*U(0,1) random variable
![Page 24: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/24.jpg)
![Page 25: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/25.jpg)
![Page 26: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/26.jpg)
0 50 100 1500
100
200
300
400
500
600
$ (CAD)
Pro
ba
bili
tyHistogram of mean of price paths. Mean: 84.9754 std: 29.2083
![Page 27: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/27.jpg)
0 20 40 60 80 100 1200
100
200
300
400
500
600
700
$ (CAD)
Pro
ba
bili
tyHistogram of mean of off peak price paths. Mean: 64.0045 std: 26.4742
![Page 28: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/28.jpg)
-20 0 20 40 60 80 100 120 140 160 1800
100
200
300
400
500
600
$ (CAD)
Pro
ba
bili
tyHistogram of mean of peak price paths. Mean: 100.3004 std: 32.3465
![Page 29: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/29.jpg)
Min Max Mean Median Std0
100
200
300
400
500
600
700
800
900
1000Statistics of simulated price paths and historical prices
$ (
CA
D)
Simulated2003200420052006
![Page 30: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/30.jpg)
0 100 200 300 400 500 600 700 800 900 10000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
F(x
)
Empirical CDF
Simulated2003200420052006
![Page 31: Simulation of Alberta Pool Prices Scott MacDonald.](https://reader036.fdocuments.net/reader036/viewer/2022062407/56649c925503460f9494ceff/html5/thumbnails/31.jpg)
Conclusion
• Thin supply stack causes wild price variation• Generators dispatching intelligently
– Scarcity pricing, shadow bidding
• Naïve approach seems to yield reasonable results (back tested over 1 year of data)
• Flexible tool to allow users to assess the risk of various hedge scenarios (7x24, 6x16, etc)