Fixed Rate Markets

Fixed Rate Markets enable both Lenders and Borrowers to lock in rates for a fixed period of time. Interest rate payments are settled on a daily basis.

With the seamless ability to trade across both Floating and Fixed Rates, traders can update these levels in real-time depending on price movements across other markets. With a portfolio-margined risk system, this ensures fluidity of capital across the entire yield curve, and across all currencies.

TermDefinition

Direction

Lend / Borrow

Maturity

Various (1D, 2D, 1W, etc...)

Principal

Notional or Size of Trade

Rate

Interest Rate expressed on a per-annum basis, cpn

Frequency

Daily Payments

Day Count:

Actual / Actual

Valuation

A fixed lending or borrowing position is the sum of its cash-flow discounted. Cash-Flows are either interest (denoted, "cpn") or principal repayment at maturity T.

The Present Value or PV as a function of its discounted cash flows is written as:

PV=āˆ‘iCFiā‹…B(0,i)=B(0,T)ā‹…100+āˆ‘iB(0,i)ā‹…cpn(āˆ—)PV = \sum_{i} CF_i \cdot B(0,i) = B(0,T) \cdot 100 + \sum_{i} B(0,i) \cdot cpn (*)

Where:

B(0,i)=1(1+r(0,i))iB(0,i) = \frac{1}{{(1+r(0,i))^i}}
  • B(0,i) are the discount factors or Zero Coupon Bonds prices

  • r(0,i) are the Zero Coupon rates

Putting aside slippage, your position is initiated at par, i.e. initially: PV = Notional, or in other words, PV%=100%. We assume Notional = 100, above/below.

As time passes, your lending position where you locked a certain cpn rate is no longer at par. Entering a new position at the then market rate, denoted cpn_par afterwards would be valued at 100%.

PV=āˆ‘iB(0,i)āˆ—(cpnāˆ’cpnpar)+āˆ‘iB(0,i)āˆ—cpnpar+B(0,T)ā‹…100,i.e.PV=100+āˆ‘iB(0,i).(cpnāˆ’cpnpar)\scriptsize PV = \sum_{i} B(0,i)*(cpn - cpn_{par}) + \sum_{i} B(0,i)*cpn_{par} + B(0,T) \cdot 100, \\i.e. PV = 100+\sum_{i} B(0,i).(cpn-cpn_{par})

By introducing PV01, the PV can therefore be rewritten as:

PV=100+PV01Ɨ(cpnāˆ’cpnpar)(āˆ—āˆ—)PV = 100+PV01 \times(cpn-cpn_{par}) (**)

Where:

PV01=āˆ‘iB(0,i)PV01= \sum_{i} B(0,i)

From (**), itā€™s easy to see that for a lend position: PV>100 <=> cpn>cpn_par, i.e. if the current market rate is lower than the rate the user locked when he entered the position, the present value of your position is higher than 100%.

To recap, the two ways to write the PV are as follows:

PV=āˆ‘iCFiƗB(0,i)=B(0,T)Ɨ100+āˆ‘iB(0,i)Ɨcpn(āˆ—)PV=100+PV01Ɨ(cpnāˆ’cpnpar)(āˆ—āˆ—)PV=\sum_{i} CF_i \times B(0,i)=B(0,T) \times 100+\sum_{i} B(0,i) \times cpn (*) \\PV = 100+PV01 \times (cpn-cpn_{par}) (**)

Dirty Price vs Clean Price

When entering a position, if the user does not enter at exactly 8am UTC (i.e. 4pm HKT), some of the coupon would already have started to accrue. The positionā€™s dirty price does take this accrued coupon into account in the positionā€™s valuation while the clean price does not:

Definitions below:

  • Accrued Coupon = (t-T1)*c

  • Full Coupon = (T2-T1)*c

  • Perceived Coupon = Full - Accrued = (T2-t)*c

The positions PV formula detailed in the above section are dirty prices. The equivalent clean price is:

PVclean=100+PV01.(cpnāˆ’cpnpar)āˆ’accruedCpni.e.ā€…PVclean=PVdirtyāˆ’accruedCpnPV_{clean} =100+PV01.(cpn-cpn_{par})-accruedCpn\\i.e.\: PV_{clean}=PV_{dirty} -accruedCpn

At Infinity, our PV quotes are - unless indicated otherwise - dirty prices.

Interest Payment Calculation

Infinity is open 24 hours 365 or 366 days a year. The Interest period starts and ends at 8am UTC (i.e. 4pm HKT) the next day. At Infinity, the Day Count convention used is A/A (Actual/Actual).

Therefore, the interest to be paid over a full day is:

DailyInterest=Notionalāˆ—RateDDaily Interest =Notional*\frac{Rate}{{D}}

Where: D=366 for leap years, 365 otherwise

On a partial day, i.e. on the day user initiates a position at a timestamp X (in ms), if we denote Y the timestamp of the next 8am UTC (i.e. 4pm HKT) occurrence, then the interest is:

IntraDay Interest = Notional*Rate*Y-XD*24*60*60*1000, where D=366 for leap years, 365 otherwise

IntraDayInterest=Notionalāˆ—Rateāˆ—Yāˆ’XDāˆ—24āˆ—60āˆ—60āˆ—1000,IntraDay Interest = Notional*Rate*\frac{Y-X}{{D*24*60*60*1000}},

Where: D=366 for leap years, 365 otherwise.

Last updated