今日からはまた、新しいネタをRubyとHaskellで実装してみます。とはいっても、ネタはまたディスカウントファクターです。前回まで使っていたディスカウントファクターは、
![DF = \frac{PV}{FV} = \frac{1}{(1+r)^t}](https://chart.apis.google.com/chart?cht=tx&chl=%20DF%20%3D%20%5Cfrac%7BPV%7D%7BFV%7D%20%3D%20%5Cfrac%7B1%7D%7B%281%2Br%29%5Et%7D)
というものでしたが、実はこれは、利払いの頻度については年1回払いの複利、と決めてしまっています。
たとえば、年2回の利払い(半年複利)の場合は、利率がだいたい半分で、それが2回払われるわけですから、現在価値を1とすると、将来価値は、
![FV = (1+\frac{r}{2})^{2t}](https://chart.apis.google.com/chart?cht=tx&chl=%20FV%20%3D%20%281%2B%5Cfrac%7Br%7D%7B2%7D%29%5E%7B2t%7D)
となるので、
![DF = \frac{PV}{FV} = \frac{1}{(1+\frac{r}{2})^{2t}}](https://chart.apis.google.com/chart?cht=tx&chl=%20DF%20%3D%20%5Cfrac%7BPV%7D%7BFV%7D%20%3D%20%5Cfrac%7B1%7D%7B%281%2B%5Cfrac%7Br%7D%7B2%7D%29%5E%7B2t%7D%7D)
です。
これを一般化すると、年にn回利払いがある場合のDFは、
![DF = \frac{1}{(1+\frac{r}{n})^{nt}} = (1+\frac{r}{n})^{-nt}](https://chart.apis.google.com/chart?cht=tx&chl=%20DF%20%3D%20%5Cfrac%7B1%7D%7B%281%2B%5Cfrac%7Br%7D%7Bn%7D%29%5E%7Bnt%7D%7D%20%3D%20%281%2B%5Cfrac%7Br%7D%7Bn%7D%29%5E%7B-nt%7D)
と表すことができます。