Commodity Forward

Table of Contents

A commodity forward is the linear building block of commodity derivatives. Two parties fix today the price of a future commodity exchange. ORE models it with the trade type CommodityForward. This note records the domain grounding, as ORE documents it in its product catalogue.

1. Identifiers

What a trader books it as, and what to grep for. The codes are the trade type catalogue's, which is what the database enforces.

Field Value
Full name Commodity Forward
Short name Commodity Forward
ORE Studio product code CommodityForward
Asset class commodity
Family Forward
ORE trade data node CommodityForwardData
ORE documentation commodityforward.tex

2. Summary

A commodity forward is an agreement to buy or sell a set amount of a commodity at a predetermined price on a future date. No money changes hands at trade time. The trade data names the position, the maturity, the commodity, the strike, and the quantity. A forward can reference a commodity price or a commodity future. Settlement can be physical. The value moves with the commodity forward curve.

3. Detail

3.1. What it is

ORE defines the product as follows:

A Commodity Forward contract is an agreement between two counterparties to buy/sell a set amount of a commodity, at a predetermined price (the strike), at the end of the contract. A commodity forward does not involve any upfront payment.

Source: ORE User Guide, Products catalogue, commodityforward.tex.

3.2. In plain terms

A commodity forward is a handshake on a future price. A producer and a buyer agree today on the price of a commodity for a later delivery. Neither side pays now. At maturity they exchange the commodity and the agreed price.

3.3. How it works in ORE

The CommodityForwardData node is the trade data container. It names the Position, long or short, and the Maturity. The Name selects the commodity, such as NYMEX:CL for crude oil. The Strike and Quantity set the deal. The IsFuturePrice flag says whether the reference price is a future price. A forward on a future names the future contract and its expiry. PhysicallySettled selects physical delivery over cash settlement.

3.4. Mathematical notes

A long forward gains when the commodity price rises above the strike. The value is the present value of the difference between the forward price and the strike, times the quantity. A forward priced on a future tracks the future contract, with its own expiry and roll. The trade is linear, with no optionality.

3.5. What moves its value (static sensitivities)

  • The commodity forward curve at the maturity point. It is the dominant driver.
  • The reference future, when used. Its expiry and settlement drive the price.
  • The discount rate of the trade currency.
  • The strike and the quantity. They scale the exposure.
  • The FX rate, when the commodity currency differs from the trade currency.

A long position gains when the commodity strengthens. A short gains when it weakens.

3.6. How the profile ages (dynamic sensitivities)

Between trade date and maturity the value moves with the commodity market. The exposure narrows to the remaining time. Near maturity the price converges to the settlement price. At maturity the trade settles in cash or in the commodity and stops.

3.7. Why a customer would want it

A producer locks the price of a future harvest or output. A consumer locks the cost of a future input. A trader takes a view on the commodity without storing it. In ORE Studio a customer books commodity forwards to value them and run sensitivities on the ORE engine.

3.8. Example

ORE's catalogue shows a forward on the LME aluminium three-month future:

<CommodityForwardData>
  <Position>Long</Position>
  <Maturity>2029-08-16</Maturity>
  <Name>XLME:AH</Name>
  <Currency>USD</Currency>
  <Strike>2160</Strike>
  <Quantity>1000</Quantity>
  <IsFuturePrice>true</IsFuturePrice>
  <FutureExpiryDate>2021-11-16</FutureExpiryDate>
  <PhysicallySettled>true</PhysicallySettled>
</CommodityForwardData>

Source: ORE User Guide, Products catalogue, commodityforward.tex, listing CommodityForwardData for a forward on the LME Aluminium 3M future (optional elements omitted).

The family siblings are the Commodity Swap and the Commodity Option.

4. See also

Emacs 29.3 (Org mode 9.6.15)