首页 > 解决方案 > 如何在C#中计算Macauley修改的持续时间?

问题描述

我想在 C# 中实现这个公式。

Excel 中使用的 MDURATION 公式

=MDURATION(43860,44233,0.2,0.19,2,3)

有这个功能或包吗?

标签: c#excel-formuladuration

解决方案


您可以使用NuGet Package: ExcelFinancialFunctions:

using Excel.FinancialFunctions;


DateTime start = new DateTime(1900, 01, 01);
double modifiedDuration = Financial.MDuration(
    start.AddDays(43860), 
    start.AddDays(44233), 
    0.2, 
    0.19,
    (Frequency)2, 
    (DayCountBasis)3);


推荐阅读