Pricing Brazilian DI Futures and Calculating Daily Variation Margin
Summary
The document explains how Brazilian DI1 interest rate futures are quoted and how their contract value and daily variation margin are derived. The quoted annual rate is compounded daily on a 252-day convention. The exchange converts that rate into a unit price by discounting the settlement amount over the number of business-day reserves remaining until expiration. The price therefore depends on the contract’s maturity and the exchange calendar, not just the quoted rate.
For daily margin, the document describes taking the difference between the day’s settlement price and the position’s trade price, then multiplying by the exchange-defined point value and number of contracts. It distinguishes this exchange convention from a direct calculation based on one day of interest. The explanation relies on contract specifications and includes a caveat: calculating a particular contract’s value requires its expiration date and the relevant business-day calendar, while the point multiplier is set by the exchange.
Key ideas
- DI futures quotes represent annual rates compounded daily using a 252-day year.
- Convert the quoted rate to a unit price by discounting the settlement amount over remaining business-day reserves.
- Daily variation margin depends on the change between trade and settlement prices, the point value, and contract count.
- A specific valuation requires the contract’s expiration and exchange business-day calendar.
Tags
Full text
# DI futures contract value on bloomberg # DI futures contract value on bloomberg I am trying to understand the Contract value for DI1 futures on bloomberg. I assume the Price of 4.630 below is the CDI one day interest rate. Where does the Tick value of 9.6169 come from and how does "Contract Value" of 95,334 gets computed? Based on this post: DI futures questions on formulas in spec Can I say that daily margin should be 171.24 in this case ? DM = 95,334 - (95,334 * ((1 + 4.63/100) exp (1/252))) ## Answer by atp (score 4) https://quant.stackexchange.com/a/76509 You're talking about the future Bloomberg calls 'ODA Comdty' (e.g. 'ODF21 Comdty'), and the BMF exchange calls DI1. It uses a non-linear contract multiplier. To convert from the quoted price to the notional contract value, you have to use the equation defined by the exchange, which is here: http://www.bmf.com.br/bmfbovespa/pages/contratos2/pdf/IDfutures.pdf This guidebook by Henrard has other helpful info: https://quant.opengamma.io/Interest-Rate-Instruments-and-Market-Conventions.pdf https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2128257 Interest Rate Instruments and Market Conventions Guide OpenGamma Quantitative Research, First Edition, April 2012 51 Pages; Posted: 13 Aug 2012; by Marc P. A. Henrard Date Written: April 2, 2012 Finally, here are my own notes about the equation from the exchange: The quoted futures price, "shall be expressed as a percentage rate per annum compounded daily based on a 252-day year, to three decimal places." The underlying is, "The interest rate compounded until the contract's expiration date, for this purpose defined as the capitalized daily ID [Interbank Deposit] rates verified on the period between the trade date and the last trading day." "On the expiration date, the settlement price shall be 100,000." The doc gives these pricing formulas: - PU = Unit Price, The value, in points, corresponding to 100,000, discounted by the interest rate defined in item 2 [the underlying]. - AD_t = the daily settlement value in Reals. [variation margin] - AD_t = (PA_t - PO)MN For a position initiated today. - PA_t = the contract settlement price on day t, for the respective contract month. - PO = 1e5 / ((1 + i/100)^(n/252)) = the trading price in PU. - i = the traded interest rate. - n = the number of reserves verified between the trade date and the day preceding the expiration date. - M = the Real value of each unit price point, as established by BM&F. - N = the number of contracts. - Reserve = A business day for the purpose of [...] So AFAICT PA_t is just that day's close price in the same units as the PO trading price. But note that we need to know the contract expiration date, and we need to know the full trading calendar on the BMF exchange between now and then!
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.