C#, Python, Web開発

プログラミングやデータ分析のことなどを書いています。

C# 複利計算でトータルリターンを算出

C# を使って、複利計算でトータルリターンを算出する方法を書いていきます。

今回の例では、年間収益率からトータルリターンを求めていきます。

注意事項

浮動小数点演算などの誤差があります。

コード例

以下のメソッドに年間収益率を渡すと、トータルリターンが算出できます。

public class Calc {
  public static double CompoundRtn(List<double> rtns) {
    // 複利計算でトータルリターンを算出
    var factor = 1.0d;
    foreach (var rtn in rtns) {
      factor *= (1 + rtn);
    }
    return factor - 1.0d;
  }
}

動作確認用のコード

動作確認用のコードは以下の通りです。

// 年間収益率を用意(73.3%, 86.1%, -23.5%)
var rtns = new List<double> { 0.733, 0.861, -0.235 };

// トータルリターンを算出
var tr = Calc.CompoundRtn(rtns);

// 結果の確認(146.72%)
Console.WriteLine($"{tr:P2}");

実行

上のコードを実行すると、以下の文字列が出力されます。

146.72%