Stuck: Arbitrage profit made on futures/forward on bond (derivatives)

I am stuck at this question… for so long… desperately need help!

Quoted futures price = 125

Conversion factor = 0.90

Time remaining to contract expiration = 3 months

AI over the life of futures contract = 0

Quoted bond price = 112

AI since last coupon payment = 0.08

AI at futures contract expiration = 0.2

Current annual risk-free rate = 0.30%

What is arbitrage profit on the bond futures contract?

In the solution, they recalculate the adjusted price of the futures (125 x 0.9) and then add 0.20. Shouldn’t the 125 already include AI at time T? Anyway the final answer is 0.5356.

I was attempting to convert the quoted bond price to quoted futures price and compared with the given quoted futures price of 125 to find the arbitrage value.

My calculation:

Formula used, F0(T) = [(Price of Bond + Accrued Interest at time 0) – PVCI] – (Accrued Interest at time T) = 111.88

Therefore, quoted F0(T) = 111.88/0.9 = 124.31

Value of the arbitrage = (125 – 124.31)/ [1 + (0.0003) (3/12)] = 0.68948

I would have thought whether you compare between futures price or quoted futures price, the arbitrage value should be the same. but clearly i am wrong! Masters, teach me!

Is that the complete questioN? What is the coupon?

No coupon received during the life of contract - hence, PVCI = 0.

Quoted prices are clean prices, not dirty prices.

Thank you for your reply!

How do you tell if quoted price is clean or dirty?

Btw, is my working logic correct? Can you comment more if my solution is in the same direction as the proposed solution?

Thank you!

I don’t think you can compare prices after conversion; you have to do it before the conversion. Follow my math, maybe my explanation is hard to follow :slight_smile:

When you break down the formula of QFP=FP/CF = ((full price)(1+Rf)T−AI_T−FVC)/CF

Since the problem gives you the QFP, you have to convert it to the following formula by multiplying the conversion factor.

QFP*CF = FP = (full price)(1+Rf)T−AI_T−FVC.

Now we know FVC =0, and AI_T = .2.

So we can use algebra and put AI_T on the other side such that:

FP+AI_T = (full price)(1+Rf)T

So you get 125/.9 + .2 = 112.7

And your right hand side is (112 + .08)* 1.003(3/12)= 112.1639

Subtract those two, 112.7 from 112.1639 = .5361

Now when you divide by the 1.00075[1 + (0.003) (3/12)], you get 0.5356.

Also note your equation at the bottom is off by one zero. It should be .003: (125 – 124.31)/ [1 + ( 0.0003 ) (3/12)] = 0.68948

You look here:

If the price is clean, they likely will just say its the quoted price. If they give you full price, they will say its the dirty price or full price. Sometimes they will say the price includes the AI.

Thank you!

Some follow-up questions:

  1. Why do you compare futures price calculated at t=0 and futures price calculated at t instead of quoted futures price at t=0 and quoted future price at t?

  2. Why is it in the calculation of the futures price based on bond price does not include AI at time T but in the quoted futures price of 125, it was multiply with 0.9 (which I understand why) and then plus (0.2 (which I understood as because the initial quoted price was a clean price)?

1.) The conversion factor makes it more complicated to compare. I think you can, but the algebra is a bit more messy. Its easier to remove the conversion factor. Either way, you want to compare apples to apples. A

2.) I’m not sure my reasoning is right but I added .2 to equalize the equation. FP+AI_T = (full price)(1+Rf)T

Either you add .2 to te left side, or you subtract .2 from the right side. The outcome is the same: FP = (full price)(1+Rf)T - AI_T

Again, this is comparing apples to apples. Without adding +.2 to the left side, you would be comparing the FP without the AI_T while comparing the right side with AI_T.

Thanks again for the reply!

I still do not really get the reasoning at (2).

But can I validate my understanding:

i. Quoted futures price = clean price. Given the question gives the following: “Accrued interest at futures contract expiration = 0.2”, the given AI is added to the quoted futures price to make it “dirty” and is only applicable to the quoted futures priice.

ii. The question does not provide AI at time T. Therefore, the full formula of counting the futures price based on the quoted bond price is F(T) = ( Bond price - AI at time 0 - PVCI) (1 + r)(3/12). This is the dirty price based on the given bond price with PVCI = 0 and AI at time T for this bond = 0.

The AI at time T is given as .2. That is true for the your statement i and ii.

Your statement ii equation is incorrect. It’s missing -AI_T. Full equation is FP = FV(bond price -AI_0 -pvc) - AI_T

You can compare dirty to dirty or clean to clean. If you go with dirty (which is how the problem appears to solve), you would add .2 to FP and compare it with FV(bond price -AI_0 -pvc) - AI_T + AI_T.

112.7 -112.1639 =0.5361

You can compare clean to clean by just taking FP and compare to FV(bond price -AI_0 -pvc) - AI_T.

112.5 -111.9639 =0.5361

Lol