python计算网络借贷和分期的年利率
一、现金分期年利率
现在很多人都有使用网上借贷,动不动就消费分期。经过了解很多对贷款利率有一些误解,粗看觉得产生的利息也不是很高,但是年化利率到第是多少,这里面的玩法是怎样的呢。
拿某个借贷平台举例,比如借款10000元,分12期还完。每月需要还款约912.69。
图片不完全,每个月金额差不多,12期
不仔细分析的话,很多借款平台有显示出借款的日利率是多少,而消费分期一般往往只显示了每月还款数或利息数,利率是多少则自己经过一番计算。比如上面的例子按照表面的逻辑陷阱计算利率就是:952.38/10000=9.52%,也就是说年利率是9.52%。这样计算就错了。
实际利率计算是有现成公式的,这个涉及到货币时间价值的一些知识,公式计算如下:
其中,P为本金,F为每期现金流,r为月利率(内部收益率IRR)。有公式就好办了,Python的numpy有现成的IRR计算公式,分分钟搞定
import numpy_financial as npf # 计算内部收益率
irr = round(npf.irr([-10000, 912.69, 912.69, 912.69, 912.69, 912.69, 912.69, 912.69, 912.69 ,912.69, 912.69, 912.69, 912.79,]), 5)
print("内部收益率IRR = {}%".format(irr*100)) # 计算年化收益率(复利公式)
pa = round((irr+1)**12 - 1,4)
print("实际年化贷款利率 = {}%".format(pa*100))
运行结果为:
内部收益率IRR = 1.428%
实际年化贷款利率 = 18.55%
年化利率为复利(利滚利),因此用这个公式:
所以你看到了吧,实际的年化利率是18.55%,而不是9.52%。
二、定投收益率计算
A和B两个人都去买基金,他们都有10000块钱。
A定投,每个月投资833.33块钱,投了12个月,总投资10000,最终金额是10952,最终收益率=(10952-10000)/10000=9.52%;
B一次性购买,第一个月就购买了10000,12个月后最终金额也是10952,最终收益率=(10952-10000)/10000=9.52%;
最终他们的年化收益率是多少呢?
B很明显,就是9.52%,但是A呢?他第11个月投入的833.33才放了一个月而已,你要让这部分的钱收益算成是12个月的,这样算年化收益是有问题的。
那应该怎么算呢?就是IRR公式,打开Excel表格,将每个月投入和最终金额输入,然后使用=IRR(B1:B13)这个公式。
但这里计算出来的是每期收益率,我们应该算一下年化收益=(IRR(B1:B13)+1)^12-1
对,没错,这个才是A的真实年化收益率18.03%,接近B的9.52%两倍!!!
当然下次如果有类似每月同样金额然后计算最终收益率,如果你不想这么麻烦,毛估估直接*2也是没太大问题的
python的计算方法如下:
import numpy_financial as npf profile = npf.irr([833.33, 833.33, 833.33, 833.33, 833.33, 833.33, 833.33, 833.33, 833.33, 833.33, 833.33, 833.33, -10952])
print (profile)
print(pow(profile+1, 12) - 1)
运行结果如下:
0.013911869738689298
0.18032739694153732
总结:大部分的网贷(指大平台日利率5%左右的),信用卡的账单分期和现金分期,平均年利率基本就是接近18%。所以使用要谨慎保持清醒的认识。
python计算网络借贷和分期的年利率的更多相关文章
- python之网络编程
本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道.FIFO.消息队列) 同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 共享内存(匿名的和具名的) 远程过程调用 ...
- python基础网络编程--转
python之网络编程 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道.FIFO.消息队列) 同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 共享内存(匿名的 ...
- 059 Python计算生态概览
目录 一.概要 二.导学 三.实践能力 一.概要 从数据处理到人工智能 实例15-霍兰德人格分析雷达图 从Web解析到网络空间 从人机交互到艺术设计 实例16-玫瑰花绘制 二.导学 纵览Python计 ...
- Python简单网络爬虫实战—下载论文名称,作者信息(下)
在Python简单网络爬虫实战—下载论文名称,作者信息(上)中,学会了get到网页内容以及在谷歌浏览器找到了需要提取的内容的数据结构,接下来记录我是如何找到所有author和title的 1.从sou ...
- [转载] python 计算字符串长度
本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函 ...
- 2015年p2p网络借贷平台的发展现状
2015年春暖花开,莺飞草长,股市大涨大跌起起落落,P2P网络借贷收到越来越多的人关注,P2P网络借贷平台是p2p借贷与网络借贷相结合的金 融服务网站,这么多P2P网络借贷平台排我们应该如何选择呢?小 ...
- Python计算斗牛游戏的概率
Python计算斗牛游戏的概率 过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛.在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都是看运气(专业术语是概率). ...
- 读书笔记汇总 --- 用Python写网络爬虫
本系列记录并分享:学习利用Python写网络爬虫的过程. 书目信息 Link 书名: 用Python写网络爬虫 作者: [澳]理查德 劳森(Richard Lawson) 原版名称: web scra ...
- python获取网络时间和本地时间
今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释. python获取网络时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
随机推荐
- ES6 之 Object 的方法总结
阅读:Object 1.obj的"." 或 "[]"方法 读取对象的属性或方法 对象属性的读取:ES6中被Proxy的get(target, propKey, ...
- VUE- 异步等待方法嵌套
VUE- 异步等待方法嵌套 vue在一个方法执行完后执行另一个方法用Promise来实现.Promise是ES6的新特性,用于处理异步操作逻辑,用过给Promise添加then和catch函数,处理成 ...
- 长篇Essay写作凑字数的小技巧
当一个留学党面对一篇5000字的essay,写一半之后却没法继续~这类的感觉是很多同学无法想象的!此时唯一的一个有效的方法:凑字数!但是essay写作怎么凑字数呢?如何写够5000字essay?下面我 ...
- 【LeetCode】160. 相交链表
题目 输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB ...
- java初学小项目-酒店客房管理系统
最近初次接触JAVA,感觉之前学的C语言很有用,跟着视频做了一个小项目-酒店客房管理系统 /* 酒店客房管理系统 */ import java.util.Scanner;//通过键盘来输入命令需要的引 ...
- idea排除要编译的文件
感觉应该有更好的方式.VS中可以右键文件从项目中排除 如果要恢复选中要恢复的文件,点击 +下的-即可
- h5-切割轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 工程日记之HelloSlide(1):Swift自定义可视化组件的方法(继承UIView和在StoryBoard中设置)
需求描述 HelloSlide是把文本自动转化成幻灯片的软件,在幻灯片中我们有SmartArt:各种各样的几何形状,并且可以自定义大小和颜色,放在幻灯片不同的位置. 为了在我们的软件中实现类似的效果, ...
- pycharm使用常见设置
字体修改: file——setting——Editor——font(快捷键:ctrl+alt+s) 修改项目编译器:a,b方法二选一 a.ctrl+alt+s,调出设置窗口——选中想要换的版本即可,如 ...
- Django1.11基础视图
Django视图 路由命名与reverse反解析 在项目urls中的include函数,使用namespace参数定义路由命名空间 url(r'^',incude('book.urls',namesp ...