如何用QuantPlus函数和Excel自带函数对债券进行定价和反推出到期收益率?
第一步,我们先构建一个QP中债券付息计划的对象,用qpSchedule函数,参数如下:
ObjectId:对象名称;
Effectivedate:发行日;
TerminationDate:终止日;
Tenor:付息间隔期限;
Calendar:交易日历;
然后我们QP中构建一个债券的对象,用qpFixedRateBond函数,参数如下:
ObjectId:对象名称;
Currency:币种;
Settlementdays:清算速度;
Faceamount:票面价格;
ScheduleId:付息计划名称;
Daycounter:日期计数规则;
Redemption:赎回面值;
IssueDate:发行日;
PaymentCalendar:交易日历;
我们首先给定一个债券价格,反推出其收益率。这里我们首先用Excel内置YIELD函数,需要输入的参数有:
Settlement:清算日期;
Maturity:到期日期;
Rate:票息率;
Pr:债券价格;
Redemption:赎回面值;
Frequency:付息频率;
Basis:日期计数规则;
我们然后用QP中函数qpBondYieldFromCleanPrice,输入参数如下:
Objectid:债券名称;
CleanPrice:债券价格;
Daycounter:日期计数规则;
Frequency:付息频率;
SettlementDate:清算日期;
Accuracy:精准度;
Maxiteration:最大迭代次数;
Guess:用户自己初估的收益率值;
根据推出的收益率,我们计算相应的债券价格,这个是一个回溯验证过程。
首先我们用Excel内置函数Price,输入参数如下:
Settlement:清算日期;
Maturity:到期日期;
Rate:票息率;
Yld:收益率;
Redemption:赎回面值;
Frequency:付息频率;
Basis:日期计数规则;
接着我们用QP函数qpBondCleanPriceFromYield,参数如下:
Objectid:债券名称;
Yield:收益率;
Daycounter:日期计数规则;
Frequency:付息频率;
SettlementDate:清算日期;
最后我们可以用qpScheduleDates函数拉出付息日,qpBondFlowAnalysis函数拉出现金流。具体可参见附件。
Attachments
- Bond (15 kB)