MFE常用数据结构之Lattice

2023-10-27

今天看了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的初始价格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MFE常用数据结构之Lattice 的相关文章

  • 自定义工具提示格式

    我在 Windows 上使用普通的原生 C 语言工作 没有其他平台 没有 C 是的 我是恐龙 我试图找到一个我认为的 所有者绘制工具提示控件 的示例 但这似乎不存在 至少对于标准 Windows 工具提示控件来说不是 我尝试搜索实现自定义工
  • 忽略控制器参数缺失导致的异常

    我有一个使用 MVC4 构建的面向互联网的网站 我偶尔会收到来自机器人或好奇的用户发送不完整 URL 请求的错误报告 例如 public class ProductController Controller HttpGet public v
  • C# 在 WebBrowser 中调用 JavaScript

    我正在尝试调用 JavaScript 方法WebBrowser WebBrowser webBrowser new WebBrowser webBrowser NavigateToString html webBrowser LoadCom
  • WTL 子窗口事件处理

    我正在开发窗口应用程序 因为我在左侧和右侧有 2 个子窗口 我想分别处理两个窗口的输入事件 如何实现 My code class EditorWindow public DxWindow public CSplitterWindow m v
  • 如何获取picturebox非公开成员的值?

    我需要从 picturebox 的非公共成员获取图像矩形的值 如何获得该值 提前致谢 这是使用反射获取值的方法 PropertyInfo pInfo pictureBox1 GetType GetProperty ImageRectangl
  • 使用自定义源增强 Iostreams zlib_error

    我正在尝试使用zlib decompressor通过一个解压缩数据istreambuf iterator 我找不到使用输入迭代器作为流的输入的内置方法 如果已经存在 请指出一种方法 所以我写了这个源代码 template
  • 如何在Linux上正确设置串行通信

    我正在尝试从 FPGA 板读取数据以及向 FPGA 板写入数据 该板本身附带一个驱动程序 每当板插入时 该驱动程序都会创建一个名为 ttyUSB0 的终端设备 在 FPGA 上 实现了异步接收器和发送器 并且它们似乎可以工作 然而 C 方面
  • C 中的 const 和指针

    将 const 与指针一起使用可能会导致指针对象无法通过使用相关指针取消引用来修改 但为什么我也不能修改指针不直接指向的内容呢 例如 int a 3 const int ptr a ptr 5 不会编译 但为什么 ptr 2 5 还编译不了
  • 如何检测任务栏上的右键单击

    我有一个 C 语言的 Windows 窗体应用程序 它以加载对话框开始 正如预期的那样 该应用程序的按钮会显示在 Windows 任务栏中 我想检测可能对该按钮进行的 右键单击 最终 我希望禁用右键单击或只是让加载对话框重新获得焦点 我看到
  • SQL:使用 1 个查询更新一行并返回列值

    我需要更新表中的一行 并从中获取列值 我可以这样做 UPDATE Items SET Clicks Clicks 1 WHERE Id Id SELECT Name FROM Items WHERE Id Id 这会生成 2 个对该表的计划
  • 当我更新具有相同数据类型的另一个列表时列表发生更改

    我的代码看起来像这样 public class Category public string CatId get set public string CatName get set public string SpecId get set
  • 无法从 GetSystemTime() 获取毫秒

    我正在尝试打印秒和毫秒分辨率计时 我正在使用GetSystemTime 这是我的代码 GetSystemTime datetime RETAILMSG 1 T Time After Data Sent to USB d d r n date
  • 实施黑名单的最有效方法

    我开发了一个 Ip 过滤器 并猜测我如何使用任何类型的 esque 数据结构开发一个非常高效且快速的黑名单过滤器 我想做的很简单 每个传入 传出连接我都必须检查被阻止的 IP 列表 IP是分散的 内存使用应该是线性的 不依赖于阻止列表的数量
  • 如何在 WinRT 中从 C++ 获取堆栈跟踪?

    我需要从 C 应用程序获取堆栈跟踪 并将其序列化为字符串 以便稍后解析 我在 Windows 上听说过的唯一 API 是 StackWalk64 它似乎不受支持 如何在 Windows 应用商店应用程序中从 C 获取堆栈跟踪 我能够调试复杂
  • 生成一定范围内的 N 个随机数,其总和为常数

    我想生成从 a b 之间的特定分布 例如均匀随机 抽取的 N 个随机数 其总和为常数 C 我尝试了一些我自己能想到的解决方案 以及在类似线程上提出的一些解决方案 但是他们中的大多数要么适用于有限形式的问题 要么我无法证明结果仍然遵循所需的分
  • 嵌入式控制台日志优化

    不久前我曾发过一篇文章this https stackoverflow com questions 25204389 how to get unique values at preprocessing across files关于SO的问题
  • 为什么将静态类内初始化成员传递给采用 const 引用的函数需要该成员有定义?

    这是基于最初提出的问题here https stackoverflow com questions 14547370 confusion about in class initialization of static data member
  • ListView 内的 TextBox 绑定到对象,双向绑定不起作用

    Edit 好吧 在尝试了无数次但没有成功之后 我创建了一个非常小的 Wpf 应用程序 您可以直接复制此代码 请注意 当您更改文本框中的值并按 测试 按钮时 这些值永远不会更新 我不明白为什么双向绑定不起作用 请帮忙 这是 xaml
  • 配置 SourceTrail 以接受带有 @ 语法的嵌入式 c/c++ 头文件

    我正在尝试使用 Sourcetrail https www sourcetrail com https www sourcetrail com 快速了解 pic18 系列微控制器的一些旧嵌入式 c c 源代码 导入硬件包含文件时出现错误 该
  • 为什么禁止在后续私有派生类中简单提及基指针/引用?

    struct B struct D private B B fun return new D ok struct DD public D B foo return 0 error struct B B B is inaccessible 这

随机推荐

  • MATLAB通信系统仿真(二)——数字调制

    数字调制 文章目录 数字调制 前言 幅度键控 相移键控 频移键控 正交幅度调制 参考资料 前言 主要内容来自参考资料 2 在学习记录的同时勘正了书中代码的部分错误 幅度键控 示例代码 OOK clear all close all t 0
  • 必读的 Android 文章

    必读的 Android 文章 掘金官方 关注 2017 06 07 13 58 字数 25218 阅读 8782评论 2喜欢 218 写给 Android 开发者的混淆使用手册 Android 掘金本文转自 点击打开链接 毫无疑问 混淆是打
  • firewall 整合 docker:指定 ip 请求 docker

    知识准备 主要演示的是 centos7 的 firewall firewall 是 centos7 的默认自带防火墙 firewall 的底层是 iptables firewall 中的 chain 可以理解为是防火墙的策略组 docker
  • Vue 项目中使用ElementUI 框架中message 对话框实例对象

    Element ui中message弹出框使用总结 第一 按需导入的element ui中的message 在customer vue 文件中引入message 弹出对话框 第二步 在方法里面直接通过调用Message 弹出对话框实例对象
  • 【软件测试】

    系列文章目录 文章目录 系列文章目录 前言 第四章 单元测试 4 1 软件测试过程概述 4 2 什么是单元测试 4 2 1 单元测试的定义 4 2 2 单元测试的重要性 4 2 3 单元测试原则 4 3 单元测试的目标和任务 4 3 1 单
  • 开发工程师VS测试工程师VS测试开发工程师

    每年正式上班之后就会非常忙 今年也不例外 我们公司现在也忙了起来 都没有时间写我的自动化测试教程了 不过大家放心 我会继续写下去的 不过可能更新的不那么快了 最近被同事问到了一个问题 开发 测试和测试工程师都有啥区别 开发转测试是不是比我们
  • ISP之LSC(Lens Shading Correction)

    LSC Lens Shading Correction即镜头暗影校正 一 LSC的意义 众所周知Lens Shading分为Luma Shading和Color Shading 一般来说 物体到Lens中心的距离越远 图像越暗 呈圆形中性对
  • NC 和NCC 用户被锁定

    NC账户被锁定 NC上的用户 不管是管理员 还是用户 都是统一存放在同一张表的 不像NCC 一样有sm super user这张表 用来区分 所以在NC上一视同仁就好了 以下有两种常用的修改方式 一 数据库修改 nc65用户被锁定后涉及到三
  • 【Nginx】Nginx新增自定义模块

    Nginx新增自定义模块 系统环境 Nginx模块分类 Nginx模块执行流程 Nginx Handler模块示例 Nginx filter模块示例 系统环境 uname a Linux localhost localdomain 3 10
  • 爬虫 - QS世界大学排名数据

    爬虫 QS世界大学排名数据 网站简介 爬虫方法概述 使用工具 爬虫概述 第一部分 导入需要用到的python包 设置selenium控制浏览器打开网页 控制鼠标操作 定位节点 提取数据 滚轮翻页 构建循环自动爬取数据 数据储存 第二部分 导
  • 【图像处理OpenCV(C++版)】——2.2 OpenCV之矩阵运算详解(全)

    前言 欢迎来到本博客 本专栏主要结合OpenCV和C 来实现一些基本的图像处理算法并详细解释各参数含义 适用于平时学习 工作快速查询等 随时更新 具体食用方式 可以点击本专栏 OpenCV快速查找 更新中 gt 搜索你要查询的算子名称或相关
  • Mac 终端进入 conda 虚拟环境后 pip 依然安装到全局下的问题解决

    一 问题起因 之前折腾安装各种软件 可能是不小心改了些什么莫名奇妙的设置 然后就出现了问题 mac 系统 Catalina 版本10 15 5 在 anaconda 中创建了新的虚拟环境 比如 test 然后在 mac 终端中 输入sour
  • HC32F003系列芯片时钟源性能测试及分析

    HC32F003系列芯片时钟源性能测试及分析 测试概要 测试目的 分析HC32F003系列芯片几种时钟源的性能差异 主要分析频率 占空比的误差范围 测试项目 分别测试以下几种时钟源的性能 每种测试不少于10次 内部高速4MHz 内部高速8M
  • 服务器网络请求返回状态码集合

    在开发过程中报错是最令人头疼的 接下来我们就来谈谈那些状态码都是什么 200 服务器成功返回请求的数据 201 新建或修改数据成功 202 一个请求已经进入后台排队 异步任务 204 删除数据成功 400 发出的请求有错误 服务器没有进行新
  • 5G全产业链最新解读

    来源 中创产业研究院 摘要 自5G概念的提出 各国相关技术的研发以及产业布局也在如火如荼进行之中 与此同时我国5G在标准研发上正逐渐成为全球领跑者 有望在2019年实现5G技术的试商用 在2020年实现正式商用 本文将围绕5G的概况 国内外
  • pyinstaller在x86环境安装与多文件打包

    一 安装 Python官网下载安装源码 或者使用pip install pyinstaller安装 源码安装 解压后 进入文件夹 执行 python setup py install进行安装 二 多文件打包 方法主要还是两个 1 还是直接使
  • 6. Redis缓存设计与性能优化

    分布式缓存技术Redis 1 多级缓存架构 2 缓存设计 2 1 缓存穿透 2 2 缓存失效 击穿 2 3 缓存雪崩 2 4 热点缓存key重建优化 2 5 缓存与数据库双写不一致 3 开发规范与性能优化 3 1 键值设计 3 1 1 ke
  • 数据库系统笔记1: 绪论

    数据库概述 DBMS Data Base Management System 数据库管理系统 Metadata 元数据 关于数据描述的数据 数据模型 层次模型 使用树状结构表示实体和实体之间的联系 网状模型 使用有向图表示实体和实体之间的联
  • Iterator、Iterable接口的使用及详解

    Java集合类库将集合的接口与实现分离 同样的接口 可以有不同的实现 Java集合类的基本接口是Collection接口 而Collection接口必须继承java lang Iterable接口 以下图表示集合框架的接口 java lan
  • MFE常用数据结构之Lattice

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