且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《量化金融R语言初级教程》一2.2 解的概念

更新时间:2022-09-28 15:53:18

本节书摘来异步社区《量化金融R语言初级教程》一书中的第2章,第2.2节,作者: 【匈牙利】Gergely Daróczi(盖尔盖伊) , 等 译者: 高蓉 , 李茂 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.2 解的概念

在过去的50年中,人们开发了许多表现良好的伟大算法用于数值优化,尤其用于二次函数的情形。正如我们在上一节中看到的,我们只有二次函数和约束。所以这些方法(它们也在R中实现)可以用于最糟的情形(如果没有任何更好的情形)。

然而,数值优化的细节讨论超出了本书范围。幸运的是,在线性约束和二次函数约束的特殊情况下,这些方法不是并不必要。我们可以使用18世纪提出的拉格朗日定理。

《量化金融R语言初级教程》一2.2 解的概念

那么,这里存在系数λ1, λ2, …, λm使得f'(a)+sum{{{lambda }_{i}}}g'(a)=0。换句话说,这个函数L:=f-sum{{{lambda }_{i}}}{{g}_{i}}:{{text{R}}^{m+n}}to R所有的偏导数都是0(Bertsekas Dimitri P. (1999))。

在我们的例子里,这个条件也是充分的。二次函数的偏导数是线性的,所以最优化产生了求解一个线性系统方程的问题,(不像数值优化)这是一个高中水平的任务。

我们来看一下,如何运用它来解决第三个问题。


《量化金融R语言初级教程》一2.2 解的概念

可以表明,这个问题等价于下面的线性方程系统。


《量化金融R语言初级教程》一2.2 解的概念


(两行和两列加入到协方差矩阵中,所以我们有条件同时决定两个拉格朗日乘子。)我们可以期望这个系统有唯一解。

需要强调的是,我们利用拉格朗日定理得到的结果已经不再是一个最优化问题。就像是在一维中,最小化二次函数需要求导数,但从复杂性的角度看,一个线性系统的方程是平凡的。现在,我们来看看如何处理收益率最大化的问题。


《量化金融R语言初级教程》一2.2 解的概念


容易看出,拉格朗日函数对于λ的导数是约束本身。

为了看出这一点,我们取L的导数。


《量化金融R语言初级教程》一2.2 解的概念

由此产生了一个非线性方程,它的求解与其说是科学不如说是艺术。