A curve point needs more than a price and a month
Save the underlying, exact contract, observation instant, quote currency, spot reference and maturity for each point. Contract-type and delivery metadata help identify a product, but a calendar label alone does not make two quotes contemporaneous or comparable.
Choose and name the signed difference convention. This guide's teaching convention is futures price minus spot reference. Other contexts can label a basis with another sign; preserve the source definition instead of silently treating every basis column as this one.
Work through a fictional comparison
Use a spot reference of 100 quote units, a 30-day futures quote of 101 and a 90-day quote of 103, all under the same invented observation and unit assumptions. The chosen premium differences are 1 and 3; relative to 100 they are 1% and 3%.
Under an explicitly selected simple 365-day convention,1%×365/30 and 3%×365/90 both equal about 12.17% per year. These are annualised labels for the entered differences, not investment returns, expected yields or a complete carry model.
| Fictional maturity | Premium / spot | Simple365-day label |
|---|---|---|
| 30 entered days | 1/100=1% | About 12.17% |
| 90 entered days | 3/100=3% | About 12.17% |
| Meaning of equal labels | Model comparison only | No actual return established |
Date-only distances can distort short maturities
Near an endpoint, one hour and one calendar-date change are not the same duration. A Singapore observation at 23:30 and a supplied maturity at 00:30 the next date are one hour apart when their full offsets agree. A date-only subtraction would lose that precision.
Record whether your chosen convention uses actual instants, whole days or another documented count. A zero, negative or missing maturity distance should not produce a fabricated annualised value. Keep it unresolved or outside the selected comparison model.
Do not fill a missing point by copying another product
A SGD display and a USD-quoted futures price cannot be combined by removing their currency labels. Similarly, a later spot snapshot is not the same benchmark as the earlier reference used for other points. Retain the missing conversion or timing evidence explicitly.
Connecting two points visually is not a verified interpolation rule. An unobserved maturity remains unobserved. Do not assign another contract's price to it or present a smooth drawn line as an executable series.
Store the inputs behind each curve point
A reproducible row needs a curve snapshot ID, contract ID, futures observation time, spot observation time, maturity instant, quote unit and the selected day-count formula. Retain the original prices as well as the calculated labels. Two equal annualised figures should still occupy separate maturity rows. A missing 60-day quote is a missing observation, not permission to create a straight-line interpolation and present it as traded market data. If interpolation is explored, label it as a model output in a separate column.
Keep price structure separate from a trading decision
The record can show that the entered dollar premium rises with maturity while a selected annualisation label stays equal. Fees, funding, cash flows, liquidity and risk are not supplied by that curve. No portfolio profit or rollover cost follows automatically.
Publish the exact inputs and convention with your research note so another reader can reproduce the arithmetic. This guide does not select a contract or recommend a basis trade.
The optional link below leads to this site's separate crypto signals and Telegram updates offer. The record method is usable without that offer. It does not independently verify the offer, establish country eligibility or turn the teaching example into an actual transaction.
Primary sources and scope
- Binance Developer Docs: COIN-M exchange information
Separate contract size, base, quote, margin asset, contract type and delivery metadata; schema example, not local product eligibility. Checked 2026-10-21.