论文阅读《Ensemble learning for portfolio valuation and risk management》—投资组合和风险管理的集成学习

1. 背景,问题描述

很多经济问题都可以用一个有限多阶段的随机模型表示。设X = (X_1, \cdots , X_T)为潜在随机驱动因素。其中,X_{t} \in \mathbb{R}^{d},独立,不一定服从相同的分布。

X:在路径空间\mathbb{R}^{d \times T}上实现,对于一个样本点x = (x_1, \cdots, x_T)而言,X_{t} (x) = x_{t}

\mathbb{Q} = \mathbb{Q}_{1} \times \mathbb{Q}_{2} \times \cdots\mathbb{Q}_{T}X服从的分布,risk-neutral pricing measure,有一些固定的值。

\mathcal{F} = \mathcal{B}(\mathbb{R}^d)^{\otimes t}X的信息流。

基于上面的符号,动态价值V(dynamic value process)如下表示:

V_{t} = E_{\mathbb{Q}}[f(X) | \mathcal{F}_t] , t = 1, \cdots, T (1)

其中,f为测度函数:\mathbb{R}^{d \times T} \rightarrow \mathbb{R},且f \in L_{\mathbb{Q}}^{2}。(1)式代表的条件期望在闭集(closed form)中不可用,这里not available in closed form具体是什么我还没有弄明白。

为简化描述,考虑多元Black-Scholes模型,其中X_{t}独立同分布。名义股票价格由下式给出,

S_{i, t} = S_{i, t-1}exp[\sigma_{i}^{T} X_{t} \sqrt{\Delta_{t}} + (r-||\sigma_{i}||^{2}) \Delta_{t}], t = 1, \cdots, T  (2)

 初值S_{i, 0}, 方差向量\sigma_{i},恒定无风险利率常数r和时间步长(\Delta_{1}, \cdots, \Delta_{T})给定。那么对于动态价值V而言,有一个非闭合表达形式,max-call option,当执权价(strike price)为K时,T时刻的期权价值表达式为,

f(X) = e^{-r \sum_{t=1}^{T} \Delta_{t}} (max_{i} S_{i, T} -K)^{+}  (3)

本文使用ensemble estimator with   regression trees估计f(X)

有限样本:\bold{X} = (X^{(1)}, \cdots, X^{(n)})

该方法学习映射  \bold{f} = (f(X^{(1)}), \cdots, f(X^{(n)})), 其estimators记为f_{\bold{X}},

f_{\bold{X}} = \sum_{i=1}^{N} \beta_{i} \mathbb{1}_{A_i}

V_{\bold{X}, t} = \mathbb{E}_{\mathbb{Q}}[f_{\bold{X}}(X) \ | \ \mathcal{F}_t ] \; t= 1,\cdots, T.

这里的V_{\bold{X}}是动态价值V的estimator。

2. 方法——基于回归树的集成学习

2.1 分类与回归树(Classification and Regression Tree,CART)

参考:分类与回归树(CART)的思想、结构、训练和实现 - 知乎

CART回归树模型的基本思想:建立回归的模型不要求精确,但是误差要足够小。将自变量的取值空间分为若干碎片,假设每个碎片内自变量的取值基本相同。那么在该思想下,首先分割特征空间,将样本分组;然后为每个组因变量设置值,模型训练;最后预测。

关于如何分组,需要用合理的指标评估分组质量。当输出值为连续变量时,不能用基尼系数、信息增益衡量分组好坏,而需要一些其他指标。构建一个可用的CART回归树的关键,是设计一个标准,用来指导机器按照最有利于准确计算因变量的情况来切分特征空间

关于如何划分,在论文《Ensemble learning for portfolio valuation and risk management》中的步骤如下,

  1. (1)已知在第t, t \ge 0步的时候,有分割\Pi_{t},取其中一个子集A \in \Pi_{t}.
  2. (2)假设有(j, s, z)三个特征,那么在xy固定的情况下,根据z,产生新的子集,A_{L} = \{x\ |\ x \in A , x_{j, s} < z \}A_{R} = \{x\ |\ x \in A , x_{j, s} > z \}。新的分割为\Pi_{t+1} = (\Pi_{t} \backslash A) \cup \{A_{L}, A_{R}\}.
  3. (3)其中,z的确定方式为使得类内方差最小,即

 停止分割的规则有以下几种:

  1. (1)当一个分割包含的样本数小于某个固定值时停止分割;
  2. (2)当有K个分割时,停止。

另外一种分割方式见上面连接,找到使得平均方差最小的值,作为分割点。在预测时,使用的公式如下,

 即先看样本点属于哪个分割,然后预测其值。

CART的优缺点分别如下:

优点:

  1. 可解释性
  2. 维度缩减
  3. 处理异常值

缺点:

对样本敏感,当样本X受到很小的扰动时,预测值f_{X, \Pi}的波动很大。由此,为增强算法鲁棒性,有以下两种方式,分别是随机森林Random Forest和Gradient Boosting。

2.2 随机森林Random Forest

2.2.1 基本内容

首先,集成学习有如下几种方式:Bagging,Boosting以及Stacking。这里简单介绍一下三种方式,参考集成学习(Ensemble Learning) - 知乎

(1)Bagging

有放回抽样,即重抽样;根据每次抽到的数据,构建模型;最后,按照分类问题对结果投票,或者回归问题对结果取平均。随机森林是典型的Bagging,每次有放回地抽取一定量的样本数和样本,构建M棵决策树。

(2)Boosting(提升)

该方法同样,学习一系列的弱学习模型,以减小监督学习中的偏差。Boosting中有代表性的是AdaBoost(Adaptive boosting)算法:刚开始训练时对每一个训练例赋相等的权重,然后用该算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在每次学习以后更注意学错的样本,从而得到多个预测函数。

下面我们要介绍的Gradient Boosting方法也是Boosting的一种。

(3)Stacking

stacking训练一个可以组合其他模型的模型,首先先训练多个不同的模型,然后把之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。

2.2.2 本文中的Random Forest

从样本集\bold{X} = (X^{(1)}, \cdots, X^{(n)})中,每一次有放回的生成包含\tilde{n}个样本的样本集\bold{X}_{m} = \{X_{m}^{1}, \cdots, X_{m}^{\tilde{n}} \},重复M次,生成个样本集\{\bold{X}_{1}, \cdots, \bold{X}_{M} \}

每个样本集可以生成一棵树,对于样本集X_m而言,得到相应的决策树f_{\bold{X}_{m} , \Pi_{m}},对于每一个样本而言,其预测值为向量\bold{f}_m = \{f(X_{m}^{1}), \cdots, f(X_{m}^{\tilde{n}}) \}

对于\bold{\Pi} = \{\Pi_{1}, \cdots, \Pi_{M} \}而言,集成结果f_{\bold{X}, \bold{\Pi}}为:

2.3 Gradient Boosting,梯度提升

2.3.1 基本内容

参考,梯度提升(Gradient Boosting)算法 - 知乎

 首先,介绍梯度下降法,梯度下降法中更新参数\theta,使得损失函数减小,模拟系统。其更新公式如下,

\theta_{t+1} = \theta_{t} - \alpha \cdot \frac{\partial L(\theta)}{\partial \theta_t}

\theta_{0} = \frac{\partial L(\theta)}{\partial \theta_0},则最终的\theta^{\star}如下,

\theta^{\star} = -\sum_{t=0}^{T} \alpha \cdot \frac{\partial L(\theta_t)}{\partial \theta_t}

梯度提升,借鉴梯度下降法的思想,其基本原理是根据当前模型损失函数的负梯度信息来训练新加入的弱分类器,然后将训练好的弱分类器以累加的形式结合到现有模型中。模型的损失函数为L(y, F(x)),为了求取函数F^{\star} (x),设其初值为F_{0}(x) = f_{0}(x),更新形式如下,

F^{\star}(x) = \sum_{t=0}^{T} f_{t}(x)

其中,f_{t}(x)的表达式如下,

f_{t}(x) = -\alpha_t \cdot \frac{\partial L(y, F_{t}(x) )}{\partial F_{t}(x)}

梯度下降和梯度提升的对比如下,

2.3.2 本文的Gradient Boosting

本文中,学习器的更新组合方式如下,

 其中,\gamma_{t}为合适的步长,g_t为CART的损失函数\psi: \mathbb{R}^2 \mapsto \mathbb{R}, (x, y) \mapsto \psi(x, y)、根据样本集\bold{X}得到的梯度函数,x \mapsto \partial_{y} \psi(f(x), f_{\bold{X, t-1}} (x))

通常,损失函数\psi(x, y) = \frac{1}{2} (x-y)^2,那么,x \mapsto \partial_{y} \psi(f(x), f_{\bold{X, t-1}} (x)) = f_{\bold{X, t-1}} (x) - f(x)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值