主要内容

选择Cheapest-to-Deliver键使用BondFuture仪器

这个例子展示了如何选择cheapest-to-deliver (CTD)债券国债期货合约使用BondFuture乐器。它演示了两个工作流选择CTD债券:

国债期货合约到期时,一方在合同的空头头寸可以交付标的债券的政党长期合同的位置。通常情况下,可以有许多不同的债券,满足在交割月合约的条款。例如,您可以满足交付义务30年期美国国债期货合约与任何美国国债到期,至少有15年的交货时间。Furthrermore,这些可交付债券可以有不同的优惠券和期限。自方的空头头寸可以选择从这些交付债券,债券提供的利益,党选择最小化的CTD债券交付成本。您可以选择CTD债券在未来的交货时间在交割月合同使用当前的市场价格。或者,你可以预测,供债券交割月前几个月基于当前零曲线。

选择CTD债券在交货时间

在这个工作流程中,您确定交货成本通过对比发票价格从多头空头头寸收到交付债券的价格。为特定的交付债券,空头头寸的发票价格接收从漫长的位置是:

InvoicePrice = (QuotedFuturePrice x ConversionFactor + AccruedInterest) / BondPrincipal x FutureNotional

例如,在30年期美国国债期货市场,通常情况下,BondPrincipal是100美元,FutureNotional是100000美元。作为回报,空头头寸提供债券的长期立场通过购买交付债券市场进货成本如下:

PurchaseCost = (SpotPrice + AccruedInterest) / BondPrincipal x FutureNotional

在这里,SpotPrice是清洁的债券市场价格交货时间。从这个进货成本,减去收到的发票金额从多头空头头寸为整体交货成本提供了以下公式:

OverallDeliveryCost = (SpotPrice QuotedFuturePrice x ConversionFactor) / BondPrincipal x FutureNotional

可以计算每个交付债券和确定的配送成本最低的CTD债券通过选择债券交付成本。的OverallDeliveryCost公式只适用于在交货时间。这种方法相当于使用cashsettle的方法BondFuture仪器在交货时间。为了演示这个工作流,下面的例子使用虚拟数据,并选择,供使用的债券BondFuture仪器的交货日假想的30年期美国国债期货合约在2021年12月到期。

%创建一个零线。解决= datetime (2021、12、21);ZeroDates =解决+ [calmonths ([1 2 3 6]) calyears ([1 2 3 5 7 10 20 30])) ';ZeroRates = [0.06 0.04 0.06 0.07 0.21 0.60 0.95 1.34 1.60 1.69 2.15 2.05]“。/ 100;ZeroCurve = ratecurve (“零”、结算、ZeroDates ZeroRates,加剧= 2);%定义的数据交付债券。ReferenceDate = datetime (2021、12、1);BondMaturity = datetime (datevec ([“2/15/2045”,“2/15/2037”,“8/15/2040”,“5/15/2041”,“5/15/2037”,“2/15/2042”,“11/15/2043”,“11/15/2044”,“5/15/2038”,“2/15/2041”),“mm / dd / yyyy”));CouponRate = [2.5 4.75 3.875 2.25 5.0 3.125 3.75 3.0 4.5 4.75)”/ 100;IssueDate = datetime (datevec ([“2/17/2015”,“2/15/2007”,“8/16/2010”,“6/1/2021”,“8/15/2007”,“2/15/2012”,“11/15/2013”,“11/17/2014”,“8/15/2008”,“2/15/2011”),“mm / dd / yyyy”));SpotPrice = [109.06; 140.78; 130.60; 104.04; 144.02; 119.03; 131.05; 118.23; 138.08; 145.25);NumBonds =长度(BondMaturity);BondID = (1: NumBonds) ';%使用convfactor计算转换因素。ConversionFactor = convfactor (ReferenceDate BondMaturity CouponRate)
ConversionFactor =10×10.5664 0.8775 0.7645 0.5752 0.9009 0.6677 0.7286 0.6302 0.8456 0.8594
% FixedBond工具创建一个向量。BondPrincipal = 100;DeliverableBonds = fininstrument (“FixedBond”成熟= BondMaturity,CouponRate = CouponRate IssueDate = IssueDate校长= BondPrincipal)
DeliverableBonds =10×1对象10 x1 FixedBond数组属性:CouponRate时期基础EndMonthRule主要DaycountAdjustedCashFlow BusinessDayConvention假期IssueDate FirstCouponDate LastCouponDate StartDate可以成熟的名字
% BondFuture工具创建一个向量。FutureMaturity = datetime (2021、12、21);QuotedFuturePrice = 159.53;FutureNotional = 100000;BondFutureContracts = fininstrument (“BondFuture”成熟= FutureMaturity,QuotedPrice = QuotedFuturePrice债券= DeliverableBonds,ConversionFactor = ConversionFactor名义= FutureNotional)
BondFutureContracts =10×1对象10 x1 BondFuture数组属性:成熟QuotedPrice债券ConversionFactor名义上的名字

计算交付成本,使用cashsettle的方法BondFuture仪器计算配送成本,因为该方法估计尚未完全可以支付的现金净额结算金额空头头寸的多头头寸未来成熟而不是实物交割。

%使用cashsettle方法来计算运费。DeliveryCost =南(NumBonds, 1);k = 1: NumBonds outCS = cashsettle (BondFutureContracts (k), SpotPrice (k), ZeroCurve);DeliveryCost (k) = outCS.CashSettleAmount;结束%清单交付债券和交付成本表。DeliverableBondTable =表(BondID BondMaturity IssueDate,CouponRate、SpotPrice ConversionFactor DeliveryCost)
DeliverableBondTable =10×7表BondID BondMaturity IssueDate CouponRate SpotPrice ConversionFactor DeliveryCost ______其__________ _____ ___________ _______ 1 15 - 2015年2月- 2045年2月17 - - 0.025 109.06 0.56643 18697 2 15 - 2007年2月- 2037年2月15 - - 0.0475 140.78 0.8775 792.87 3 15 - 2010年8月- 2040年8月16 - - 0.03875 130.6 0.76447 8643.6 - 4 15 - 5月- 2041年01 - 12272年6月- 2021 0.0225 104.04 0.57524 5 15 - 2007年5月- 2037年8月15 - - 0.05 144.02 0.9009 299.73 6 15 - 2012年2月- 2042年2月15 - - 0.03125 119.03 0.66773 12508 7 - 2043年11月15 - 11月15 - 15 - 2013 0.0375 131.05 0.72859 14818 8 - 11月- 2044年11月17 - 15 - 2014 0.03 118.23 0.63022 17690 9 - 2008年5月- 2038年8月15 - - 0.045 138.08 0.84558 3185.1 10 15 - 2011年2月- 2041年2月15 - - 0.0475 145.25 0.85942 8146.4

一旦你对所有的可交割债券计算运费,您可以确定最低的CTD债券通过选择债券交付成本。

%确定最低的CTD债券交付成本。[~,CTDBondIdx] = min (DeliverableBondTable.DeliveryCost);CTDBondTableDecember2021 = DeliverableBondTable (CTDBondIdx:)
CTDBondTableDecember2021 =表1×7BondID BondMaturity IssueDate CouponRate SpotPrice ConversionFactor DeliveryCost ______其__________ _____ ___________ _______ 5 15 - 2007年5月- 2037年8月15 - - 0.05 144.02 0.9009 299.73
BondFutureContracts (CTDBondIdx)
ans = BondFuture属性:成熟度:21 - 12月- 2021 QuotedPrice: 159.5300邦德:[1 x1 fininstrument。FixedBond] ConversionFactor: 0.9009名义:100000姓名:"

在十交付债券,配送成本最低的CTD债券在2021年12月的未来合同到期债券票面利率5% 5月15日,2037年。这个CTD键确定交货时间12月21日,2021年。

由于运费在这个例子计算交货时间,交货成本计算的cashsettle的方法BondFuture仪器未来合同的协议与使用以下公式计算总配送成本在交付:

OverallDeliveryCost = (SpotPrice QuotedFuturePrice x ConversionFactor) / BondPrincipal x FutureNotional
%比较交付成本用cashsettle交付成本公式计算。DeliveryCostFormula =(SpotPrice - QuotedFuturePrice。* ConversionFactor) / BondPrincipal * FutureNotional;表(DeliveryCostFormula DeliveryCost)
ans =10×2表DeliveryCostFormula DeliveryCost ___________________ _______ 18697 18697 792.87 792.87 8643.6 8643.6 299.73 - 299.73 12272 12272 12508 12508 14818 14818 17690 17690 3185.1 3185.1 8146.4 8146.4

选择CTD债券交割月前几个月

前面的整体配送成本公式只适用于在交货时间。但是,如果当前的零线是可用的,你仍然可以计算估计的交货成本使用cashsettle的方法BondFuture仪器,即使是交割月前几个月。在接下来的例子中,您选择了CTD键使用BondFuture仪器在2021年11月对一个假设的30年期美国国债期货合约到期几个月后在2022年6月。整个工作流程类似于工作流选择CTD债券在交货时间,除非你选择CTD债券交割月前几个月和整体配送成本公式不再适用。

%创建一个零线。解决= datetime (2021、11、22);ZeroDates =解决+ [calmonths ([1 2 3 6]) calyears ([1 2 3 5 7 10 20 30])) ';ZeroRates = [0.07 0.04 0.05 0.07 0.20 0.63 0.95 1.34 1.57 1.65 2.09 2.01]“。/ 100;ZeroCurve = ratecurve (“零”、结算、ZeroDates ZeroRates,加剧= 2);%定义的数据交付债券。ReferenceDate = datetime (2022、6、1);BondMaturity = datetime (datevec ([“11/15/2046”,“2/15/2038”,“11/15/2040”,“11/15/2041”,“5/15/2044”,“5/15/2042”,“5/15/2045”,“8/15/2041”,“8/15/2043”,“8/15/2039”),“mm / dd / yyyy”));CouponRate = [2.875 4.375 4.25 3.125 3.375 3.0 3.0 1.75 3.625 4.5)”/ 100;IssueDate = datetime (datevec ([“11/15/2016”,“2/15/2008”,“11/15/2010”,“11/15/2011”,“5/15/2014”,“5/15/2012”,“5/15/2015”,“8/31/2021”,“8/15/2013”,“8/17/2009”),“mm / dd / yyyy”));SpotPrice = [117.84; 137.13; 137.53; 119.17; 125.03; 117.34; 119.03; 95.97; 128.84; 140.56);NumBonds =长度(BondMaturity);BondID = 10 + (1: NumBonds) ';%使用convfactor计算转换因素。ConversionFactor = convfactor (ReferenceDate BondMaturity CouponRate)
ConversionFactor =10×10.6033 0.8375 0.8074 0.6743 0.6834 0.6555 0.6302 0.5220 0.7185 0.8415
% FixedBond工具创建一个向量。BondPrincipal = 100;DeliverableBonds = fininstrument (“FixedBond”成熟= BondMaturity,CouponRate = CouponRate IssueDate = IssueDate校长= BondPrincipal)
DeliverableBonds =10×1对象10 x1 FixedBond数组属性:CouponRate时期基础EndMonthRule主要DaycountAdjustedCashFlow BusinessDayConvention假期IssueDate FirstCouponDate LastCouponDate StartDate可以成熟的名字
% BondFuture工具创建一个向量。FutureMaturity = datetime (2022、6、21);QuotedFuturePrice = 160.31;FutureNotional = 100000;BondFutureContracts = fininstrument (“BondFuture”成熟= FutureMaturity,QuotedPrice = QuotedFuturePrice债券= DeliverableBonds,ConversionFactor = ConversionFactor名义= FutureNotional)
BondFutureContracts =10×1对象10 x1 BondFuture数组属性:成熟QuotedPrice债券ConversionFactor名义上的名字
%使用cashsettle方法来计算运费。DeliveryCost =南(NumBonds, 1);k = 1: NumBonds outCS = cashsettle (BondFutureContracts (k), SpotPrice (k), ZeroCurve);DeliveryCost (k) = outCS.CashSettleAmount;结束%清单交付债券和交付成本表。DeliverableBondTable =表(BondID BondMaturity IssueDate,CouponRate、SpotPrice ConversionFactor DeliveryCost)
DeliverableBondTable =10×7表BondID BondMaturity IssueDate CouponRate SpotPrice ConversionFactor DeliveryCost ______其__________ _____ ___________ _______ 15 - 11月11日- 2046年11月15 - 12 15 - 2016 0.02875 117.84 0.60331 19515 - 2008年2月- 2038年2月15 - - 0.04375 137.13 0.8375 409.62 13日15 - 2010年11月- 2040年11月15 - - 0.0425 137.53 0.80741 5695.6 11月14日- 2041年11月15 - 15 - 15 - 2011 0.03125 119.17 0.67433 9314.9 2044年5月- 15 - 15 - 16 15 - 13582年5月- 2014 0.03375 125.03 0.68337 2042年5月- 15 - 17 15 - 10574年5月- 2012 0.03 117.34 0.65551 2045年5月- 2015年5月- 15 - 0.03 119.03 0.63022 16318年8月15 - 18 - 2041年8月31日- 19 - 2021 0.0175 95.97 0.52204 11320 15 - 8月- 2043年8月15 - 20 - 2013 0.03625 128.84 0.71855 11618 15 - 2009年8月- 2039年8月17 - - 0.045 140.56 0.84151 3125.4
%确定最低的CTD债券交付成本。[~,CTDBondIdx] = min (DeliverableBondTable.DeliveryCost);CTDBondTableJune2022 = DeliverableBondTable (CTDBondIdx:)
CTDBondTableJune2022 =表1×7BondID BondMaturity IssueDate CouponRate SpotPrice ConversionFactor DeliveryCost ______其__________ _____ ___________ _______ 12 15 - 2008年2月- 2038年2月15 - - 0.04375 137.13 0.8375 409.62
BondFutureContracts (CTDBondIdx)
ans = BondFuture属性:成熟度:截止2022年6月21日QuotedPrice: 160.3100邦德:[1 x1 fininstrument。FixedBond] ConversionFactor: 0.8375名义:100000姓名:"

在十交付债券,配送成本最低的CTD债券在2022年6月的未来合同到期债券票面利率4.375% 2月15日,2038年。这CTD债券预计使用可用的零线11月22日,2021,这是2022年6月交割月前几个月。

另请参阅

功能