Quant 板


LINE

※ [本文转录自 DataScience 看板 #1ZrCHlhy ] 作者: subgn ( ) 看板: DataScience 标题: [心得] 当actor-critic遇到black-scholes 时间: Sat Jan 28 14:44:57 2023 Medium网页好读版 https://tinyurl.com/u4au6u2e 本文试着将Reinforcement Learning的Actor-Critic模式与选择权评价模型里的投资组合 复制框架(delta hedge)两种极为相似的概念整合,实作出可以同时计算选择权价格(对应 到RL的critic)与避险比率(对应到RL的actor)的强化学习框架。 https://miro.medium.com/max/750/1*Jzkn6FmYbD0UC_GkukwHvg.png
Black-Scholes Model 相信交易过选择权的人一定都对Black-Scholes与Delta不陌生(已经熟悉Black-Scholes的 读者可以直接跳过这一段,这边不打算花太多篇幅讲解它)。首先,根据此理论,选择权 评价公式长这样: https://miro.medium.com/max/750/1*Jzkn6FmYbD0UC_GkukwHvg.png
还有一个很重要的公式,Delta,代表若要复制一个选择权的报酬,所需持有的标的物的 数量,就是前面选择权价格公式的其中一部分: https://miro.medium.com/max/252/1*dE53bK_AWzr8o3-dXkAbVQ.png
Black-Scholes虽然是一套从纯理论出发的公式,但他能在实务中屹立长久,靠的就是这 个评价模型 与 复制报酬的架构。在这个架构中,造市者藉由持有一个特定比例(delta) 的选择权标的物,就可以对冲掉选择权价格的涨跌。至於这价格公式与Delta公式怎麽来 的?简单的说,先假设股价的走势呈现几何布朗运动(这是最基础的假设,当然也有更复 杂的模型,例如固定收益的LMM或是Hull-White),再套入Ito’s Lemma得到一个微分方程 ,接着再以选择权的到期报酬(payoff),以买权为例,Max(0, stock price — strike) ,作为边界条件去解微分方程式,就可以得到价格公式与delta公式。 https://miro.medium.com/max/538/1*qOd9yf62We6Ysay0sDHSiA.png
描述股价瞬时变动的几何布朗运动模型 Actor-Critic 这里同样的,已经对强化学习的Actor-Critic演算法熟悉的读者可以跳过这段,因为网路 上有太多优秀的教学资源,所以这边我同样的也简单的介绍一下就好。Actor-Critic是一 种结合policy based与value based的强化学习演算法,Actor负责执行动作,Critic负责 替前者执行的动作给予评价。两者各自有一个类神经网路,Actor靠Critic给出的评价来 以policy-gradient更新参数,Critic则是藉由Actor实际与环境互动出来的结果,以 Bellman-Equation来更新参数。 藉由不断的「环境互动 — 更新Policy — 更新Critic」的循环,最终达到策略最佳化的 目的。而回顾Black-Scholes的框架,他的价格公式与Delta公式,是由对股价走势的假设 (几何布朗运动)决定,并由数学推导(解微分方程)来获得。而强化学习的Actor与Critic 的函数,是由Agent与环境的互动出来的经验决定,并由学习获得,这两者有很多相似之 处,因此把Actor Critic稍加改造应该可以训练出一个不用理解Black-Scholes Model就 可以近似出其价格公式与Delta公式的神经网路。 Critic的更新方法: https://miro.medium.com/max/588/1*kL8PqGCaaaxv6EjOcGz7qg.png
这边的→符号,是指以梯度下降法更新神经网路权重θ,使左边的值趋近右边值,也就是 以右边为target来训练θ。Critic是用来衡量根据目前状态St,未来所有Reward的折现期 望值(是的,折现期望值,这点也跟财务工程的思维很像),如果我们要用一个神经网路来 估计选择权价值,回顾一下,Black-Scholes框架的一个重点就是用delta避险来复制选择 权,那我们会希望评估值的变动会尽量接近避险部位价值的变动 https://miro.medium.com/max/616/1*zI3FcKVQQ_nTnJbSUNUbvw.png
移项後再把delta*St替换为RL 领域熟悉的符号r,就得到 https://miro.medium.com/max/632/1*BgIZkrwjxvL8kdl3-WpZ2g.png
(选择权版本的critic更新公式,注意rt的部分与原版A2C正副相反) 训练Actor 除了训练评价函数V(也就是critic)来计算选择权价格以外,我们还需要一个actor来决定 delta避险部位,而这次是反过来,critic要去指导actor函数,critic透过advantage function来告诉actor,刚刚选的action是好还是坏。 https://miro.medium.com/max/720/1*V0gHx98xs5aLW7FJXjrI2A.png
(原版actor critic的期望reward的梯度) 注意在原本的actor-critic框架中,Actor是产生一组离散的机率分布,代表执行各种 action的机率,训练actor的方式是让reward总和的期望值最大化,而要最大化期望值, 就是靠advantage function来告诉actor什麽action是好,什麽action是坏,数学上来说 就是用policy gradient来更新这个policy的权重。 https://miro.medium.com/max/1094/1*sNVHuhAliTKOyxGAeRoBng.png
(原版actor critic的期望reward的梯度) 但是因为我们要决定的是一个避险比例delta,它只是一个数值,而非在多个action中选 一个来执行(离散机率分布),所以问题更简单,只要让他产生的delta值去逼近 advantage function(这就成为一个简单的regression problem) 实作 建立起理论基础後,下一步就是来实作了,作为一个概念验证专案(POC),这边先不打算 从实际市场历史股价来训练,而是先用Black-Scholes Model产生出模拟股价(虽然原本的 目的是做出model-less架构),并用这些模拟价格训练出选择权估值函数与delta函数,并 验证算出来的值是否与Black-Scholes公式相差不远。 程式码部分如下,首先是产生模拟股价的BlackProcess类 https://medium.com/media/ad9ff5c07bec38ad1ee711fad713756b 再来是强化学习必定要有的自定义Env类,这边并没有继承openAI的env,而是直接创建新 的类 https://medium.com/media/083e21555e72a3fc27412557766028a7 还有产生actor与critic model的function,喂给actor与critic的input有5个,分别是价 内程度、价内程度的平方、剩余天期、剩余天期的平方、价内程度*剩余天期。(值得注意 的是,因为选择权价格永远大於0,所以critic最後一层的activation要用sigmoid,而 delta值有正有负(看是call还是put),所以actor最後一层activation选tanh。) https://medium.com/media/dd4f17469493152f7ec6e9324bf6ac35 以及定义好要进行神经网路学习的loss function: https://medium.com/media/33f25206127a3fc90fb6d324fcdb510b 接着是actor-critic的训练流程: https://medium.com/media/d4e2fc91b531013789648686a1d912cd 最後是结合再一起进行测试,假设的初始股价S0=1,波动度30%,无风险利率1%,天期为 30日,履约价K=1.1。 https://medium.com/media/ec1dc2f0d99fce3d08c1d55ef29799d8 测试的结果,可以发现不论是估值还是delta算出来的结果跟Black-Scholes公式天差底远 ,在经过50回合训练後,神经网路预估的选择权价值是0.0106,Black-Scholes公式计算 值为0.0347,delta方面,神经网路预估值是-0.0689,Black-Scholes公式计算值为0.521 。 为了解决这个问题,在真正开始actor-critic互动式训练之前,先对两者分别进行「预训 练」。 首先是actor(delta预估函数)的预训练,假设天期为10个交易日的选择权,则我们制作一 个输出10个delta值的Model,因为用delta避险仓位要能复制选择权的最终payoff,所以 让输出的delta各自乘以对应时间的dS,相加後,再加上选择权初始价值,整个总和让它 逼近选择权到期时的Payoff,因为我们还没有正确的价格函数,所以选择一个价外选择权 ,并假设其价格等於0。 https://miro.medium.com/max/828/1*WjxUgS8OFwUo5hsJ4M0f5w.png
接着利用预训练完毕的actor(delta预估函数)来预训练critic(估值函数),从期末的 payoff值开始,以反序方式,藉由本期估值等於下一期估值减去避险部位损益,当作估值 函数的神经网路学习目标。 https://miro.medium.com/max/640/1*BCWsULH9oG4mwWvwIUhnYw.png
在先对模型施以预训练後再进入actor-critic後,我们发现两个模型很快地进入状况,在 50回合训练後,估值方面,神经网路的预估为0.0373,Black-Scholes公式解为0.0347, delta方面,神经网路的预估为0.4471,Black-Scholes计算值为0.5210。 虽然这只是一个用模拟价格训练出来的Proof of Concept模型,还是最简单的vanilla选 择权,但是它初步验证了将actor-critic与Black-Shcoles两个框架相似之处融合之後的 可行性。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.193.248.45 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1674888303.A.AFC.html



※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: subgn (123.193.248.45 台湾), 01/28/2023 14:45:32







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP