收益率曲線

今天與現貨日期曲線建構之間的外推

  • January 12, 2020

我正在嘗試使用(存款、FRA 和掉期)工具建構我的 libor 曲線,目標是我的曲線與 murex 曲線匹配,我的參數是:

  • 我今天的日期是:23/10/2019
  • 我的存款 600 萬合約的開始日期是 25/10/2019 結束日期是 27/04/2020,天數是 act/360,利率 5%
  • 我的 fra 6x12m 契約的開始日期是 27/04/2020 結束日期是 27/10/2020,天數轉換是 act/360,利率為 5.2%

我的結果是:

  • DF1=0.9749492213947191
  • DF2=0.9498417381171556

但正確的結果(來自 murex)是:

  • DF1=0.9746818596344575
  • DF2=0.9495812616189955

有人可以解釋一下今天和現貨日期曲線建構之間的推斷方式嗎?或者為什麼我得到不同的結果?或者,如果您有針對從業者的曲線建構指南/書籍,會有所幫助嗎?提前致謝。

會不會是 Murex 的折扣係數是指今天的日期而不是結算日期?Murex 的 O/N 和 T/N 率是多少?

試試這個,看看它是否能讓你更接近……

$$ DF_{O/N} = \frac{1}{1+r_{O/N} \times 1 / 360} $$

$$ DF_{T/N} = \frac{DF_{O/N}}{1+r_{T/N} \times 1 / 360} $$

$$ DF_{6M} = \frac{DF_{T/N}}{1+r_{6M} \times 185 / 360} $$

順便說一句,如果您嘗試 4.937182% 的 O/N 和 T/N 率,您將非常接近。

from scipy.optimize import root
def get_6m(r):
   ''' Get 6M DF for a given O/N and T/N rate'''
   df = lambda r, n: 1 / (1+r * n / 360)
   df_on = df(r, 1)
   df_tn = df_on * df(r,1)
   df_6m = df_tn * df(0.05, 185)
   return df_6m

target = 0.9746818596345
rate = root(lambda r: target - final(r), 0)['x'][0]
print(f"Solver result for the O/N and T/N rate: {rate}")

O/N 和 T/N 率的求解器結果:0.04937181969259679

df_6m = get_6m(rate)
print(df_6m)

df_fra = df_6m / (1 + 0.052 * 183/360)
print(df_fra)

0.9746818596344999

0.9495812616190368

引用自:https://quant.stackexchange.com/questions/50552