python npv 计算公式_Python中IRR的计算
我写了一些代码来计算内部收益率,结果很好。。。在import scipy.optimize as optimize
import datetime
def npv(cf, rate=0.1):
if len(cf) >= 2:
first_date = min([x[0] for x in cf])
dcf = [x[1] * (1 /
((1 + rate) ** ((x[0] - first_date).days / 365))) for x in cf]
return sum(dcf)
elif len(cf) == 1:
return cf[0][1]
else:
return 0
def irr(cf):
f = lambda x: npv(cf, rate=x)
r = optimize.newton(f, 0, maxiter=70)
return r
…但当我尝试这种现金流时
^{pr2}$
我得到这个错误:File "/Users/maxim/Dropbox/Python/FinProject/fintrack/main/models.py", line 503, in getIRR
return irr(cf)
File "/Users/maxim/Dropbox/Python/FinProject/fintrack/main/models.py", line 37, in irr
r = optimize.newton(f, 0, maxiter=70)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/scipy/optimize/zeros.py", line 204, in newton
q1 = func(p1, *args)
File "/Users/maxim/Dropbox/Python/FinProject/fintrack/main/models.py", line 36, in
f = lambda x: npv(cf, rate=x)
File "/Users/maxim/Dropbox/Python/FinProject/fintrack/main/models.py", line 27, in npv
((1 + rate) ** ((x[0] - first_date).days / 365))) for x in cf]
File "/Users/maxim/Dropbox/Python/FinProject/fintrack/main/models.py", line 27, in
((1 + rate) ** ((x[0] - first_date).days / 365))) for x in cf]
OverflowError: complex exponentiation
[30/Nov/2018 21:28:36] "GET /inv/19/ HTTP/1.1" 500 299065
但是我知道正确答案是-38.912….%我是通过Excel得到这个结果的。
这里怎么了?用Excel的其他函数得到相同的结果。。。我应该使用其他函数来查找参数吗?在
注:以下是迭代的参数和结果列表(财务中的OMG复数%—):rate= 0.0 result= -46148.94
rate= 0.0001 result= -46151.281226688276
rate= -1.9711435988300456 result= (-54972.27265283515-4141.40178622848j)
rate= (8.450859228811169-3.967580022971747j) result= (-51089.96465099011+0.07614432462298902j)
rate= (46.548868303534285-96.82120737804672j) result= (-51089.93999938349-9.638432563347345e-07j)
rate= (63880696.05472335+4880892.707757121j) result= (-51089.94-1.7420169038104924e-34j)
rate= (-1.3534185437764045e+18-2.52038641964956e+18j) result= (-51089.94-5.721141417411886e-85j)
rate= (-7.391799165398238e+56+3.969311207511089e+56j) result= (-51089.94+9.185514002355334e-269j)
rate= (3.5446051170119047e+145+6.600895665730368e+145j) result= ERROR!!!
python npv 计算公式_Python中IRR的计算相关推荐
- python npv 计算公式_Python numpy 中常用的数据运算
Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.--<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...
- python npv 计算公式_Python for NPV and IRR
计算NPV和IRR,可以直接调用numpy或是numpy-financial模块的npv()和irr()函数,具体请移步https://www.jianshu.com/p/91b0ee7a98c8 . ...
- python npv 计算公式_python – IRR实现中使用的数值方法是什么?
ActiveState Recipes站点具有在Python中实现 Internal Rate of Return的功能: def irr(cashflows,iterations=100): &qu ...
- python npv 计算公式_python数据分析进阶之路(二)----Numpy进阶
简单应用 矩阵创建及运算 1.手动创建矩阵 np.mat('str') 利用mat('字符串')函数创建矩阵,其中字符串的 表示中,矩阵的行与行之间用分号隔开,行内的元素之间用空格隔开. b = np ...
- python 数据结构包_python 中numpy科学计算工具包——基础数据结构
认识numpy基础数据结构 # 认识数组 ar = np.array([[1,2,3,4,5],[6,7,8,9,10]]) br = [[1,2,3,4,5],[6,7,8,9,10]] print ...
- python数字计算公式_Python中数字以及算数运算符的相关使用
Python数字 数字数据类型用于存储数值. 他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象. 当你指定一个值时,Number对象就会被创建: var1 = 1 var2 = 1 ...
- python基本统计量_Python中简单统计量的计算
本篇文章给大家带来的内容是关于Python中简单统计量的计算,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.这些操作都要确保已经在电脑中安装好了Anaconda集成库,如果安装好 ...
- python map用法_Python中ChainMap的一种实用用法
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 简而言之ChainMap:将多个字典视为一个,解锁Python超能力. Python标准库中的集合模块包含 ...
- python数字计算公式_python数的运算
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 什么是运算符? 本章节主要说明python的运算符. 举个简单的例子4 +5 = ...
- python power函数_python中pow函数的用法_python中pow函数用法及功能说明
幂运算是高更数学的应用学科,是一种关于幂的数学运算.同底数幂相乘,底数不变,指数相加.同底数幂相除,底数不变,指数相减.幂的乘方,底数不变,指数相乘.适用于精确计算领域. 计算机作为精确计算的一种方式 ...
最新文章
- 【权值分块】bzoj1503 [NOI2004]郁闷的出纳员
- java B2B2C Springboot仿淘宝电子商城系统-负载均衡之ribbon+feign
- 从CSDN的趣味题学PYTHON
- 【mycat】读写分离
- python内积 卷积
- C++:顺序表的基本操作(待完善)
- utils C/C++的常用工具类
- sqlserver迁移数据到mysql_SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql
- php 置cookie,另:(Cookie.php)cookie操作
- 新产品Wyn Enterprise 详解,立即预约公开课
- 智能门禁考勤机:刷脸同时开门和打卡
- java gui 保存文件_用JAVA编写一个GUI记事本程序,实现文本的输入,保存,修改,打开操作...
- 免费下载遥感数据的网址
- 电脑记事本中文都乱码了解决方法
- it试用评估_it员工转正自我评价
- erp软件的优点和用途
- 这个夏天,飞到北纬18°去玩海——带着小样儿去三亚(二)
- 总结移动开发入行十周年
- (轉貼) 千頭萬緒 : 學習多執行緒程式設計的好書 (.NET) (Java)
- GSR2501国产2.4G PA替代RFX2401C,AT2401C,RT201
热门文章
- 关于城市旅游的HTML网页设计 HTML+CSS+JS学生旅游网页设计与实现
- 2020.12.28Excel(数字到BZZ)
- $('xx')[0].files[0]的意思
- 很多网友问那个磁力搜索站好用,就由本君说说吧!
- Yii使用 case when 来模糊排序查询
- DHT11修改stm32引脚的笔记
- oracle同义词很慢,通过问题长知识----ORACLE同义词
- CTF 每日一题 Day39 达芬奇密码
- 几行代码教你轻松瓜分双十一20亿红包
- echarts柱状图显示百分比