QuantLib学习笔记——InterestRate的应用

简介: QuantLib学习笔记——InterestRate的应用

⭐️ 单利还是复利

巴菲特老爷子有句名言:“人生就像滚雪球,重要的是发现很湿的雪和很长的坡。” 很湿的雪,指的就是复利。很长的坡,指的就是时间。很湿的雪和很长的坡组合起来,就能滚成巨大的雪球。

哈哈,复利是多么让人愉快啊!!!连爱因斯坦都称它为世界第八大奇迹。

这里引出一个概念:计息方式,

大家知道,计息方式有两种,单利和复利,两者的主要区别在于利息是否参与计息,在单利中,每次产生的利息不会和本金放在一起参与计息,而复利则相反。👇

单利:是指按照固定的本金计算利息

复利:是指第一期产生利息后,第二次的本金包括之前的本金和上次产生的利息,以此为本金计算利息,后面的计息周期以此类推(复利又叫利滚利)。

假如你有一项投资,你希望它是单利的,还是复利的?

⭐️ 因子

为说明因子的概念,这里需要引入一些公式,很简单的公式,我们以复利为例。

设P代表终值,r代表利率,U代表本金或初值,n代表计息期数,比如1年,1个月等等。

按照复利的定义,我没有

n可以取整数,也可以取小数,比如以年为计息周期,则n取0.5代表半年。

这里出现了复利因子和折扣因子,我们可以看出,

当前价值一块钱的资产,在计息结束后的价值就等于复利因子。

计息结束后价值一块钱的资产,其当前价值就等于折扣因子。

复利因子和折扣因子是互为倒数的关系。

单利的情况依次类推。

⭐️ QuantLib的利率类

该类用于实例化一个利率(而非利率期限结构)并提供了一些利率相关的计算

ql.InterestRate(rate, dayCount, compounding, frequency)

参数说明如下

参数 说明
rate 利率的值
dayCounter 计日器,它可以按照某种约定判断某日是否参与计息并计算计息天数
compounding 是单利还是复利计息
frequency 计息频率,是半年一次还是一年一次,等等

它有一些重要的成员方法,如下所示

参数 说明
rate() 返回利率的值
dayCounter() 返回计日器对象
discountFactor(d1, d2) 计算从日期d1到日期d2这段时间的折扣因子,d1小于d2
compoundFactor(d1, d2) 计算从日期d1到日期d2这段时间的复利因子或单利因子,d1小于d2
impliedRate(compound, resultDC, comp, freq, d1, d2) 在给定某段时间内的复利因子的情况下,返回一个利率,这个利率就是隐含利率
equivalentRate(resultDC, comp, freq, d1, d2) 返回一个等效利率

这里特别说明一下 equivalentRate 这个方法,它产生一个和当前利率等效的利率

何为等效?在这里,等效就是经过一段时间的计息,产生了相同的利息。等效利率和原利率可以有不同的日期计数规则,计息方式和计息频率等。

⭐️ 代码

本文代码调用了一些利率类的方法

import QuantLib as ql
if __name__ == "__main__": 
    # 当前利率的值
    r = 0.05
    # 输出按公式计算的因子
    print("python计算的两年期复利因子: ", (1+r)**2)
    print("python计算的两年期折扣因子: ", 1/(1+r)**2)   
    # 开始计息日
    d1 = ql.Date(15,6,2020)
    # 结束计息日
    d2 = ql.Date(15,6,2022)
    # 利率对象
    rate = ql.InterestRate(r, ql.Actual360(), ql.Compounded, ql.Annual)
    # 利率值
    print("利率值: ", rate.rate())
    # 日期计数器
    print("日期计数器: ", rate.dayCounter())
    # 2年以后,即2年期折扣因子
    print("2年期折扣因子: ", rate.discountFactor(2))
    # 从d1到d2的折扣因子
    print("从d1到d2的折扣因子: ", rate.discountFactor(d1, d2))
    # 从d1到d2的复利因子
    print("从d1到d2的复利因子: ", rate.compoundFactor(d1, d2))
    # 等效利率
    print("等效利率: ", rate.equivalentRate(ql.Actual360(), ql.Compounded, ql.Semiannual, d1, d2))
    # 隐含利率
    factor = rate.compoundFactor(d1, d2)
    print("隐含利率: ", rate.impliedRate(factor, ql.Actual360(), ql.Continuous, ql.Annual, d1, d2))

代码执行结果如下

python计算的两年期复利因子:  1.1025
python计算的两年期折扣因子:  0.9070294784580498
利率值:  0.05
日期计数器:  Actual/360 day counter
2年期折扣因子:  0.9070294784580498
从d1到d2的折扣因子:  0.9058010300610555
从d1到d2的复利因子:  1.103995211765872
等效利率:  4.939015 % Actual/360 Semiannual compounding
隐含利率:  4.879016 % Actual/360 continuous compounding

笔者水平有限,若有不对的地方欢迎评论指正!

相关文章
|
开发框架 Java 中间件
.NET/.NET Core相关面试题
.NET/.NET Core相关面试题
404 0
|
Linux iOS开发 UED
探索Qt折线图之美:一次详尽的多角度解析
探索Qt折线图之美:一次详尽的多角度解析
2769 0
|
12月前
|
数据可视化 搜索推荐
Ollama-Deep-Researcher-本地Mac结合魔搭社区模型搭建网页研究助手
Ollama Deep Researcher 是一款完全本地化的网络研究助手,可使用Ollama托管的任何 LLM 。输入一个主题,它将生成网络搜索查询,收集网络搜索结果(默认通过Tavily),总结网络搜索结果,反思总结以检查知识差距,生成新的搜索查询以解决差距,搜索并改进总结,循环次数由用户定义。它将为用户提供最终的 markdown 摘要,其中包含所有使用的来源。
503 2
|
机器学习/深度学习 人工智能 自然语言处理
智能导诊系统的技术体系组成
智能导诊系统基于SpringBoot、Redis、MyBatis Plus、MySQL和RocketMQ等技术架构开发,具备自主版权,适合二次开发。系统融合AI大模型、自然语言处理(NLP)、知识图谱、多模态交互等先进技术,通过症状推理与科室匹配,实现精准导诊。用户可通过点击3D人体模型或描述症状,快速获得可能疾病方向及推荐科室,支持语音识别、医学影像分析等功能。同时,系统采用联邦学习、同态加密等技术保障数据安全,符合隐私保护法规。适用于医院智慧医疗场景,提升患者就诊效率与体验。
636 0
|
数据采集 数据可视化 数据处理
利用 Jupyter 实现自动化报告生成
【8月更文第29天】自动化报告生成是在数据分析领域非常有用的一项技能。它可以帮助我们节省大量的手动工作时间,并确保每次生成的报告都是一致且准确的。本文将介绍如何使用 Jupyter Notebook 结合 Python 库(如 Pandas 和 Matplotlib)来实现自动化报告生成。
1364 0
|
Web App开发 Linux 应用服务中间件
【DrissionPage】Linux上如何将https改为http
通过上述步骤,可以在Linux上将DrissionPage从HTTPS改为HTTP。关键在于修改DrissionPage配置、代码中的HTTPS设置、URL以及Web服务器配置,确保所有部分都正确使用HTTP协议。通过合理配置和测试,能够确保系统在HTTP环境下稳定运行。
602 1
|
传感器 数据采集 监控
物联网卡:如何判断并选择合适的流量套餐
要判断设备使用流量并选择合适的物联网(IoT)卡套餐,可以通过以下几个步骤来操作:
|
数据采集 SQL 关系型数据库
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
650 14
|
人工智能 计算机视觉
首个多模态视频竞技场Video-MME来了!Gemini全面超越GPT-4o,Jeff Dean连转三次
【7月更文挑战第7天】Video-MME,首个多模态视频基准,由中国多所大学的研究团队推出,挑战了AI模型在视频理解上的能力。Gemini 1.5 Pro在评估中超越GPT-4o,平均准确率75.7%。此基准强调视频多样性、时间持续性、多模态输入和高质量标注,揭示了模型在动态场景中的潜力和局限性。**
662 1
|
资源调度 数据可视化 安全
一文搞懂:全网最全卡方检验汇总
一文搞懂:全网最全卡方检验汇总
2253 0