固定收益

“非常老練”的債券發行的 YTM

  • September 11, 2018

在執行中的國債和具有相似特徵的執行中的問題之間存在流動性溢價。這就是為什麼在建構收益率曲線時,通常會使用執行中的問題來計算這條曲線,以表示無風險利率。

在建構曲線時移除這些“特殊”證券(針對明顯問題)似乎是常見的學術和實踐實踐。但是,在進行這些債券之間的相對價值分析時,這些未執行的債券是專門使用的。

通常,非常老練的問題之間仍然存在差異。

  1. 這些問題(例如,到期不到 2 年且息票非常高的原始 30 年期債券)是如何納入收益率曲線計算的?
  2. 我如何才能有意義地獲得此範例成熟度的 YTM?

例如,今天最接近到期​​的原始 30 年期債券是:

912810EB0 - Nov15'18 9.0 - BID 101.14000 ASK 101.30600 Mark Yield 1.994%

(編輯:這個收益率是由經紀公司提供的,但似乎是合理的,所以他們的“債券數學”沒有像我的那樣爆炸)。

我已經嘗試過我自己的債券數學和一些可用的計算器:http ://www.quantwolf.com/calculators/bondyieldcalc.html

def bond_ytm(bond):

   price = float(bond['END OF DAY'])
   par = 100.
   T = bond['T']
   t = pd.to_datetime(bond['date'])

   if bond['SECURITY TYPE'] == 'MARKET BASED FRN':
       freq = 4
   else:
       freq = 2

   coupon = float(bond['RATE'].strip('%'))/freq
   coupon_dates = get_coupon_dates(bond, afterDate=t)

   # zero-coupon
   if len(coupon_dates) == 0:
       return (par/price)**(1/T) - 1.0

   dt = dates_to_relative(coupon_dates, anchor=t)

   def Px(Rate):
       return price - (((par + coupon) / (1 + Rate/freq)**(T)) + ((coupon/Rate) * sum([(1 / (1+Rate/freq)**(time*freq)) for time in dt]) ))

   ytm_func = lambda y: coupon*sum([1/(1+y/freq)**(time) for time in dt]) + 1/(1+y/freq)**(freq*T)
   guess = coupon/par
   return optimize.newton(Px, 0.03, maxiter=500)

這兩個都給了我無意義的結果(比如 25% 的 YTM)。

對於這些老生常談的問題,我怎樣才能得到一些有意義的結果?

在執行中的國債和具有相似特徵的執行中的問題之間存在流動性溢價。這就是為什麼在建構收益率曲線時,通常會使用執行中的問題來計算這條曲線,以表示無風險利率。

取決於你使用曲線的目的。在實踐中,僅使用未執行的問題來建構公允價值收益率曲線和計算分析更為普遍。

這些問題(例如,到期不到 2 年且息票非常高的原始 30 年期債券)是如何納入收益率曲線計算的?

治療因國家而異,取決於市場條件。在美國,這些久經考驗的證券通常被完全排除在外,因為它們缺乏流動性,交易方式與到期日相近的較近期問題不同,而且通常不提供太多關於“公允價值”的資訊。一個典型的經驗法則是移除已從其原始到期桶中推出的經驗豐富的證券。例如,可以排除到期日少於 10 年的 30 年期債券。更好的是,在這個期限(<1 年),根本不使用國債利率!使用回購利率,因為無論如何它們都是合適的融資利率。

我如何才能有意義地獲得此範例成熟度的 YTM?

由於該債券處於其最後一個息票期,因此使用單利慣例。應計利息為:

$$ AI = \frac{\text{9/11/2018} - \text{5/15/2018}}{\text{11/15/2018} - \text{5/15/2018}}\times \frac{9}{2} = 2.910326087. $$ 因此,價格收益率公式為

$$ 101.223 + 2.910326087 = \frac{104.5}{1 + \frac{y}{2} \cdot \text{DCF}}, $$ 其中日計數分數 DCF 是 $$ DCF = \frac{\text{11/15/2018} - \text{9/11/2018}}{\text{11/15/2018} - \text{5/15/2018}} = 0.35326087. $$ 解決 $ y $ 精確地給出 1.994%。

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