问题标签 [irr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
42 浏览

python - 有没有办法在 PuLP 中实现 IRR 算法?

Numpy 有一个函数可以让我计算浮点数组的 IRR。我的问题是我试图在 PuLP 问题中使用它,而我想传递给函数的数组由问题的变量组成。我在这

这段代码不起作用,因为 numpy.irr 需要一个浮点数组,而我将一个 LpAffineExpressions 数组传递给它。我的问题是,有没有办法以某种简单的方式实现这一点?我曾尝试手动实现该算法,但我无法在 PuLP 约束定义中执行此操作。

0 投票
1 回答
121 浏览

excel - 从变体类型转换为 IRR 双精度类型数组

对不起,如果这个问题很愚蠢,因为我是 VBA 新手。

问题一开始就出现了,因为 excel IRR 无法计算模拟中的变化列(仅计算初始值而不是以下循环中的值)。所以我选择了 VBA IRR 函数,但它的双数组要求似乎是另一个主要问题。

当我尝试将范围读入变量数组,并以某种方式将每个数组元素转换为双精度类型,然后在 VBA IRR 函数中使用它们时,代码仍然显示“类型不匹配”。我也尝试过数组,但同样的错误结果。

有没有办法让工作表 IRR 与更改单元格一起工作,或者将变体数组转换为使 VBA IRR 工作的双精度数?

这是代码:

0 投票
1 回答
679 浏览

python - Python IRR 函数给出的结果与 Excel XIRR 不同

我正在使用以下函数通过 Python 执行 IRR 计算:

函数来源:https ://2018.pycon.co/talks/personal-pynance/personal-pynance.pdf

几个月来,这个函数完美地适用于各种不同的现金流和日期,我得到了与 Excel 的 XIRR 函数相同的结果。然而,突然间,下面的现金流和日期列表停止工作,我得到的结果与 Excel 的 IRR 公式(这是正确的和预期的公式)不同:

我在 Python 中得到的结果是0.0001,而在 Excel 中我得到-0.71,我不知道我在这里缺少什么。也许有人有想法?!??!

0 投票
1 回答
166 浏览

r - 如何从 irr 输出生成 r-markdown 的汇总表(flextable)?

我使用 irr 包运行了 3 种不同的 Kappa2 分析。

有没有一种好方法可以将输出摘要生成为 r markdown 的表示表(如果可能,则为弹性表)?我正在寻找一个表格:Analysis 1、Analysis 2 和 Analysis 3 作为行。主题、评分者、Kappa、z 和 p 值作为列。

0 投票
0 回答
51 浏览

performance - 缺乏性能 - MWR Dietz 方法

我一直在开发一个负责投资组合历史数据处理的.NET 5应用程序。它基本上通过运行后台服务来编排计算,该服务在处理结束时将数据写入AWS Aurora内的MySQL 5.7.12数据库。

数据库建模由 4 个主表表示:3 个其列是通过 REST API 从外部数据集请求数据写入的,1 个其列是根据前 3 个表的数据计算和写入的。

由于应用程序处理大量数据,几乎所有计算都是通过使用数学技巧完成的,其中包括使用当前参考日期的数据以及前一天的数据。通过这样做,应用程序可以节省计算资源并变得更加高性能。

但是,由于修改后的 Dietz 方法需要自投资组合创建以来的数据,因此无法使用此技巧进行货币加权收益率计算。

澄清一下,之所以选择修改后的 Dietz 方法,是因为最常见的内部收益率计算不适合公司的财务需求。

因此,公式如下所示:

两个SUMS都在日期间隔(从第一个日期到参考日期)和Weight_i = ni/n上定义,其中n = 现金流列表的长度。

获取InitialBalanceCurrentBalance不是问题,但与之相关的整个历史CashFlows是。

强调一下,没有任何数学技巧可以从MWR_nMWR_n+1仅使用参考日期和前一天的数据以及每次应用程序处理新的从整个历史记录中获取所有数据的操作一天离表演还很远。

考虑到这一点,我需要帮助来改进(或设计新的)解决方法。

为了使应用程序能够在不影响性能的情况下计算 MWR,可以做些什么?

自投资组合创建以来,在不构建定时炸弹的情况下获取数据的可能解决方案是什么(每个处理都会检索整个数据历史记录,因此随着时间的推移,需要更多数据)?

如今,公司一般如何使用改进的 Dietz 方法计算MWR

提前致谢。

0 投票
1 回答
106 浏览

python - 需要帮助在 python 中为每项投资在不同日期计算不同投资的 IRR

我需要帮助计算不同投资的 IRR,以及这些投资在不同时间的 IRR。

所以有一个看起来像这样的数据框:

日期 投资 流动
2012-05-12 1 -50
2013-09-04 1 100
2014-05-05 1 300
2013-09-04 2 -700
2015-05-12 2 1000
2012-04-04 3 100
2013-05-12 3 -50
2013-09-04 4 -60

另一个看起来像这样

日期 投资 库存
2012-09-05 1 400
2014-05-05 1 600
2014-05-05 2 300
2013-09-04 2 800
2012-09-14 3 1000
2013-09-05 4 6000

因此,我想创建多个数据框,其中包含每个投资的流向,直到我获得有关股票的信息的日期,最后一行包含该日期的股票。例如,我对投资 1 的股票有 2 个观察结果,所以我应该为投资 1 创建 2 个数据框,如下所示:

日期 投资 流量+库存(最后一行)
2012-05-12 1 -50
2012-09-05 1 400
日期 投资 流量+库存(最后一行)
2012-05-12 1 -50
2013-09-04 1 100
2014-05-05 1 300
2014-05-05 1 600

对于投资 3,假设我对股票只有一个观察结果,应该只有 1 个如下所示的数据框:

日期 投资 流量+库存(最后一行)
2012-04-04 3 100
2012-09-14 3 1000

鉴于我有很多数据,手动创建每个数据框很麻烦,而且我希望此代码在我有新信息时更新 IRR。我想这样做是因为我想查看每个日期的 IRR 演变,因为我拥有每项投资的股票信息。有点像投资的内部收益率时间序列。我将使用创建的数据框计算 IRR。

我已经尝试为每项投资对我有股票信息的日期进行排名,但循环有问题。

非常感谢你

编辑:根据 Henry Ecker 的要求,这是合并数据库的示例。

0 投票
1 回答
265 浏览

python - 在python中计算IRR函数的循环问题

我在 python 中计算函数时遇到问题。我想计算一些投资的 IRR,所有这些投资都在他们自己的数据框中进行了描述。在某个日期之前,我为每项投资都有一个数据框,因此我有一个多个数据框,用于描述在每项投资的不同日期之前投资已完成的付款流,每个数据框的最后一行包含股票的信息到那时为止,每项投资所拥有的资本。我这样做是为了获得每项投资的 IRR 时间序列。我要计算 IRR 的每个数据框都在一个列表中。

为了计算每个数据帧的 IRR,我做了这些函数:

因此,为了计算列表中每个数据帧的 IRR,我做了:

输出是我想要创建的数据框,其中包含我想要的信息,即直到某个日期之前每笔投资的 IRR。问题是,它可以正确计算某些数据帧的 IRR,但不能正确计算其他数据帧。例如,它为此数据帧正确计算 IRR:

内部收益率为 0.215。但是这个数据框,对于完全相同的投资,它没有。它返回 0.0001 的 IRR,但实际的 IRR 应该在 0.216 左右。

除了最后一行之外,这两个数据框具有完全相同的流量,其中包含了该投资截至该日期的资本存量。所以这两个数据帧之间的唯一区别是最后一行。这意味着该投资在此期间没有任何流入或流出。我不明白为什么内部收益率变化如此之大。或者为什么某些 IRR 计算不正确。

大多数计算正确,但少数计算不正确。

谢谢你帮助我。

0 投票
1 回答
282 浏览

javascript - 使用 Javascript 计算 IRR

我有这段代码来计算 IRR(内部收益率),它的工作原理类似于 Excel 中的 IRR 函数(我们有现金流值和猜测率)。

这工作正常,我的结果与 Excel 函数相同,但是当 IRR 税大于 100% 时,此函数不起作用。我得到的最大值是 100%。

我需要更改什么才能获得大于 100 的值?

0 投票
2 回答
115 浏览

python - R中的“irr”包计算的加权Kappa是否错误?

我发现irr包有 2 个用于计算weighted kappa.

请告诉我这两个错误是否真的存在,或者我误解了一些东西。

您可以使用以下示例复制错误。

第一个错误:需要更正混淆矩阵中的标签类型。

我有 2 对疾病程度分数(从 0 到 100,0 表示健康,100 表示极度不适)。

label_test.csv(您可以将数据复制并粘贴到磁盘中以进行以下测试):

pred_test.csv

script_r.R

当我Python用来计算kappaandweighted_kappa时,在script_python.py

我们可以发现,kappa计算的 byRPython是相同的,但是weighted_kappafromR远低于weighted_kappain sklearnfrom Python。哪个是错的?经过2天的研究,我发现weighted_kappafrom irrpackage inR是错误的。详情如下。

在调试过程中,我们会发现from中的混淆矩阵irrR

在此处输入图像描述

我们可以发现顺序是错误的。在 Python 中,标签的顺序应该从 更改[0, 1, 14, 3, 4, 53, 54, 6]为。[0, 1, 3, 4, 6, 14, 53, 54]似乎该irr包使用了基于字符串的排序方法而不是基于整数的排序方法,它将14放在3. 这个错误可以而且应该很容易地纠正。

第二个错误:R 中的混淆矩阵不完整

在我的pred_test.csvandlabel_test.csv中,这些值不能涵盖从 0 到 100 的所有可能值。因此 from 中的默认混淆矩阵irrR错过那些未出现在数据中的值。这应该是固定的。

让我们看另一个例子。

pred_test.csv中,让我们将标签从 更改5499。然后,我们一次script_r.R又一次地跑script_python.py。结果是:

我们可以发现weighted_kappafrom irrinR完全没有变化。但是weighted_kappasklearninPython减少到0.83to 0.59。所以我们知道irr又犯了一个错误。

原因是sklearn可以让我们将 传递full labels给混淆矩阵,使混淆矩阵的形状为 100 * 100,但是在 中irr,混淆矩阵的标签是根据 和 的唯一值计算的labelpred这会错过很多其他的可能的值。53这个错误会给和这里分配相同的权重99。所以最好在irrpackage 中提供一个选项,让客户提供他们在fromlabels中所做的那样的客户。sklearnPython

0 投票
1 回答
73 浏览

python - 从 panda 数据帧计算多个 IRR

我有一个包含 4 列的 Panadas 数据框(公司、今天的价格、现金流 y1、现金流 y2、现金流 y3(即终值)):

代码 价格 0 1 2
谷歌美国 -2380 0 0 4074.94
美国亚马逊 -3265 0 0 5765.09
FB-美国 -327 0 0 513.819

等〜100个股票

有没有办法使用价格列中的数据进行简单的 IRR 计算,0,1,2 在年度期间(i.e. t0, t1, t2, t3)

谢谢!