关于我们

分类:中文 日期:2021年4月13日, 星期二 作者: GONG

近年来,随着机器学习 (Machine Learning),深度学习 (Deep Learning),人工智能 (Artificial Intelligence) 等技术快速地发展和应用,越来越多的人对他们产生兴趣。一些专注于此的社交网络平台也发展得有声有色。

 

在金融领域,其实很多的问题也可以通过此类技术得到解决,或者方法的提升。但是纵观全球,相比于计算机视觉(Computer Vision),自然语言处理(Natural Language Processing)等传统计算机科学的领域,真正着眼于将此类技术用于金融实践的学术和行业机构屈指可数,社交媒体平台更是难觅踪影。

 

所以,我们创建了 量化大师QuantGuru 这个平台。想要为传播和发展人工智能等技术在金融领域的应用和普及,做出一些微薄的贡献。同时,也为树立一面旗帜,吸引更多志同道合的朋友,结伴而行。

 

我们希望,爱好者们能够从我们的分享中,获得更多的灵感。初学者们,能够解答心中的疑惑。行业精英,更请不吝赐教。

 

茫茫江湖,卧虎藏龙。我们自知才疏学浅,只当抛砖引玉。如果您有意见建议,或者想要加入我们,请联系: 该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。

 

微信公众号:QuantGuru Bilibili: 量化大师QuantGuru Twitter: @QuantGuru_ai

 

 

感谢。

 

我们究竟如何模拟股票价格的走势?(一)

分类:中文 日期:2021年5月26日, 星期三 作者: GONG

在上一篇文章:Deep Hedging - 使用深度学习找到的最佳对冲策略 中,我们提到为了验证一个对冲算法的风险属性,需要对某一股票(标的资产)的价格走势进行大量的计算机模拟,得到在\(10^6\)种不同情况下期权合同的最终收益,然后分析这些最终收益的统计学特征(比如第一个百分位数),以此作为期权定价的基准。我们模拟的每一条股价走势,都代表了一组随机变量的某种特定取值,以及市场在这种随机情况下的表现。我们一般不会单纯使用历史数据来预测未来股价的走势,因为总会有一些 “史无前例”的情况发生,并且这些情况通常带来巨大的影响,却是我们要格外小心的。

所以,在实际操作中,我们首先为随机模型(Stochastic Model)确定参数的取值,这个过程叫做“模型参数率定” (Model Calibration)。然后,我们将参数带入模型的表达式,并根据它的性质采用合适的方法模拟未来股票价格的走势,将上百万次的模拟当作未来可能发生的各种情况,分析我们的对冲(或投资)算法在这些情况中的综合表现,来确定这个算法是不是满足设计要求。

本文中,我们会介绍几个在模拟金融时间序列(比如股票价格,汇率价格)时,最经典的随机模型。

 

布朗运动:历史渊源

如今,布朗运动(Brownian Motion)并不直接用于金融产品价格的模拟,但是它几乎一切模型的基础。

1827年,苏格兰植物学家罗伯·特布朗(Robert Brown)首次在显微镜下观察到悬浮花粉在水中的无规则运动。在将近八十年之后,阿尔伯特·爱因斯坦(Albert Einstein)于1905年在德语期刊 Annalen der Physik(译:物理学年鉴)上发表了一篇文章,他提出了花粉的运动是由于水分子的推动,从而验证了水分子的存在和分子热运动的特性,并且他还首次提出了这一现象的数学推导。从此,人类获得了一套可以模拟自然界中随机现象的方法和理论。这实际上是爱因斯坦的第一个主要科学成就,1905年后来被称作爱因斯坦的 “奇迹年”。

一个大分子的布朗运动(图源:维基百科)

 

然而,关于金融资产价格随机性理念的出现,其实是在爱因斯坦之前。1900年,一位法国的数学家Louis Bachelier提交了一篇题目为 Théorie de la speculation(译:投机理论)的博士毕业论文。他在论文中提出如果金融产品的价格中存在某些规律,并且这些规律可以被预测。那么投机者就会发现并利用它们,于是它们也就不存在了。可惜的是,在那个几乎没有人会把数学和一个叫做“金融”的学科联系起来的年代,Bachlier的想法实在是过于先进了,以至于他的论文被人们忽略了超过六十年。一直到上个世纪六十年代,美国经济学家保罗·萨缪尔森(Paul Samuelson)发现了Bachlier的论文,受到很大的启发。1965年,保罗在Bachlier想法的基础上发表了一篇题为 Proof That Properly Anticipated Prices Fluctuate Randomly(译:证明可预见价格之随机性)的论文,并且首次从数学角度说明了如果一个市场上的一切信息都是可以自由流动的,那么当前的市场价就已经包含了所有能被预测的因素。于是,其他所有可以引起价格变化的机制,就只能是随机因素。这一理论后来被称作有效市场假说(Efficient Market Hypothesis)。

从此,人们开始使用随机模型来模拟金融资产的价格曲线。

 

布朗运动:随机游走和维纳过程

英国统计学家弗朗西斯·高尔顿(Francis Galton)爵士发明了高尔顿板(Galton Board)用来演示中心极限定理(Central Limit Theory)。

高尔顿板

 

图中的每一个蓝色小球需要走六步才能到达下面的网格。这其中,每一步只有两个选择,向左或者向右,并且概率都是50%。我们可以看到,大多数的小球落在了最中间的那一栏,落在最左边一栏和最右边一栏的小球是最少的。这个演示可以被看作是一种随机游走(Random Walk)过程,这个过程一共六步。每一步的选择相互独立,但又是完全相同的可能性和概率。使用中心极限定理,我们知道所有小球最终的位置应该符合正态分布。

如果我们把这张图片逆时针旋转90度,并且想象成一个物体从坐标轴(0,0)的位置出发,向右移动。对于它的每一步,同样是独立又完全相同的可能性和概率。如果它每一步在X轴上移动的距离无限小,我们就会得到一条类似于下图中的路径:

维纳过程(图源:维基百科)

 

这就是维纳过程(Wiener process)。它其实就是每一步距离无限小随机游走过程。有的人也把它叫做布朗运动。这就是罗伯特·布朗观察到花粉随机运动的一种数学解释。

 

存在趋势的布朗运动

从数学的角度,存在趋势的布朗运动 \(S(t)\) 需要满足以下这个随机微分方程(stochastic differential equation):

\(dS(t)=\mu dt+\sigma dW(t)\),初始值为: \(S(0)=s_0\)

直接对它求积分,可得:

\(S(t) = s_0 + \mu t + \sigma W(t)\)

这里的 \(W(t)\) 代表一个上文提到的维纳过程。

\(s_0\) 代表这个股票的初始价格。我们可以随意的取值,或者采用市场上的真实价格。比如中国石化(600028)在2021年5月21日的收盘价是4.36元,然后我们定义 \(S(1)\) 代表什么,如果它是中国石化在2021年5月24日的收盘价,那么 \(t\) 就代表的是交易日的序列。当然它也可以代表月份,小时,分钟或者任何的时间范围。

\(S(t)\) 代表这只股票在 \(t\) 时刻的价格,它是由一个常数 \(s_0\) ,一个时间的线性函数 \(\mu t\) ,和一个缩放的维纳过程 \(\sigma W(t)\) 相加而成。我们习惯把 \(\mu\) 当作这个股票价格变化的长期趋势,通常参考市场上无风险利率的取值。\(\sigma \) 其实代表了股价的波动率,因为它决定了随机因素对股价的影响。

到此为止,我们得到了一个可以模拟股票价格走势的方法。比如我们需要模拟未来10个交易日的股价:

  • 首先生成10个相互独立的标准正态分布随机数。
  • 计算维纳过程\(W(t)\)在t = 1,2,3 …… 10时的取值。
  • 确定相关变量\(s_0\), \(\mu\) 和 \(\sigma\)的取值。
  • 使用维纳过程和这些变量,计算股票在10个日期的价格\(S(1)\), \(S(2)\), \(S(3)\) …… \(S(10)\)。

当然,我们不能只有一条可能的价格走势,我们需要模拟大量不同的维纳过程以代表不同的随机情况,然后得到相应的股票价格曲线。

 

几何布朗运动

或许已经有人注意到,以上提出的方法有一个致命的缺陷。当 \(\sigma\) 的取值很大,同时 \(\mu\) 的值很小的时候,股票价格 \(S(t)\) 有可能会成为负数,这是绝对不符合现实情况的。所以,我们使用几何布朗运动(Geometric Brownian Motion)模型解决这个问题,它的随机微分方程为:

\(dS(t) = \mu S(t)dt + \sigma S(t) dW(t)\),初始值为: \(S(0)=s_0\)

我们可以得到:

\(S(t) = S(0) exp[(\mu - \frac{\sigma^{2}}{2})t+\sigma W(t)]\)

这个模型实际上是把股票价格的收益率 \(\frac{S(t)}{S(0)}\) 当作了一个布朗运动的指数函数,这似乎更符合金融实践中的习惯。并且股票价格 \(S(t)\) 也无法再成为一个负数。

 

几何布朗运动

这个图中有三条线。其中紫色曲线是模拟的股票价格曲线 \(S(t)\) 。绿色的曲线代表他的线性因素 \(exp[(\mu - \frac{\sigma^{2}}{2})t]\) ,蓝色曲线是他的随机因素 \(exp[\sigma*W(t)]\) 。生成图中曲线的参数取值为:\(S_0 = 1\),\(\mu = 0.15\) 和 \(\sigma = 0.3\)。

对于几何布朗运动,\(\sigma\)的取值并不因为\(t\)的变化而有任何的改变。这意味着,股价的波动率是恒定的。我们从现实观察中可以得知,股价的波动并不是这样。在某些特殊时刻(比如重大政治经济事件发生时),股票市场会有明显更加剧烈的波动。所以,不光是股票价格\(S(t)\),我们也需要把随机因素引入股价波动率\(\sigma\)的模型之中,这就是随机波动模型(stochastic volatility models)

(未完待续)

 

参考资料:

Einstein, Albert. "Über die von der molekularkinetischen Theorie der Wärme geforderte Bewegung von in ruhenden Flüssigkeiten suspendierten Teilchen." Annalen der physik 4 (1905).

Bachelier, Louis. "Théorie de la spéculation." In Annales scientifiques de l'École normale supérieure, vol. 17, pp. 21-86. 1900.

Samuelson, Paul A. "Proof That Properly Anticipated Prices Fluctuate Randomly." Management Review 6, no. 2 (1965).

https://en.wikipedia.org/wiki/Brownian_motion

https://en.wikipedia.org/wiki/Wiener_process

https://www.cantorsparadise.com/brownian-motion-in-financial-markets-ea5f02204b14

http://www.mi.uni-koeln.de/wp-znikolic/wp-content/uploads/2017/05/4_Geometric_Brownian_Motion_28042017.pdf

Deep Hedging --- 使用深度学习找到的最佳对冲策略

分类:中文 日期:2021年4月13日, 星期二 作者: GONG

使用神经网络为金融衍生品定价(Pricing)和设计对冲(Hedging)策略,最早可以追溯到1994年。基于神经网络模型的通用近似性质(Universal Approximation Property), Hutchinson首次提出可以将它们作为传统偏微分方程定价方法的补充,并且使用了1987至1991年标普500期货的数据进行了实验。

自Hutchinson之后,这个方向的研究却没有太多发展,主要还是由于神经网络模型的训练需要强大的计算能力。直至最近的5-10年,这样的条件才能在业界和学术界得到广泛地满足。

Deep Hedging模型出现在2018年。论文的作者来自摩根大通(JP Morgan)和苏黎世联邦理工学院(ETH),所以我们相信这种基于神经网络的期权定价和对冲模型已经或多或少地运用在了实际的交易当中

 

背景假设

假设你是一个看涨期权(Call Option)的发行人(Issuer),并且这个期权是欧式期权(European Option)。意味着期权的买方只能在期权的到期日行使期权,我们假设是30天之后。在这30天的过程中,你需要不断地买入或者卖出期权的标的资产(Underlying Asset)以对冲你暴露在这个交易中的风险。在理想状况下,如果没有交易成本,并且可以连续交易(每一秒钟不断地平衡仓位),那么30天之后,你可以保证没有任何盈利或者损失。但是现实中这两点都实现不了,所以在期权到期时,你会产生一笔损失,而期权的初始价格(期权合同开始时对方支付给你的用于购买期权的钱)就应当基于你对于这笔损失的预期。

 

阅读全文: Deep Hedging --- 使用深度学习找到的最佳对冲策略