QuantLib 1.38版本发布:金融量化库的重要更新
项目简介
QuantLib是一个开源的金融量化计算库,广泛应用于金融衍生品定价、风险管理、投资组合优化等领域。它提供了丰富的金融工具模型和数学计算方法,是量化金融领域的重要基础设施。QuantLib采用C++编写,同时提供了多种语言的接口,包括Python、R等,使其在学术界和工业界都得到了广泛应用。
1.38版本核心更新
日期与日历系统改进
在金融计算中,准确的日期处理至关重要。QuantLib 1.38对Schedule类进行了重要改进,现在当启用月末调整(end-of-month)时,该类会正确遵守用户指定的营业日调整规则,而不再强制使用Modified Following惯例。这一改变使得日期计算更加灵活和符合用户预期。
此外,版本更新还增加了多个地区的节假日数据:
- 中国2025年节假日
- 泰国2025年节假日
- 香港2025年节假日
这些更新确保了相关地区金融产品定价的准确性。
指数类改进
1.38版本对通胀指数进行了重要重构。现在,年同比通胀指数(year-on-year inflation indexes)可以(且应该)在不使用interpolated标志的情况下构建。与零息通胀指数类似,插值计算被移到了使用这些指数的息票中。这一变化使得指数使用更加一致和灵活。
同时,修复了已停用的EUR LIBOR指数的过时惯例,确保历史数据分析的准确性。
金融工具与定价引擎增强
本次更新引入了多项新功能和改进:
-
新增部分时间障碍看跌期权:扩展了障碍期权的种类,为复杂衍生品定价提供了更多选择。
-
OvernightIndexFuture类通知机制修复:现在该类能够正确接收凸性报价和估值日期变化的通知,提高了计算准确性。
-
BlackCallableFixedRateBondEngine修正:修复了该实验性引擎在评估嵌入式期权时未能正确考虑折现的问题。
-
多项实验性功能迁移至核心库:包括多种期权类型及其定价引擎,如Holder可扩展期权、Writer可扩展期权、部分时间障碍期权、双资产障碍期权、双资产相关性期权等,标志着这些功能的成熟和稳定。
期限结构增强
-
DepositRateHelper和FraRateHelper改进:现在可以通过指定固定日期而非期限来构建这些辅助类,提供了更大的灵活性。
-
跨货币基差互换辅助类增强:现在可以传递隔夜指数和相应的支付频率,还可以指定支付延迟,满足更复杂的交易结构需求。
-
全局引导优化功能扩展:惩罚函数现在可以接收曲线节点作为参数,使得曲线平滑度优化成为可能。还支持指定额外的优化变量,如期货凸性调整。
-
新增分段远期利差期限结构:为利差曲线建模提供了新的工具。
未来变化预告
-
ext::any和ext::optional默认实现变更:下一版本将默认从Boost实现切换到标准实现,虽然Boost版本仍可使用但已被标记为废弃。
-
SimpleQuote类可能变为final:如果用户代码中有继承自SimpleQuote的类,需要提前做好准备。
废弃特性
-
移除1.33版本已废弃的功能:包括Currency类及其Data嵌套类中接受格式字符串的构造函数,以及相关的format方法和数据成员。
-
废弃年同比通胀指数的interpolated参数构造函数:建议使用其他构造函数替代。
-
废弃部分实验性头文件:随着相关功能迁移至核心库,对应的实验性头文件被标记为废弃。
技术影响与建议
QuantLib 1.38版本的更新主要集中在三个方面:功能增强、错误修复和架构改进。对于现有用户,建议:
-
检查是否使用了将被废弃的功能,特别是通胀指数构造方式和货币格式化相关代码,及时进行迁移。
-
评估是否可以从新迁移至核心库的功能中受益,这些功能经过充分测试已经达到生产环境可用状态。
-
关注未来变更预告,特别是SimpleQuote可能变为final的影响,提前规划代码调整。
对于新用户,1.38版本提供了更丰富、更稳定的金融工具集合,是开始使用QuantLib的良好起点。特别是新增的部分时间障碍期权和分段远期利差期限结构等特性,为复杂金融产品建模提供了更多可能性。
QuantLib持续演进的方向表明,项目正在向更标准化、更稳定的方向发展,同时保持对前沿金融建模需求的响应能力。这使得它仍然是量化金融领域不可或缺的工具库之一。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0188
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0112
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java03
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08