Products & Contracts
AEX trades electricity Contracts for Difference (CFDs) on New Zealand wholesale electricity. This page explains how the market is structured — from the top-level market down to individual contracts — and what the product and contract codes mean.
Hierarchy
Market
└── Product (node × profile × duration)
└── Contract (specific expiry date)
Market — There is a single AEX market. It has open, pre-open, and closed sessions on a configurable daily schedule.
Product — A product is defined by three dimensions: which grid exit point (node) it delivers at, which trading period profile it covers, and how long each contract runs. For example, "OTA Super Peak Monthly" is one product.
Contract — A contract is a specific delivery period listed under a product. A monthly product might have six forward contracts listed at any time. Each contract has a unique code, a start date, an expiry date, and a delivery hours count.
GXP Nodes
All products are anchored to one of two Grid Exit Points (GXPs):
| Code | Full Name | Location |
|---|---|---|
OTA | Otahuhu | Auckland / upper North Island |
BEN | Benmore | South Island hydro lake zone |
OTA and BEN represent the two major liquidity points in New Zealand's electricity grid. Price differences between the nodes reflect transmission constraints and hydro conditions.
Trading Period Profiles
A profile defines which half-hours within a day the contract covers. New Zealand electricity markets operate in 48 half-hour trading periods per day (period 1 = 00:00–00:30, period 48 = 23:30–24:00).
| Key | Label | Half-hour periods | Approximate clock time |
|---|---|---|---|
BASE | Baseload | 1–48 | All 24 hours |
PEAK | Peakload | 15–44 | 07:00–22:00 |
ON | Overnight | 45–48 and 1–14 | 22:00–07:00 (wraps midnight) |
MP | Morning Peak | 15–18 | 07:00–09:00 |
EP | Evening Peak | 36–40 | 17:30–20:00 |
SPK | Super Peak | 15–18 and 36–40 | 07:00–09:00 plus 17:30–20:00 |
The Overnight (ON) profile wraps midnight — its delivery spans half-hours 45–48 of the delivery day and half-hours 1–14 of the following calendar day. Expiry dates for Overnight contracts are set one day before the delivery start date to reflect this.
Contract Durations
Each product has a fixed duration that determines how long a single contract's delivery period lasts:
| Duration | Description | Example |
|---|---|---|
day | Single calendar day | One day of delivery |
month | Calendar month | All delivery days in a month |
quarter | Calendar quarter | All delivery days in a quarter (March, June, September, or December expiry) |
The currently active products on AEX are monthly and quarterly Super Peak contracts. Daily products for all profiles are defined in the catalogue but are not currently listed.
Product Codes
Each product has a short alphabetic code. The code encodes the node and profile:
| Product Code | Label | Node | Profile | Duration |
|---|---|---|---|---|
SED | OTA Super Peak Monthly | OTA | SPK | month |
SEH | BEN Super Peak Monthly | BEN | SPK | month |
SEA | OTA Super Peak Quarterly | OTA | SPK | quarter |
SEE | BEN Super Peak Quarterly | BEN | SPK | quarter |
OON | OTA Overnight Daily | OTA | ON | day |
OEP | OTA Evening Peak Daily | OTA | EP | day |
OMP | OTA Morning Peak Daily | OTA | MP | day |
OBS | OTA Baseload Daily | OTA | BASE | day |
OPK | OTA Peakload Daily | OTA | PEAK | day |
BON | BEN Overnight Daily | BEN | ON | day |
BEP | BEN Evening Peak Daily | BEN | EP | day |
BMP | BEN Morning Peak Daily | BEN | MP | day |
BBS | BEN Baseload Daily | BEN | BASE | day |
BPK | BEN Peakload Daily | BEN | PEAK | day |
Contract Codes
Each listed contract has a unique code that encodes the product, period, and year.
Periodic Format (monthly and quarterly)
Monthly and quarterly contracts use a 5-character format:
[Product code][Month code][Year digit]
- Product code — 3 characters (e.g.
SED) - Month code — 1 character using futures-standard month codes:
F=Jan,G=Feb,H=Mar,J=Apr,K=May,M=Jun,N=Jul,Q=Aug,U=Sep,V=Oct,X=Nov,Z=Dec - Year digit — last digit of the year (e.g.
6for 2026,7for 2027)
Examples:
| Code | Decodes to |
|---|---|
SEDH6 | OTA Super Peak Monthly, March 2026 |
SEAM6 | OTA Super Peak Quarterly, Q2 2026 (June expiry) |
SEHF7 | BEN Super Peak Monthly, January 2027 |
SEEZ6 | BEN Super Peak Quarterly, Q4 2026 (December expiry) |
Daily Format
Daily contracts use a 7-character format:
[Node prefix][Profile code][Week][Day][Month code][Year digit]
- Node prefix —
Ofor OTA,Bfor BEN - Profile code — 2 characters:
ON,EP,MP,PK(PEAK),BS(BASE) - Week — week number within the month (1–5)
- Day — day-of-week code:
A=Mon,B=Tue,C=Wed,D=Thu,E=Fri,F=Sat,G=Sun - Month code — same single-character futures month code as periodic format
- Year digit — last digit of the year
Examples:
| Code | Decodes to |
|---|---|
OPK1AH6 | OTA Peakload, Week 1 Monday, March 2026 |
OEP4CG6 | OTA Evening Peak, Week 4 Wednesday, February 2026 |
BBS2DK6 | BEN Baseload, Week 2 Thursday, May 2026 |
Tick Sizes
All current products share the same tick sizes:
| Tick | Size |
|---|---|
| Price tick | $0.05 NZD/MWh |
| Volume tick (lot size) | 0.1 MW |
Price inputs in the order ticket and Curve Manager snap to these increments. Volume inputs snap to 0.1 MW lots.
Contract Properties
Every contract carries the following properties:
| Property | Description |
|---|---|
contractCode | Unique code (see above) |
startDate | First delivery date of the contract |
expiryDate | Last trading date (the contract ceases to accept new orders at market close on this date) |
hours | Total delivery hours covered by the contract |
node | GXP node — OTA or BEN |
profile | Trading period profile key |
bids / asks | Current order book ladder (aggregated volumes at each price level) |
How Products Appear in the UI
Watchlist — Products appear grouped by node. Each row shows the product label and its currently listed contracts. You can mark individual contracts as favourites to pin them to the top of your watchlist.
Price Grid — Contracts are displayed in expiry order within each product group. The bid and ask ladders show aggregated volume at each price level.
Curve Manager — The contract selector shows all codes available for the active node, sorted by expiry. The profile rows correspond to all profiles defined for that node.
Compliance Dashboard — Each listed contract appears as a row showing your current bid and ask volumes and spread compliance status.
Next Steps
- Watchlist — Browse and favourite contracts
- Order Book — View bid and ask depth
- Curve Manager — Enter quotes across profiles
- Roles & Permissions — Understand who can trade which products