Py学习  »  Python

Python测算女朋友还完花呗多久后吃土

Python中文社区 • 5 年前 • 727 次点击  

--  Illustrations by Nikopicto . --

本文约2000字,阅读需要6分钟,关键词:Python  蒙特卡洛模拟  数据 Echarts。本文为城市数据团投稿作品,文末有文中示例代码分享~

七夕前夕,我的暗恋对象邀我共进晚餐,这把我激动的~!!!万年单身的我终于可以不再寂寞了!


去了才知道,原来她被闺蜜们放了鸽子,奈何近期有喜事,需要找人一起喝酒,所以才有了我的出现。


当然我还是珍惜这难得的机会,到底是什么事如此迫不及待呢?主要有三件:

  1. 暗恋对象最近学习了python数据分析,换了一份月薪1W的工作,成为了一名优秀的数据分析师,并且公司每月会根据绩效给予1500元左右的奖金;

  2. 暗恋对象在世界杯期间,参与了体育竞猜游戏,幸运地选中了法国队,还清了蚂蚁花呗巨额欠款;

  3. 暗恋对象说,有钱了,可以随心所欲地浪,不用再担心还不起花呗吃土了,所以今天她请客。


对于前两件事,无疑是难得的。但第三件,为了防止她过度挥霍导致债台高筑,我决定用Python进行一次模拟测算,默默提醒她,体现我的贴心。


利用刚学会的蒙特卡洛原理,我决定建立收入支出模型进行测算:如果当月全部花费全部由花呗支付,当当月花呗欠款大于当月可支出收入时,就要“吃土了”。预设计算120个月(十年),假如十年都没能够吃上土,那就代表愿望成真


  收入多少:每月净收入模型 


每月的净收入公式如下:

净收入=月薪-五险一金+奖金-个人所得税

其中,五险一金基数为月薪,个税基数为扣除五险一金后,月薪与奖金的和。


上海市五险一金缴纳系数:


个税政策:


奖金的数学模型设为以1500元为均值、200元为标准差的正态分布:


据此,用python建立计算每月净收入的模型如下:


  花费多少:每月开支模型 


根据暗恋对象的自述和我对她的深刻了解,我模拟出了她每月开支的模型。

基本生活支出

以她奢侈的生活,一天100不在话下,但由于是基本支出,变化也不会太大。我设定以3000元和3500元为限,均匀分布

 

购物支出

暗恋对象有句名言,“工资一分二,购物拿一半。”所以,模型设定为以5000元为均值,500元为标准差的正态分布

娱乐支出

暗恋对象闺蜜众多,每周一次的girl’s night是不能少的,一次至少花个100,多则300不过分吧。所以,模型设定以400元和1200元为限,均匀分布

学习支出

爱学习应该是暗恋对象少有的优点,某在线平台课程价格大概在100元到500元不等。所以,这个也可以设定个均匀分布的模型。

其他支出

每个月总会有些意外什么的,比如出门掉了个钱包等等。所以,为了计算尽可能接近真实,我设定500元为均值,40元为标准差的正态分布模型

综上,总支出=基本生活+购物+娱乐+学习+其他

啧啧,大概是一名挥霍无度的月光少女吧



  是否吃土:每月收支模型 


下面,我们正式开始模拟每月的收支情况,看看要不要吃土。


整理几个约束条件

  1. 每月先还欠款,再消费。

  2. 所有的支出除还款外,都可以使用花呗透支。

  3. 当这月的收入小于等于需要还款的金额,就代表你要吃土了


第一回合:不使用分期功能

当月支出,下月需全部还清。算法模型如下:

 


为了使结果更为精确,结合以上收支模型我进行了1万次模拟,模拟的过程是这样的:


模拟结果如下:


横坐标代表第x个月要吃土;柱形图高度h代表1w次模拟中,结果恰好为第x个月要吃土的模拟次数


显然,在不分期借贷的情况下,她几乎会在一年后面临吃土,而最快只要6个月。那么,可以分期会不会好一点呢?


第二回合:允许分期


分期相当于把当月需要还的款项分摊到之后数个月,当月的负担减小了,但代价是支付一定的利息。此时我快速翻出了花呗的利率表:


蚂蚁花呗的利率表:



看明白了吗?数学好的可以仔细算算。现在余额宝年化3.5%,而花呗分期~~

10%!!!!


如果每期欠款都做分期偿还,则算法模型如下:

 


同样一万次模拟~

先来看看分期三月的情况:

 

果然效果显著,大大延缓了吃土的日子,可以尽情挥霍20个月。


分期六、九个月和一年的情况分布在图上是这样的: 

 

 


 

注意图上标注的“平均XX个月后吃土”。结果已经很明朗了,虽然没有达到预定的十年吃不上土的标准,但是分期时间越长,可以尽情挥霍不吃土的时间就越长,表明通过透支、借贷,能够大大延缓面临吃土的时间。挥霍四年才会破产,已经大大地出乎我的意料。并且我相信,我在这段时间内能靠自己的天分从“高帅”变成“高富帅”,她爱上我,嫁了我,吃土的问题就可以迎刃而解了!


曾经,有人和我说,“还完花呗,月月吃土!”,我现在通过测算,可以很肯定地说,这不存在!只要敢分期,不怕没钱花


......但是当我打开我的花呗首页时,我发现一个问题:我的信用总额度只有1.5万

我选取了分期十二个月、一万次模拟中的一次数据,看了下吃土前夕最后12个月欠款项总额:

 

有谁蚂蚁花呗额度是6万的?看她的样子就不像,只能继续研究下了


  考虑实际:有额度限制的收支模型 


这次我对分期十二月的算法增加一个限制,当未来12个月欠款金额大于等于1.5万,则剁手,不再使用花呗。我截取了额度用尽时的时间点。


图表显示,在第20个月额度用尽,未来12个月所需偿还的贷款总额为16544元。符合正常额度。而当月需还2291元,而后每月递减。2000元的还款绝对不会让我的暗恋对象吃土,只是,或许当月shopping额度就没那么多了。


当然,真实情境可能更为纠结,当月初还完款,总会有部分额度恢复,那么是不是又可以透支起来了呢?这真是满满的套路啊!


花呗会诱使你尽可能的使用完每一份额度,但绝不会允许你还不上。所谓“有了花呗,再也不用吃土!”只是挥霍无度,过度透支,但又乐在其中的错觉罢了。


  彩蛋:同时使用多个借贷平台?  


有些世外高人,想出了一个绝妙的主意:市面上借贷平台,又不止花呗一家,只要在手机上装上足够多的APP,没了花呗还有买呗、用呗…叠加起来,额度限制就不是问题了!


这…你肯定没有好好看文章,我来给你回顾下!


选取分期十二个月、一万次模拟中的一次数据:


第55月以后,需要还款的金额就超过了当月收入(开始吃土)图上是每个月需还款的数量。从此时开始是不能用借贷平台的,并且当月就需要还款9000+。

在这段令人忧伤的时间里,我建议任何想在刷爆边缘疯狂试探的小伙伴们学一首歌,捧一只碗,买一张地铁票,遨游一下上海的地下世界。


获取本文完整源码方式:

长按扫描关注下方二维码后回复“0823”即可


Python中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里、腾讯、百度、微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以公安部、工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为、BAT、谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。

投稿邮箱:pythonpost@163.com

欢迎点击申请成为专栏作者Python中文社区新专栏作者计划


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/d9vidEq7Td
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/22905
 
727 次点击