Pricing Swing Options with Dynamic Programming and Volume States
Summary
The document discusses pricing commodity swing options, which allow multiple exercise decisions subject to limits. The questioner has tried Longstaff–Schwartz Monte Carlo and asks about implementing a finite element approach for a model without jumps, using a partial differential equation rather than an integro-differential equation.
The answer recommends stochastic dynamic programming through a Bellman equation. It frames the problem as similar to American option pricing, but with a state that tracks consumed volume alongside the underlying price. In a Longstaff–Schwartz approach, this means estimating continuation values over both price and volume rather than price alone. The response offers a conceptual direction, not a finite element implementation, and provides no numerical results or validation; it leaves practical modeling and discretization details open.
Key ideas
- Swing options permit multiple exercises, subject to constraints such as consumed volume limits.
- A Bellman equation provides a dynamic programming framework for valuing the exercise decisions.
- The state must include consumed volume as well as the underlying asset price.
- A Longstaff–Schwartz regression would need to represent continuation value over price and volume.
Tags
Full text
# How to price a Swing Option? # How to price a Swing Option? I'm working in the commodity market and I've to price Swing Options with MATLAB, preferably with finite element. Has anyone already priced these kind of derivatives? I'm thinking about using the structure for the pricing of an American Option and then do it iteratively. More details about Swing Options are included in this paper. Note that swing options are really useful in commodity markets because you can exercise them more than once (like American options); obviously there are some constraints that limit you. I've already tried to price them with Least Squares Monte Carlo method (using the algorithm presented by Longstaff and Schwartz). Now I want to price them with finite element but I'm having some difficulties. In particular I'm pricing them without jumps, so I'm using an EDP discretized (and not a PIDE). I'd like to know if anyone already implemented such a thing? ## Answer by Juan Ignacio Gil (score 1) https://quant.stackexchange.com/a/14140 You have to use stochastic dynamic programming methods, and the Bellman equation. It's not very different to price an American Option with Longstaff-Schwartz, except that your state variable is not just exercised/not exercised, but a continuous one in order to take into account the consumed volume. In Longstaff-Schwartz you have to do a regression in the asset price, but here you have to do it on a functional space of the prices and volumes. You may find this document useful.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.