【问题标题】:how to calculate Macauley modified duration in C#?如何在C#中计算Macauley修改的持续时间?
【发布时间】:2020-01-30 07:03:43
【问题描述】:

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

Excel中使用的MDURATION公式

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

有这个功能或包吗?

【问题讨论】:

  • MDURATION 的公式是什么?你有没有尝试过任何事情?向我们展示您的尝试
  • 我找到了this repo 的 Excel 函数的 Java 实现。如果您要将其转换为 C#,这可能是一个起点。
  • 我不会添加这个作为答案,因为库建议是题外话,但似乎有一个 .NET NuGet 包可能(我尚未检查)实现它:ExcelFinancialFunctions跨度>
  • 需要导入这个excel命名空间Microsoft.Office.Interop.Excel然后使用public double MDuration (object Arg1, object Arg2, object Arg3, object Arg4, object Arg5, object Arg6);
  • 你有这方面的例子吗?

标签: c# excel-formula duration


【解决方案1】:

你可以使用NuGet PackageExcelFinancialFunctions

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);

【讨论】:

    猜你喜欢
    • 2013-03-07
    • 2016-01-18
    • 1970-01-01
    • 2012-06-15
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多