引言 本文是「信用风险建模 in Python」系列的第一篇,其实在之前的 Cufflinks 那篇已经埋下了信用风险的伏笔, 信用组合可视化 信用风险 101 信用风险(credit risk)最终源于交易对手或债务人违约...风险价值 VaR 和期望损失 ES 都属于极端损失,VaR 是在一段时间内在 q 概率下组合损失的最大值,在信用风险中 q 通常设定为 99%, 99.5%, 99.9% 等。...而 ES 是大于 VaR 的损失的均值。通俗来讲,VaR 量化坏情况,而 ES 量化的是如果坏情况发生那么到底有多坏。...有些资料把 VaR 和 ES 归属到意外损失(UL),有些资料把损失变量的波动率定义成 UL,这个也无对错之分,我更偏好于后者。而且我觉得把 VaR 和 ES 称为极端损失也更贴切些。...= quantile(L, q) ES = mean(L|L>=VaR) EC = VaR - EL 所以找到 L 的分布最重要。
如果说 lateinit var 和普通的var 有什么区别的话,可以看这篇文章 定义了 aa 是 lateinit String ,而 bb 是 String?。...class Test { lateinit var aa: String var bb: String?...; } public final void setAa(@NotNull String var1) { Intrinsics.checkParameterIsNotNull(var1...>"); this.aa = var1; } @Nullable public final String getBb() { return this.bb;...} public final void setBb(@Nullable String var1) { this.bb = var1; } } 可以从 java 代码看出,
度量市场风险目前最常用的工具是在险价值(Value at Risk, VaR)。 VaR的定义与计算方法 VaR度量的是在一段时间内某种置信水平下某风险资产的可能损失。...VaR在金融机构中使用非常普遍,很多机构设置内部VaR进行止损,如果某天损失超过内部VaR,就需要马上清空仓位进行止损。...并以样本外一天是否超过VaR的次数来回测VaR,判定VaR的计算是否合理。 信用风险与分类模型 信用风险指的是在金融交易中,由对手方可能的违约带来的风险。...信用事件可以狭义地定义为债券的违约(Default on a bond),即债券发行机构无法支付承诺的利息支付或本金偿还, 但广义的来说,信用风险的变化就可以被称作信用事件。...信用风险其实包含了很多维度的风险,其变化经常是难以预计的,但在商业社会中,信用风险往往具备双向性,其变化的方式通常服从下图所示的模式: 信用风险计量有如下关键指标: 违约概率(probability
资产组合VaR建模方法回顾 文章中总结了通过DCC模型估计组合向前一日VaR的方法,整体思路如下: 通过Garch族模型估计各资产的波动率 通过DCC模型估计各资产间的相关系数,结合1得到资产组合的协方差矩阵...文章中总结了通过蒙特卡洛方法估计组合向前K日VaR的方法,也可以仅计算组合向前一日VaR(本文只考虑向前1日的情况),文章中也对比了蒙特卡洛方法与DCC方法得到的结果,差异并不大。...随后可以根据权重计算组合收益进而估计VaR。...; 蒙特卡洛模拟估计VaR 第一步:生成符合copula函数的随机数; 第二步:通过随机数得到各资产收益的模拟序列; 第三步:根据各资产权重得到组合收益序列,取p分位数作为VaR估计值 3.实证分析 数据...:S&P500、US 10yr T-Note Fixed Term(同上一篇) 区间:2001-2010 蒙特卡洛模拟次数:10000次 数据和代码在后台回复“VaR5”获取 仅估计最后一天的VaR。
1.模型推导 和单个资产类似,资产组合的VaR定义依然由下式给出 ? 不同的地方在于,这里的波动率应换成组合的波动率,分布函数应换为组合的分布函数。...需要说明的一点是,如果我们假设所有的单个资产收益率都服从正态分布,资产组合的收益率是单个资产收益率的加权和,也服从正态分布,这种情况下,计算VaR只需要对组合的波动率给出估计。...基于DCC-RM模型的VaR ? 基于DCC-Garch模型的时变相关系数 ? 其中,红色线为DCC-RM估计得到的相关系数,绿色线为DCC-Garch估计得到的相关系数,整体趋势一致。...基于DCC-Garch模型的VaR ? 其中,红色线为DCC-RM估计得到的VaR,绿色线为DCC-Garch估计得到的VaR,整体趋势一致。...43data['VaR_DCC'] = -norm(0,1).ppf(0.01)*(data['SP_sigma2']*0.5**2 + data['US_sigma2']*0.5**2 + \
首先对VaR的定义做一回顾,上一篇提到,如果我们假设资产标准化的收益率符合正态分布,那么VaR的理论表达式为 ? 上式右边第一项为资产收益率的波动率,第二项为正态分布分布函数的逆函数在p处的值。...从而,VaR可以表示为 ? 其中, ?...VaR 用训练集得到的参数计算VaR,结果如图,其中RM方法为上一篇中介绍过的。 ? 看上去很接近,没什么差别,用与上一篇相同的方法构造投资组合,曲线图如下。...,label = 'VAR_EVT') plt.plot(X,data5.VAR_norm,label = 'VAR_EVT') plt.plot(X,data5.VAR_t,label = 'VAR_t...(d)') plt.plot(X,data5.VAR_CF,label = 'VAR_CF') plt.plot(X,data5.VAR_RM,label = 'VAR_RM') SP.set_xticks
SQL聚合函数 VARIANCE, VAR_SAMP, VAR_POP 返回数据集统计方差的聚合函数。...大纲 VARIANCE([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING]) VAR_SAMP...([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING]) VAR_POP([ALL | DISTINCT...VAR_POP:总体方差。 如果数据集中的所有值都具有相同的值(无可变性),则返回0。 如果数据集只包含一个值(没有可能的可变性),则返回0。 如果数据集没有值,则返回NULL。...VAR_POP的计算是: (SUM(expression**2) * COUNT(expression)) - (SUM(expression) **2) _______________________
---- VaR定义 这里所说的VaR并非时间序列中的向量自回归模型(vector autoregression),而是在险价值(Value at Risk)。...也就是说,金融资产的收益率有1-p的概率不会小于-VaR,有p的概率会小于-VaR。如果能准确估计出金融资产未来一段时间内的VaR,对于企业做出投资决策有重要意义。...---- VaR估计 1. HS方法 根据VaR的定义可以看出,如果我们能得到股票收益率的分布函数,就可以直接算出VaR。最简单的估计方法HS,WHS就从这种考虑出发,但不考虑去估计分布。...对比HS和RM方法估计的指数VaR在08年金融危机前后的变化情况。 可以看出,RM方法得到的VaR在金融危机时迅速升高,之后逐渐降低,HS就不说了。 ?...的策略 教材中最后通过VaR设计了一个简单的投资策略,用不同方法下得到的VaR指导投资,把结果进行对比,再次说明RM优于WHS,WHS优于HS。
在大部分情况下使用 var 声明隐式类型的变量,编译器会自动选择合适的类型来处理。...例如: var s = new Student(); 从上面的代码中我们可以看出变量 s 的类型是 Student ,但是这段代码还有一个问题,就是变量的命名。...首先局部变量类型推断不等于动态类型检查,var 声明的变量不是动态变量,c# 会根据赋值符号等号右边的值的类型来确定等号左边的变量类型。其次,编译器会自动判断类型。...首先 var 声明的变量会让代码阅读起来有些困难,因为有可能我们所认为的类型和编译器最终的类型不一样,进而导致在代码中错误的维护开发导致 bug 。...这是因为 var 声明的变量编译器会自动推断其类型,但是开发人员看不到推断出来的类型。其次,如果使用隐式类型的变量的真实类型是内置的数值类型的话会产生类型转换精度下降的问题。
用VAR可以很好的解决这个问题: ? VAR的工作原理是它先录制一个变量,再配合使用Return把录制好的内容拿出来反复多次利用。...这个例子中有两个小细节,注意第二个VAR引用了上一个VAR定义的Sales,也就是说VAR可以引用之前定义好的VAR;第二个细节是在PowerBI公式栏中输入的时候,智能提示会特别提醒你使用已经定义好的...VAR,极大地方便了你的书写。...现在学会了VAR,可以先把Earlier引用的列用VAR来定义: ? 两个公式输出的结果是一样的。...基于上面的四大好处,没有用过VAR的你,有点心动了吧。虽然没有VAR我们一样可以完成工作,但这个函数我极力地推荐大家使用,只为更好。
本文是「信用风险建模 in Python」系列的第七篇,其实在之前的 Cufflinks 那篇已经埋下了信用风险的伏笔, 0....信用组合可视化 信用风险 101 独立模型 - 伯努利模型 独立模型 - 泊松模型 混合模型 - 概述 阈值模型 - 概述 阈值模型 - 校正 简介:渐进单风险因子 (asymptotic single
var tmp = "small"; function f(){ console.log(tmp); if(false){ var tmp = "big"; }}f() 第二种场景,用来计数的循环变量泄露为全局变量...var s = 'hello';for (var i = 0; i < s.length; i ){ console.log(s[i]);}console.log(i); // 5
完整代码和数据 链接:https://pan.baidu.com/s/1FVku6WefSBfhRwWILiaCrw 提取码:vx4p 本文是「信用风险建模 in Python」系列的第六篇,其实在之前的...Cufflinks 那篇已经埋下了信用风险的伏笔, 信用组合可视化 信用风险 101 独立模型 - 伯努利模型 独立模型 - 泊松模型 混合模型 - 概述 阈值模型 - 概述 简介:本贴内容主要分三个部分...比对之前介绍的二项模型(违约独立)和阈值模型(违约相关),通过蒙特卡洛模拟损失分布并计算 VaR 和 ES 来验证是否违约相关会增加组合的尾部风险。 文章 代码 ?
之前几篇总结的方法都是对于向前一日VaR的建模,都以是以VaR=波动率乘以分布函数逆函数为基础。...最后求出VaR ? ?...= pd.DataFrame(index = range(ndays)) VaR['ndays'] = np.arange(1,ndays+1) VaR['VaR'] = 0...= pd.DataFrame(index = range(ndays)) VaR['ndays'] = np.arange(1,ndays+1) VaR['VaR'] = 0...= pd.DataFrame(index = range(n)) VaR['ndays'] = np.arange(1,n+1) VaR['VaR'] = 0 VaR['
var 的“创建”和“初始化”都被提升了; function 的“创建”、”初始化“和”赋值“都被提升了; let 的“创建”过程被提升了,但是“初始化”没有提升。...举例: function fn(){ console.log(a)//undefined var a =3; console.log(b)//undefined let b =4; } { console.log
device is busy 出现此问题是当前挂载点上面有进程存在 [root@zabbix ~]# umount /dev/mapper/vg_zabbix-LogVol02 umount: /var
专栏:数学建模学习笔记 1.题目 A题 信用风险识别问题 信用风险识别在金融行业和个体借贷过程中扮演着至关重要的角色。...信用风险评价的准确性直接关系到贷款机构的资产质量和经济健康。因此,建立准确可靠的信用风险评价模型对于金融机构和借款方都具有重要意义。...在大数据背景下,信用风险评价研究中“信用风险评价指标筛选→信用风险得分测算→信用风险等级划分”各步骤均有诸多难题亟待解决。...非线性规划模型:能更好地反映实际信用风险的分布和划分。...通过上述步骤,信用风险评价方法,包括数据预处理、特征选择、信用评分模型的构建及其比较、信用等级划分等多个方面,旨在提升信用风险评价的准确性和可靠性。
let,const,var 定于变量的区别 今天我们就来讲讲这三者的区别,你去面试可能会问你关于这三者的区别。...从三方面说 能否重复申明 是否具有块级作用域 是否存在变量提升问题 能否重复申明 从 var,let,const 是否能重复申明看看 先看看 var var a = "a" var a = "b" console.log...(a); // "b" var 关键字可以重复申明同个名字的变量,只不过后申明的变量会覆盖之前申明的变量。...再来看看 let let a = 'a' var a = 'b' 会报错: Uncaught SyntaxError: Identifier 'a' has already been declared...没有块级作用域的概念 var a = 'a' if(true) { var a = "b" } console.log(a) // "b" if 语句内部的覆盖了外部的变量 let 具有块级作用域
本文含 5120 字,44 图表截屏 建议阅读 39 分钟 0 引言 本文是「信用风险建模 in Python」系列的第二篇,其实在之前的 Cufflinks 那篇已经埋下了信用风险的伏笔, 信用组合可视化...信用风险 101 玩具模型 - 伯努利模型 违约指的就是债务人无能力或者不愿意偿还债务。...我们首先分析的是最简单但也能挖出价值的信用风险模型 - 伯努利(Bernoulli)模型。 该系列是理论和代码相结合,首先引入所需的 Python 包。...计算 ES 不需要像计算 VaR 那样分情况,因为不管什么情况,L[Mq] 总是第一个大于 VaR 的损失值。那么总共大于 VaR 的损失有 M – [Mq] 个,将它们求个平均就可以了。...而这在信用风险尤其重要,因为我们可以完全将注意力集中在极端事件。二项模型在现实中的组合表现通常不会太好,但是,只要组合里人数够多,模型完全由单参数来描述。
for (var iii = 0; iii < 3; iii++) { setTimeout(function(){ console.debug(iii) }, 1000) let leta...= "leta"; var vara = "vara"; } try { console.log( leta + "/"+ vara) } catch (error) { console.log...它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束。
领取专属 10元无门槛券
手把手带您无忧上云