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 ...
随机推荐
- css怎么让图片垂直左右居中?(外层div是浮动且按照百分比排列)
一.原始的居中方法是把div换成table <div style="width: 500px; height: 200px; border: solid 1px red; text-a ...
- gem5-gpu全系统模式
# 注意:安装好gem5-gpu后再配置全系统环境 # 下载全系统模拟需要的工具,详见http://gem5.org/Running_gem5#Full_System_.28FS.29_Mode,将L ...
- 最小编辑距离python
1 什么是编辑距离在计算文本的相似性时,经常会用到编辑距离(Levenshtein距离),其指两个字符串之间,由一个字符串转成另一个所需的最少编辑操作次数.在字符串形式上来说,编辑距离越小,那么两个文 ...
- Day 14:FileInputStream、FileOutputStream
File类: 用于描述一个文件或者文件夹的. 通过File对象我们可以读取文件或者文件夹的属性数据,如果我们需要读取文件的内容数据,那么我们需要使用IO流技术. IO流(Input Output) I ...
- 第一部分 JavaScript语言核心(二)
第四章 表达式和运算符 P66 运算符优先级,从上到下: p68 属性访问表达式和调用表达式的优先级比运算符优先级都要高,eg: typeof my.functions[x](y) //typeof在 ...
- caffe 官方demo python api
Jupyter https://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/net_surgery.ipynb 涉及: - ...
- Android-寒假学习-阶段总结(20集)-口算测试APP
说在前面: 1.视频教程:https://www.bilibili.com/video/av60445113/?spm_id_from=333.788.videocard.0 2.老师的源码:http ...
- oracle查询语句注意事项:
我想查出datatype 不等于1的所有结果,包括空. '; //这条sql查不出datatype为空的数据 发现oracle需要使用 is null .is not null查询空或非空 ' ...
- c++ STD Gems07
reverse.rotate.permutation #include <iostream> #include <vector> #include <string> ...
- HttpServlet中文乱码问题
客户端提交数据给服务器端(Requset) 如果数据中带有中文的话,有可能会出现乱码情况,那么可以参照以下方法解决. 如果是GET方式 1.代码转码 String username = request ...