β
| Loading⦠|
spread bp is the
futures-implied yield minus the cash leg β so a
negative spread means the bond or swap yields
more than the future implies. The futures-implied yield is the
CTD's forward yield, which is why the CTD itself prints near zero and
everything else prints its spread to the CTD.
The spread is the variable that matters. Off-market prints stand out because an unwind carries the original trade's rate, not today's.
Bigger and darker = larger trade
Futures-leg lots for the same contract and the same series shown above
Both legs are struck simultaneously and printed on the same record, so the basis needs no external price feed and carries no timing mismatch. CTD is ranked on implied repo.
cf_bias_warning flag is in efpf_basis.csv.
Deliverable is tight; synthetic is not a spread measure
Weighted by DV01 of the futures leg, not lots
EFP-F futures-leg DV01 per session, stacked by bond maturity bucket
| Future | Front | Last trading | Delivery | Days left | Front OI | Next | Next OI | Rolled |
|---|
Stacked, futures leg
Futures leg, all products
Next contract OI as % of front + next
Absolute contracts β the roll is a transfer between the two
Off-market prints matched to an earlier print of the same maturity within 1bp. A match is evidence, not proof β and an original struck before the capture window cannot be found at all, which is why this improves as the archive grows.
Off-market prints matched to an earlier print of the same maturity within 1bp. A match is evidence, not proof β and an original struck before the capture window cannot be found at all.
| Date | Fut | Swap end | Rate % | Off mkt bp | Notional β¬ | Matched to | Match rate % | Notional ratio | Clean fraction |
|---|
Housekeeping, not market data. Trades that could not be
priced because the instrument is missing from bond_static.csv.
Files are published behind CMS blob URLs whose id and content hash rotate without notice β the same business day's hash has changed between two fetches minutes apart β so the listing page is re-scraped every run and no URL is ever cached. Only ~20 business days stay online and there is no archive, which is why this capture runs daily.
Implied decimals are not carried in the file and are product-specific; every price is re-checked against its contract's tick grid on each run. Conversion factors are validated against Eurex's published factors β 134 of 145 exact to 1e-5, with the residue being 2025β26 issues whose irregular first coupon period needs a first-coupon date the file does not carry. Euro-Buxl uses a 4% notional coupon, not 6%.
This is a live view. live is on from the first
paint: the page loads the captured sessions so there is something to read
immediately, then /api/live scrapes the current session's two
files, runs them through the same eurex_efp package as the
nightly pipeline, and splices the result in. It asks for the day that
should be live β on a Saturday that is Friday's file, not an empty
Saturday. Polling is once a minute while Eurex is open (01:10β22:00 CET)
and every fifteen once it has closed, because the last publication of the
day can land after the close. The response is edge-cached, so one upstream
fetch serves every viewer in the window however many are watching.
If the toggle switches itself off and says live unavailable, the host has no serverless functions β the captured sessions still work, and that is the intended fallback rather than an error.
Auction highlighting. A row is bold when the bond is deliverable into the future it traded against, and yellow when that exact ISIN is scheduled for auction within a week. The window is one week rather than two for a reason: only Germany pre-names its auction lines further ahead than that. AFT publishes the French indicative calendar as images, the Italian and Spanish sites are client-side rendered, and all three name the actual bond in a press release about four days before the auction. A one-week window therefore sits inside everyone's announcement lead time. An un-highlighted French or Italian bond may still be auctioned next week β nobody has said which line yet, and the key under the table names the issuers this applies to.
tools/fetch_auctions.py through econdataecondata.providers.sovbonds
Β· bond static for 318 of 327 traded ISINs
Filtering the table. Every column has its own box under the
header. Categories (future, expiry, issuer, CF source, the flags) give a
dropdown; everything else takes free text and matches what is
displayed β so 2035 in maturity, BTPS in
bond. Numeric columns also take >, >=,
< and <= against the underlying number, e.g.
>1.1 in dv01 ratio. Time takes the same comparators
against the clock, so <=09:30 is every trade from
the open to half past nine and >16:00 is the late tape.
Filters compose, and Download CSV
exports exactly what survives them.
Every figure carries the same five buttons: β§ copy puts the image on the clipboard Β· png a 2Γ raster for slides Β· svg vector, scales and stays editable Β· csv the numbers actually plotted Β· β§ data the same numbers as TSV for a spreadsheet. Exports carry the title, source and build stamp so a saved file still makes sense on its own. light exports in the nav bar switches figures to the paper palette for documents β the screen stays dark either way.