奇异期权与路径依赖
周五下午三点,某 50ETF(510050)期权做市账户的交易员收到一条结构化销售台的内部消息:一家头部券商收益凭证团队,刚以 18 个月期限挂出了一只 8 亿元规模的雪球结构产品,挂钩中证500(CSI 500),敲入线在期初指数的 75%,月度敲出观察。这位交易员所在的私募 vol 台,与该券商签了一张场外(OTC)对冲协议,承接其中 4 亿元的"短下敲...
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 30 个结果
English questions周五下午三点,某 50ETF(510050)期权做市账户的交易员收到一条结构化销售台的内部消息:一家头部券商收益凭证团队,刚以 18 个月期限挂出了一只 8 亿元规模的雪球结构产品,挂钩中证500(CSI 500),敲入线在期初指数的 75%,月度敲出观察。这位交易员所在的私募 vol 台,与该券商签了一张场外(OTC)对冲协议,承接其中 4 亿元的"短下敲...
打开 →周一上午九点,一家做 A 股 量化的 私募 把研究机的账号交到你手上。你 ssh 上去,屏幕上只有一行 quant@research cn: 公式DIR 而 DIR 是空的——这一行会展开成 rm rf / ,把根目录递归扫掉。对策是养成两步习惯:先 ls lah 确认你正要删的就是你想删的,再敲 rm rf 。 权限: chmod 、 chown 、 um...
打开 →A 股 一家 私募 的 数据 团队 每天 下午 15:00 收盘 后,要 把 沪深300 ETF(510300)的 tick 文件 从 staging 服务器 同步 到 本地 研究机,解压、做 一次 行数 校验、调 一个 Python loader 写 进 数据库;如果 任何 一步 失败,调度器 必须 拿到 非 0 退出 码,方便 把 这一晚 标 红。这套 ...
打开 →Hook(开场场景). 某资管公司多策略组合的固收风险经理,在月末复盘时盯着账上三笔头寸:(A)规模 5 亿元的 5 年期 FR007 利率互换(IRS),付固收浮,固定端 2.45%;(B)一笔参考某城投平台的 CRMW 1 亿元名义;(C)一只挂钩中证500 的 18 个月雪球结构化产品,由头部券商收益凭证渠道发出,规模 3 亿元,敲入线 75%、月...
打开 →周五晚上,某私募量化研究员要对一个 20 只股票的行业轮动策略做半年回测,需要一个 (T=252, N=20) 的日收益矩阵。问题是平台的合规决策写得很清楚:不接行情数据牌照,所有训练样例只能跑合成数据。CSV 里没有,卖方接口也没有,只能自己生成。这一课给出最小可复现的配方:一颗确定的随机种子、对数欧拉离散化的 GBM 一步、用 Cholesky 分解构造...
打开 →钩子:沪深300期货上的已实现方差 周五尾盘,你坐在某 CTA 私募的随机分析席位上。组合在 CFFEX 的 IF(沪深300股指期货)主力合约上挂着一笔做市头寸,每周一你都会把上周 5 分钟对数收益逐项平方后求和,再与上周五收盘隐含的方差对比。经验上这条规律相当锐利:那个求和稳定在「已实现方差 × 经过时长」上,从 5 分钟切到 1 分钟、再切到逐笔,收敛...
打开 →Hook(开场场景). 某头部券商衍生品定价团队的工程师周一早晨拿到了三张交易工单:(A)需要在 50ETF(510050)香草欧式期权(European option)链上做隔夜重估,行权价从 2.0 到 3.5,30 个 strike 网格,到期日覆盖未来 12 个月——目前由桌面 Excel 单独计算每只期权要 4 分钟才能跑完,桌面员工抱怨重估在...
打开 →A 股 一家 私募 的 quant,下午 三点半 收盘 之后 收到 数据团队 的 一条 消息:「今天 沪深300 ETF 的 tick 文件 落到 /data/market data/cn/equity/tick/20250424/ 了,你 看看 行数 对不对、品种 有没有 缺、总成交额 大概 多少。」她 不打算 写一个 Python 脚本——这种 「看一眼...
打开 →Hook(开场场景). 某私募 vol 套利基金的基金经理在周一上午开盘前盯着两个数字:一个是中证 500 过去 60 个交易日的已实现年化波动率,21.3%;另一个是该基金通过头部券商签订的、未来 60 天到期的场外(OTC)方差互换(variance swap)含税公允方差点位 公式,对应的方差互换公允波动率约为 24.8%。中间 3.5 个 vol...
打开 →晚上 十点,你 启动 了 一个 沪深300 ETF(510300)的 5 分钟 均值回归 策略 回测,参数 扫了 三十 组,估计 要 跑 一整夜 加 半天。你 把 笔记本 一合 准备 回家,然后 突然 想起 一件 事: ssh 连接 一断,那个 Python 进程 就 死了。第二天 一早 你 还得 看 进度、还要 在 跑到 一半 时 杀掉 它 重启。这一课 ...
打开 →周一早晨九点,你在一家私募的研究台上收到上游数据团队推过来的 510300 2024.csv ——沪深300 ETF 在 2024 年 1 月的日线行情。你打算直接 df = pd.read csv(path) 然后开始写信号,结果跑出来的 DataFrame 漏洞密布: close 列的 dtype 是 object 而不是 float64 (因为有三行写...
打开 →国内某头部私募(类似九坤投资)的风控分析师接手了一份 C++ 工具,功能是吃下一个 510300.SH 成交 CSV、把它聚合成五分钟 bar 序列。工具在 happy path 上工作。第一次某行格式异常的 CSV 把 parse double 送进了 throw std::runtime error("bad price") ,进程就漏掉了那个已经打开的...
打开 →国内某头部私募的中频策略团队把 3.5.1 写的那版单线程 Monte Carlo 定价器搬上生产: 给 510300.SH (沪深300 ETF) 的欧式看涨期权报实时理论价。CPU 占用率长期挂在 8%——一台 16 核机器只有一个核在干活。负责人甩给你的任务很直接: 把 n paths 平均分到 N 个线程上, 共享一个 f64 累加器, 拿到一样的价...
打开 →周五下班前你在私募的 CI 仪表盘上看到一片绿: xyzprice 的 86 个测试全过,行覆盖率显示 95%。周一开盘九点二十,研究系统在喂一段空盘后行情时崩在了 mean price([]) 上——你写过的测试里,从来没有一个把空列表喂进去。覆盖率告诉你「这一行跑过」,但不会告诉你「这一行只在 happy path 上跑过」。上一课的 pytest 让你...
打开 →周一早盘前,风控同事把 SSE 全年的 tick CSV 丢到你账户里——压缩前 18GB。需求是按 code 汇总全年的全市场成交额(turnover),9:00 开盘前发邮件。上次月报你写得很直接: rows = open(path).read().splitlines() ,然后 Counter 累加,本机内存被它撑得换页换到 swap 区。同一段汇总...
打开 →国内某私募衍生品桌的研究主管要在不动 Monte Carlo 引擎的前提下,对同一笔 CSI 300 ETF(510300.SH)4.30 行权价的欧式 call 跑三种 payoff——call、put、二元 digital。C++98 时代的答案是一棵 PayoffBase 指针继承树;C++11 之后的答案变成一行 lambda:把它直接传进 pric...
打开 →周一开盘前一刻钟,你在私募的研究服务器上 merge 了一段对 mean price 的「无害重构」——只是把 sum(...) / len(...) 拆成两步,方便在中间加日志。脚本照常跑完,回测照常出图。下午两点你才发现 PnL 报表上 XYZ001.SH 的当日均价对不上:你在重构时把 sum 与 len 的参数搞反了,函数对所有非空输入都返回 1 。...
打开 →上海一家 私募 的电子交易主管把一名资深工程师拉到一边:「期权做市新策略要求 沪深300 ETF 的 top of book 在策略线程内到达延迟不超过 50 微秒。我们现在跑 Kafka 是 3 毫秒——差了三个数量级。怎么办?」诚实的答案是「先量,再按 rung 一级一级往下挪」。L2 把你留在 Kafka 这一级—— acks='all' 端到端毫秒级...
打开 →国内一家头部 quant 在 CFFEX 张家湾数据中心 colo 部署的低延迟工程负责人,正在 review 自家 IF 股指做市路径的 tick to trade 延迟报告。中位数 4.8 μs;MarketMakerTier1 桌内预算是 5 μs,正好达标。P99.9 是 47 μs,超过了 OperationalRiskCommittee 公开的 ...
打开 →国内私募的 50ETF 期权做市,盘中 13:47 SSE 一条 IF 主力 tick 的入库延迟从平均 80 毫秒跳到 1.8 秒。L1 的结构化日志能告诉你这一笔 tick 落在 feed handler consumer 7c4f9d8b6 x2k4l 这个 pod 的某条 offset;L2 的 dashboard 能告诉你 p99 延迟在过去 5 ...
打开 →周三上午,你在国内某头部私募的衍生品自营桌做期权 Greeks 重估。沪深300 ETF(510300.SH)期权链上挂着 480 张合约,每张合约要算一次 Delta、Gamma、Vega、Theta,每个 Greek 都是一次 100 万路径的 Monte Carlo——480 × 4 × 1M = 19.2 亿条路径。上一课你已经用 monotonic...
打开 →某私募的量化基础设施工程师把一个棘手问题摆到桌上:回测代码一份要在 CI 上跑(必须 deterministic、必须秒级、必须无网络),另一份要在研究 notebook 里跑(必须真接口、必须有缓存),两边的调用点不能动。本课把前三节的全部产物——L1 的 simulate basket 、L2 的 make cohort ,L3 的 fetch yiel...
打开 →某家私募的因子研究员要演示一个多因子打分模型,需要 200 家"虚拟公司"的横截面:每家要有行业、市值、贝塔、价值/动量/质量三个因子分,且这些字段之间的相关结构得接近真实 A 股名单。另一边,执行成本组要演示成本拆解,需要一段带买卖价差与成交大小的合成 tick 流。两段需求都不能动行情数据牌照——上一课只能产价格路径,这一课要把它扩成横截面与微观结构。本...
打开 →旁边那台的同事盯沪深300 ETF 的日内 tick 流。早上 10 点,她已经积了 8 万条 tick 行的 CSV;她的开盘脚本只是一段 Python:把每行读进来,过滤掉 volume 100] [364100.0, 4860.0, 546090.0, 3654.0] 二十行删到四行,懂语法的同事五秒就能审完——这是要追的标准。 练习 Given pr...
打开 →上海一家 私募 的 quant 把 L2 产出的 feed handler:1.0.0 镜像推到 内部 registry,问 平台 组 怎么 把 它 部署 到 测试 集群。负责 工程师 直接 反 问:「你 的 docker compose.yml 本地 长 什么 样?你 的 manifests/ 在 测试 集群 长 什么 样?」quant 两份 都 没有,手...
打开 →上海陆家嘴某头部私募的中频组用了七年的 C++ 报单 / 回测框架, 这一周决定把对接券商 CTP 柜台的协议适配层用 Rust 重写。组里资深工程师拿到任务的第一天敲了四条命令:装工具链、新建项目、构建、运行。九十秒后磁盘上多了一个二进制文件并打印了一行字。同样的循环在 C++ Fundamentals (3.4.1) 里要写 CMakeLists.txt...
打开 →某私募(private fund)交易日下午四点,你的 PM 把过去 500 个交易日的策略净值推过来,问:这条曲线的均值真的稳定吗?波动率有没有结构性变化?只看一条路径,凭什么相信估出来的均值与自相关有意义?这是时间序列分析(time series analysis)的元问题。横截面统计里你有 公式 个独立同分布(i.i.d.)样本,推断建立在「重复抽样」...
打开 →周二早上 8:47。某上海私募的股票策略组组长在数据团队飞书里点了 @:「我们 fundamentals pit 表里 600519 以后的股票全部缺失。今早策略对沪深300 后 30% 的标的完全没头寸。」值班数据工程师调出昨晚的入库日志。Wind 数据 服务 SFTP 文件 02:14 完成下载——SFTP close() 返回成功、cron 日志写「入...
打开 →周日晚上 11 点的消息 某私募的中后台周日晚上甩来一条消息:风控组明早要用你写的 summarise.py 跑一份沪深300成分股的 tick 滚动 VWAP,他们那台服务器装的是干净的 Python 3.11、没装你电脑上的任何包。你抓起脚本一看,它现在还是 notebook 里那个用 print 打日志、入口写在最后一格、依赖装在 /anaconda3...
打开 →上海一家 私募 的 风控 主管 批准 了 你 的 L3 manifest,但 在 部署 步 上 停 住:「开发者 把 一行 修复 合 入 main,这 时 镜像 从 哪 来?谁 打 tag?谁 扫描?谁 推 到 Aliyun ACR?谁 对 feed dev 跑 kubectl apply ?明天 生产 上 在 1.0.1 里 发现 bug,谁 把 它 翻 ...
打开 →