FMFront Month

Methodology

Margins as of Calendar as of FX as of How we source this

This site publishes reference data about futures contracts. Every value comes from a named source, carries a date, and is either verified against that source or marked as not verified. Nothing here is a forecast, a rating or a recommendation.

Contract specifications

Contract terms (contract unit, tick size, tick value, months, settlement, hours) are kept in one file per contract and change only when an exchange amends a contract. Each file lists its sources and the date they were checked. Status levels:

Contracts with unconfirmed fields: ZT, SR3, MCL, MGC, SIL, HG, M6E, BTC, MBT.

Tick value is checked to equal tick size multiplied by the contract multiplier for every contract on every build.

Margins

Margins are the clearing house's minimum performance bond for one outright contract in the front month, fetched daily:

CME's public margin export omits its largest products. For those (none currently) values are maintained by hand from the CME margin page, and the daily data job stops with an error if any hand-entered value is more than seven days old. A value from a secondary source is labelled “unverified” on its page until it has been confirmed on the exchange's site.

Brokers set their own margins, usually above exchange minimums, and set intraday margins independently. Those are not shown.

Change detection

Each run compares new margins with the previous run. Any difference in initial or maintenance margin is written to a permanent log with the old and new value and the time detected. A page shows the previous value for seven days after a change. The changes page lists them.

Expiry and roll dates

Last trading and first notice days are calculated from each product's exchange rule, applied to the exchange's holiday calendar. The rules used:

RuleDefinitionStatus
equity_index_quarterlyLast trade: 3rd Friday of the contract month (09:30 ET, special opening quotation). Cash settled, no notice day.From exchange rule text
treasury_longLast trade: 7th business day before the last business day of the contract month. First notice: last business day of the month before.From exchange rule text
treasury_shortLast trade: last business day of the contract month. First notice: last business day of the month before.From exchange rule text
sofr_3mLast trade: business day before the 3rd Wednesday of the month three months after the contract month (end of the reference quarter). Cash settled.Modelled; check against the exchange calendar
crude_oilLast trade: 3 business days before the 25th calendar day of the month before the contract month (4 if the 25th is not a business day). First notice: the business day after last trade.From exchange rule text
micro_crude_oilLast trade: modelled as one business day before CL's last trade. Cash settled.Modelled; check against the exchange calendar
natural_gasLast trade: 3 business days before the first calendar day of the contract month. First notice: the business day after last trade.From exchange rule text
refined_productsLast trade: last business day of the month before the contract month. First notice: the business day after last trade.Modelled; check against the exchange calendar
metalsLast trade: 3rd last business day of the contract month. First notice: last business day of the month before.From exchange rule text
grainsLast trade: business day before the 15th calendar day of the contract month. First notice: last business day of the month before.From exchange rule text
fxLast trade: 2 business days before the 3rd Wednesday of the contract month (09:16 CT).From exchange rule text
fx_cadLast trade: 1 business day before the 3rd Wednesday of the contract month (09:16 CT).From exchange rule text
bitcoinLast trade: last Friday of the contract month (16:00 London); previous business day if that Friday is a holiday. Cash settled.Modelled; check against the exchange calendar
eurex_indexLast trade: 3rd Friday of the contract month (13:00 CET), or the exchange day before if a holiday. Cash settled.From exchange rule text
eurex_bundDelivery day: 10th calendar day of the contract month (next exchange day if not one). Last trade: 2 exchange days before delivery (12:30 CET).From exchange rule text
ice_ftseLast trade: 3rd Friday of the contract month (shortly after 10:15 London), or the business day before. Cash settled.From exchange rule text

Roll dates are conventions, not exchange rules:

Holiday calendars come from the open-source holidays library (CME, Xetra as a proxy for Eurex, ICE Futures Europe). Unscheduled closures are not captured. The exchange's published calendar is the authority.

Trading hours

Sessions are stored in the exchange's own time zone, because the schedule is fixed in local time and its UTC equivalent moves with daylight saving. UTC times are calculated for the current week when the site is built; your local time is calculated in your browser. Holiday schedules are not shown.

Currency conversion

Calculators that convert between USD, GBP and EUR use the European Central Bank's euro reference rates, published once per business day (current: 27 Oct 2026). Your broker's conversion rate will differ.

Prop firm data

Prop firm rules are copied from each firm's own website and help pages, with the source of every value. Values found only on third-party sites, or where a firm's own pages disagree, are listed as not verified. Firms are listed alphabetically. We do not rate, rank or recommend firms.

Corrections

If a value is wrong, the exchange or firm is right. Corrections are made in the data files, and the change is visible in the repository history.