8

割引キャッシュ フロー分析を可能にする Python 用の金融ライブラリを探しています。私は周りを見回して、やりたいことにはやり過ぎであるQuantLibを見つけました。必要なのは、一連のキャッシュ フローを入力し、正味現在価値と内部収益率を出力するために使用できる小さなライブラリだけです。誰かがこのようなものを持っているか、私がそれを見つけることができる場所を知っていますか?

4

2 に答える 2

12

完全を期すために、私は遅れているので、numpyには(非常に)基本的な財務計算のための関数がいくつかあります。numpy、scipy を使用して、R のように基本的な式から計算を行うこともできます。

キャッシュフローの正味現在価値

>>> cashflow = 2*np.ones(6)
>>> cashflow[-1] +=100
>>> cashflow
array([   2.,    2.,    2.,    2.,    2.,  102.])
>>> np.npv(0.01, cashflow)
105.79547647457932

内部レートまたはリターンを取得する

>>> n = np.npv(0.01, cashflow)
>>> np.irr(np.r_[-n, cashflow])
0.010000000000000231

基本だけ:

>>> [f for f in dir(np.lib.financial) if not f[0] == '_']
['fv', 'ipmt', 'irr', 'mirr', 'np', 'nper', 'npv', 'pmt', 'ppmt', 'pv', 'rate']

タイミングに注意する必要があります。

于 2010-08-25T02:57:51.003 に答える
3

本当に正味現在価値 (== キャッシュフローと割引係数のベクトルの内積) と内部収益率 (== 1 つの変数の単純な反復ルート検索) のみを計算したい場合は、コーディングするだけです。

私はRを Python よりもはるかに多く使用するため、R ソリューションを次に示します。

R> data <- data.frame(CF=c(rep(2,5), 102), df=1.01^(-(1:6)))
R> data
   CF     df
1   2 0.9901
2   2 0.9803
3   2 0.9706
4   2 0.9610
5   2 0.9515
6 102 0.9420
R> NPV <- sum(data[,1] * data[,2])
R> print(NPV)
[1] 105.8
R> 

これにより、キャッシュ フローと割引率の 2 列のデータ構造が設定され、積の合計として NPV が計算されます。したがって、1% のフラットな利回り曲線で 2% のクーポンを持つ (単純化した) 6 年債の価値は 105.80 になります。

IRR についてもほぼ同じことを行いますが、NPV をレートの関数にします。

R> irrSearch <- function(rate) { data <- data.frame(CF=c(rep(2,5), 102), 
                                 df=(1+rate/100)^(-(1:6))); 
                                 100 - sum(data[,1] * data[,2]) }
R> uniroot( irrSearch, c(0.01,5) )
R> irr <- uniroot( irrSearch, c(0.01,5) )
R> irr$root
[1] 2
R> 

したがって、フラットカーブの世界における 2% 債券の内部収益率の検索の「根源」は ... 当然のことながら 2% です。

于 2010-02-13T23:02:19.323 に答える