python turtle库画图,在python中用turtle模块画图
0
介绍
袖扣是一个视觉图书馆,无缝链接熊猫和plotly在一起。前者的数据框架在数据分析中无处不在,后者的交互性会进一步可视化。袖扣连接两者,必须理解。
首先,介绍可能需要的包。
importsimportpandas aspdimportnumpyasnpimportseabornassnimportmatplotlib . pyplotasplt % matplotlibinline
介绍袖扣软件包,别名CF。
将袖扣作为cf导入
如果选择离线模式并生成本地映像,它们将不会上传到这些系统。
cf.go_offline(
熟悉我的风格后,我知道我最喜欢的颜色。RGB设置如下。
color=[ RGB (220,38,36 ) ]、RGB(43、71、80)、RGB(69、160、162)、RGB(232、122、89)、RGB(145)
在袖扣中,曲线函数是df.iplot,虽然吃了几次,但是iplot函数的参数很多。一些参数描述如下。
种类:图表类型,如散点图、饼图、直方图等
图案:线条、标记和线条标记。分别表示折线、点、折线、点。
颜色:对应于轨道的颜色。
Dash)对应的是赛道的虚实线、实线、破折号和dashdot。
宽度:轨道厚度
XTitle:横坐标名称
YTitle:纵坐标名称
标题:图表标题
我现在在学袖扣。也就是说,我在学习新的东西。从一开始就看不到与之相关的一切。没有时间和精力。我只是用袖扣处理具体的任务,然后找到合适的知识点来完成任务。
我们今天的任务是将信贷组合形象化。
样本组合
考虑一个有100个不同贷方的“样本投资组合”。有三个假设。
的总规模为1000,这意味着每个贷方的平均“敞口”为10。
实际开放度按照威布尔分布模拟,范围从1到小于50。
贷款人无条件违约概率按照卡方分布模拟,平均值设为1%。
我模拟了默认利率和open saving为numpy格式的两个文件,加载到变量P和C中进行保存,其中n是借款人数,100。
DP file=OS . getcwd((\ defaultprobabilities . npy exp file=OS . getcwd))\ exposures . npy c=NP . load
违约率分布
在袖扣中,我们在DataFrame中创建了一些东西,所以先把P转换成DataFrame df,然后用df.iplot))函数。
因为想看违约率的分布函数,kind设置成直方图,分成100个盒子。在此基础上,加上垂直线vline,发现作为p的平均值,该值接近1%,非常接近之前卡方分布的平均值。之后设置几个坐标名,图片名,颜色,主题就很简单了(ggplot如画,据说用过),就不赘述了。
df=PD.dataframe(p*100 ) df。IPlot ) kind=Histogram ,histnorm=probability ,bins=100,vline=df.meame
从上图可以看出,违约概率的范围是从0%到7%,向右倾斜。
损失分布
用同样的方法画出损失的分布。
df=PD.dataframe(c)IPlot ) kind=Histogram ,histnorm=probability ,bins=100,vline=df.mean))
e ,xTitle=USD ,yTitle=RelativeFrequency ,color=rgb(220,38,36),theme=ggplot )
从上图可以看出,损耗的范围是从0到50,也是向右歪斜的。
组合可视化
信用包括两层信息,P和C,它们被组合成一个新的数据框架。此时,我们希望显示每个借款人的损失敞口(横轴)及其无条件违约概率(纵轴)的散点图,因此kind设置了散点图。
为了看起来更直观,我们用每个散乱点的面积来表示损失敞口。面积越大,损失敞口越大。然后点向右移动变大,所以大小设置为C,C是损失敞口的值。
df=pd。DataFrame(np.vstack((p*100,c))。t,columns=[DefaultProbability , loss exposure ])df . iplot(kind= scatter ,x=LossExposure ,y=DefaultProbability ,mode=markers ,size=c,title= losspersurevsdefaultprobability ,xTitle= USD ,yTitle=Percent ,color=color,theme=ggplot )
我们可以做一些观察:
大部分大仓位的违约概率不高,但也有少数例外。例如,损失敞口为30,违约率为7%。
其他高违约率的借款人没有超过10%的损失敞口。
最大单仓位(接近50)的违约概率极小,几乎为零。
接下来我们来看不同地区的信贷组合分布。概括地说,地区可以按地理、行业或借款人规模分类。
在这种情况下,我们将100名借款人随机分配到三个虚构的区域,即Alpha、Beta和Gamma。我们还随机生成一些区域数据,并将它们存储在regions.npy中
rgn file=OS . getcwd() \ \ regions . npy region=NP . load(rgn file)
在绘图中,根据区域分类(类别在代码中设置为“区域”),每个分散的点以不同的颜色显示。在实际环境中,每个散点还会包含借款人ID或姓名,可以帮助我们锁定一些特定的借款人。
df=pd。DataFrame(np.vstack((p*100,c,region))。t,columns=[DefaultProbability , LossExposure , Region ])df . loc[df[ Region ]= Alpha df . loc[df[ Region ]==2, Region ]= Beta df . loc[df[ Region ]==3, Region ]= Gamma df . iplot(kind= scatter ,x=LossExposure ,y=DefaultProbability ,mode=markers ,categories=Region ,size=20,title=Regional Distribution ,xTitle
我们可以做一些观察:
根据数据区,没有显示模式。
顶部深蓝色圆点(30.41,6.82)对应的借款人是高风险头寸(损失敞口大,违约率高)。
右边深蓝色的点(47.80,0.02)对应的是持仓最大的借款人,但违约风险较小。
并且底部中间有一组借款人(1暗青色,2红色,2青色)。损失敞口虽然大,但违约率不高,1%左右。
左上角有一组借款人(暗青色2个,红色3个),虽然违约率高,但损失敞口小。
通过可视化信贷组合,我们可以快速看到组合中的一些特征。接下来,我们来计算一下这个投资组合的一些有用的指标,比如预期损失(EL)、损失波动率(LV)、风险价值(VaR)和预期损失(ES)。
敬请期待!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。