关于国债的一些计算: 理论TF价格1(缴款日前无付息)
计算 ExpectedTFPrice 是一个比较复杂的计算,我们这里讨论简单的一种情况。
给定一只可交割国债bond(一般为CTD),一个国债期货tf,一个日期t(表示tf的一个交易日期,我们通过t日的bond情况计算TF到tfpay日的理论价格)
已知的值为:
tf的缴款日tfpayday(缴款日为国债期货合约最后交易日之后的2个工作日)
bond的CF值:cf
设 t日到tfpayday还有n天
外部设置的值:
无风险年利率r
在t日所处的付息周期为TS天(也就是t日之后的一次付息日-t日之前的一次付息日)
bond的票面利率:cop
bond的付息频率:f
bond的票面价值: face
bond在t日的净价: cp
bond在t日的应计利息: ait
bond在t日的全价: dp , 且dp = cp + ait;
这里讨论的情况为:
缴款日前无付息:指的是 从 t日到tfpayday为止bond没有付息
使n = tfpayday - t表示计算ExpectedTFPrice的日期t距离tf的最后缴款日还有n天
ExpectedTFPrice = ( cp - 持有的收益)/CF
关于持有的收益,在“缴款日前无付息”的情况下,收益有2个,一个是属于负收益的资金成本,一个是属于正收益的债券的利息
资金成本= 全价*利息 *n ( 资金成本可以这么理解:当我持有债券的时候,我是使用了x元购买,而这x元本来可以躺在银行吃利息,所以当我持有债券时,有这个负收益)
债券的利息 = 票面价格*票面利率*n (当我持有债券时,债券发行方会付息给我)
所以转换为公式:
ExpectedTFPrice = (cp - ( face*cop*n/365 - dp*r*n/365))/CF
经过几天的学习,这里说下ExpectedTFPrice的推导过程
根据价格原理 期货的理论价格 ExpectedTFPrice*CF = 现券购入成本 + 融资成本 - 利息收入
现券购入成本 = 购买的全价
融资成本 = r/365*n*全价
需要注意的是利息的收入,本来我认为利息的收入是我购买债券之后到最后缴款日这n天的利息,于是我的推导公式为
ExpectedTFPrice*CF = dp + (r/365*n*dp) - cop/365*n*face
但是这个推导出的结果和上面 ExpectedTFPrice = (cp - ( face*cop*n/365 - dp*r*n/365))/CF 是不同的,差别在于一个是dp一个是cp
当然我的推导是错误的, 现券购入成本 的确是 dp , 但是利息收入算错了, 要知道在最后的tfpay日,我们卖出的现券是tfpay日的净价tfpay日的应计利息,此时tfpay日的应计利息为 face*cop*(m+n)/365 , 注意应计利息是从上一个付息日开始计算。
我之前的推导恰恰遗漏了 明天的应计利息, 于是正确的公式为:
ExpectedTFPrice * CF = dp + dp*r/365*n - face*cop/365*(m+n)
也就是 ExpectedTFPrice * CF = cp + dp*r/365*n - face*cop/365*(n)
可以查看
http://bbs.pinggu.org/thread-2808289-1-1.html
感谢汪洋博士耐心指导我这个猪脑子,虽然他看不见。
还要感谢论坛上不认识的人。
还要感谢温富山。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏