MFE常用数据结构之Lattice

本文介绍了在金融工程中常用的Lattice数据结构,它是一种类似树但有区别的结构。Lattice主要用于期权定价,通过预测价格的不同路径来计算价值。文章提到了使用自定义的Array类来实现Lattice,并在构造时初始化各层大小。作者还分享了Lattice类的简化头文件,展示其核心功能。虽然实现过程充满挑战,但Lattice的潜力远不止于此,对于技术成长具有重要意义。
摘要由CSDN通过智能技术生成

今天看了DUFFY的C++ For FE中关于介绍Lattice的相关内容,为了表示对原作者的尊敬,首先我还是引用一下作者关于Lattice Structures的介绍的原话。

"Lattice structures are well known in quantitative finance.“

对,没错,原话就这么短。也许是太出名了吧,不需要过多赘述。不过我发现一个奇怪的现象就是在实现这个数据结构的过程中,不管是百度还是google,关于Lattice Structures的文章是少之又少,这极大地打击了我的积极性,虽然学技术不能这么功利,但是我的确很纳闷,真的很出名,经常被用到吗?

言归正传,Lattice Structures(LS)是一种类似树的结构体,但是它和一般的树还是有所区别,如图:

首先用到了一个自己实现的Array类,其中有一个类型为V的指针数组,每个数组成员代表该LS结构的1层,每一层上面是一个Vector对象,由于Vector对象的强大功能,可以用来存放任何对象,这也为我们后续开发提供了便利。

这里有几个问题需要注意,就是对每一层的vector初始化,由于LS结构第i层节点数是第i-1层节点数+该LS的(N-1)如上图,所以需要在构造Lattice的对象时,对Array中的指针数组按层进行初始化,即初始化每个vector的大小。

具体的过程这里不累述了,有许多bug耗费了本人大量精力,苦不堪言。

下面我简答谈谈这种数据结构的作用,由于第一天接触,所以难免有许多误解,希望看到的朋友能够指出,本人一定虚心接受。

LS(2)可以用来计算Option price,如给1个初始价格在根节点,然后我们预测他有两种(实际也只有两种)价格走势,一种是朝着左子节点的看跌,另一种是朝着右子结点的看涨。假设根节点的值为Value,那么左子节点的值就为Value*down,右子结点为Value*up。

同理,我们如果知道某一层所有的节点值,然后得到一些其他的条件值,我们可以反推得到根植,计算出该option的初始价格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值