EOX Live EOX Live Market Data

Tools › Mark-to-market and risk

Mark-to-market and risk on EOX forward curves

Mark a book of energy swaps and forwards to EOX forward curves, at the end of the day or from an intraday snapshot, and measure its value at risk from the same contracts' daily history.

What goes in, what comes out

Your positions

  • The curve and contract: dataset, curve code and month, quarter, season or calendar strip
  • Quantity in the curve's unit (MWh, MMBtu, barrels), negative for a short
  • Your trade price, and mid, bid or ask to mark against
  • Up to 500 positions at once: paste from a spreadsheet, upload a CSV, or pass a DataFrame

Your results

  • Each position's curve price, mark-to-market and delta
  • Totals for the book and for each curve
  • Optional discounting to the middle of each delivery period
  • Historical and parametric value at risk and expected shortfall, at your confidence and horizon, with each position's contribution
  • Scenario replays: the book run through past market episodes, such as major winter storms, or a date range you choose, with the P&L, its worst point and each position's share

Mark-to-market is quantity × (curve price − trade price) × discount factor. Every entitlement applies as it does to the data itself, so a book is only marked on curves your subscription covers.

Example

PositionCurveContractQuantityTrade price Curve priceMark-to-market
deal-1CODE1Jan_202725,60062.50 64.1040,960
deal-2CODE2Q1_2027−900,0003.85 3.92−63,000
Book−22,040

Curve codes are placeholders and values are illustrative.

Use it from

Python

pip install https://api.eoxlive.com/downloads/eoxlive-1.7.0-py3-none-any.whl

from eoxlive import EOX
eox = EOX("YOUR_KEY")
book = [{"id": "deal-1", "dataset": "power", "code": "CODE1", "contract": "Jan_2027",
         "quantity": 25600, "price": 62.50}]
eox.mtm(book)["total"]                        # mark-to-market
eox.risk(book, confidence=0.95, horizon=1)    # adds VaR and expected shortfall
eox.scenarios(book)["summary"]                # P&L over past market episodes

Excel

=EOX.MTM(A1:F20)    a header row, then one position a row

REST

curl -X POST -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"positions": [{"dataset": "power", "code": "CODE1", "contract": "Jan_2027", "quantity": 25600, "price": 62.5}]}' \
  "https://api.eoxlive.com/v1/analytics/mtm"

Or in the browser, on the Portfolio page, signed in with your EOX account.

Questions

Can I mark intraday?
Yes. EOX curves refresh every 15 minutes; a book can be marked to the latest snapshot or to a chosen end-of-day curve date.
How is value at risk calculated?
From each contract's own daily curve history over a lookback you choose: historical (the book revalued on past moves) and parametric, both with expected shortfall.
What can a position be?
A fixed-price swap or forward on one contract of one EOX curve, in any complex your subscription covers: power, natural gas, refined products, crude oil and more.
Is my book stored?
No. Positions are marked and returned, not kept.

Included with your subscription. The tools use the curves, vols and correlations your subscription already covers, under the same entitlements, and are never charged for separately. Results are for information only; values shown on this page are illustrative.

Request a trial Already a client? Get started