OpenAutocall
收藏资源简介:
Autocallable Notes Pricing (Synthetic) 是一个完全合成的数据集,专为机器学习在衍生品定价领域的应用而设计。其核心目的是通过生成大量的自动赎回结构化票据定价场景及其对应的公允价值,来训练快速的替代定价模型(代理模型)、对表格回归模型进行基准测试,并研究产品具体条款(如票息、障碍)与市场状态(如标的资产价格、相关性、波动率曲面)如何共同决定产品的公允价值。数据通过蒙特卡洛模拟方法,基于随机波动率模型(主要是Heston模型)从第一性原理生成,不包含任何真实市场数据或专有报价,确保了数据的可复现性和开源性质。数据集的主要任务是表格回归,目标变量是票据的公允价值(`PV`)。数据集规模在100万到1000万行之间,以宽表格CSV格式呈现,包含约1531列。每行代表一个独立的定价场景。数据列可详细分为以下几组:1. 标识符与元数据:如估值日期、模型索引、观察索引、资产数量等。2. 产品条款:如票据期限、票息率、票息障碍、自动赎回障碍、是否包含看跌期权、是否包含记忆效应、看跌期权行权价等。3. 市场状态:如无风险利率、各标的资产的初始即期价格、估值日即期价格、资产间相关系数等。4. 固定时间表与隐含波动率曲面:包含最多12个固定观察日期,以及每个资产在每个日期上对31个不同行权价的隐含波动率,共同构成了离散化的波动率曲面。5. 目标变量:核心是`PV`(票据公允价值,回归目标),同时提供`PV_std`(蒙特卡洛模拟的标准误差,用于评估标签噪声)。数据生成过程覆盖了多种参数配置,包括1至4个标的资产的资产篮子、最差表现(worst-of)或最小篮子(min-basket)的收益约定、可选的记忆票息等。生成参数如期限、票息范围、障碍范围、相关系数范围、Heston模型参数范围等均在README中明确列出。该数据集适用于以下场景:开发用于加速复杂衍生品定价的机器学习模型、研究定价模型对输入参数的敏感性、以及作为金融领域表格回归任务的高质量合成基准。需要注意的是,由于数据完全基于模型模拟生成,基于此训练的模型学习的是特定模拟定价器的行为,而非真实市场的定价规律;此外,数据存在由蒙特卡洛模拟引入的标签噪声,且对于资产数量少于4的场景,波动率曲面部分存在大量零填充列。
数据集概述
数据集名称:Autocallable Notes Pricing (Synthetic)
许可协议:CC-BY-4.0
语言:英文
数据集大小:1M < n < 10M 行
任务类型:表格回归(Tabular Regression)
标签:金融、量化金融、衍生品、结构化产品、可自动赎回票据、期权定价、蒙特卡洛、Heston模型、合成数据
核心任务
- 主要任务:表格回归——根据产品条款和市场状态预测可自动赎回票据的公允价值(PV)。
- 辅助任务:定价加速与模型蒸馏、敏感度分析与校准研究。
数据生成方式
- 完全合成:基于蒙特卡洛模拟生成,使用Heston随机波动率模型。
- 生成工具:开源流水线 VegaInstitute/RG-ML-Autocall-Dataset
- 不包含:任何真实市场数据、专有报价或抓取内容。
基础模型
| 模型 | 动态特性 | 说明 |
|---|---|---|
| Heston | 随机波动率 | 产生波动率微笑,参数从设定范围内采样 |
生成参数(默认配置)
| 参数 | 值/范围 |
|---|---|
| 年交易日数 | 252 |
| 期限(年) | {1, 2, 3} |
| 年观察次数 | {1, 2, 4} |
| 每篮子资产数 | 1–4 |
| 票息率 | [0.01, 0.50] |
| 票息障碍 | [0.80, 1.00] |
| 自动赎回障碍 | [1.00, 1.30] |
| 看跌行权价 | [0.70, 1.30] |
| 资产间相关性 | [-0.80, 0.80] |
| 无风险利率 | 0.0 |
| 现货/名义本金 | 1.0 |
| 蒙特卡洛路径数 | 最多 1,000,000 |
| 篮子约定 | 最差/最小篮子 |
| MC质量过滤 | 保留 PV_std ≤ 0.01 的场景 |
| Heston: 均值回归速度 κ | [1.0, 10.0] |
| Heston: 波动率波动 ν | [0.01, 1.0] |
| Heston: 价格/方差相关性 ρ | [-0.95, -0.10] |
| Heston: 长期方差 θ | [0.01, 0.20] |
| Heston: 初始方差 V₀ | [0.0001, 0.04] |
数据结构
数据集为宽格式CSV表格,每行对应一个定价场景,完整多资产配置下约有 ~1,531列。列分组如下:
标识符与元数据
value_date:估值日期(年分数)value_date_memory:记忆票息特征的估值日期model_idx:模型参数集索引observation_idx:某个模型内的产品抽取索引frequency:观察/固定频率use_min_basket:是否采用最差/最小篮子约定
产品条款
tenor:到期期限(年)coupon:票息率coupon_barrier:票息障碍(现货的百分比)autocall_barrier:自动赎回障碍is_put:到期是否适用向下敲入看跌期权has_memory:是否累积未付票息(记忆效应)strike_put:看跌行权价(现货的百分比)
市场状态
rate:无风险利率num_assets:标的资产数量(1–4)spot_asset_{1..4}:每个资产的初始现货价格value_date_spot_asset_{1..4}:估值日每个资产的现货价格corr_asset_i_j:资产间的成对相关性
观察日期与隐含波动率曲面
Date{1..12}:固定/观察日期(年分数)Asset{a}_Date{d}_vol_{k}:资产 a、固定日期 d、行权价指数 k 的隐含波动率(1–31)
Asset{a}_Date{d}_vol_{1..31} 块编码了离散化的隐含波动率曲面:每个资产每个固定日期对应31个行权价,最多4个资产、12个日期。
目标变量
PV:票据的公允价值(回归目标)PV_std:PV的蒙特卡洛标准误差(标签的不确定性)
使用示例
python from datasets import load_dataset ds = load_dataset("VegaInstitute/autocallable-notes-pricing", split="train") print(ds.features) print(ds[0]["PV"])
使用pandas:
python import pandas as pd df = pd.read_csv("hf://datasets/VegaInstitute/autocallable-notes-pricing/data/heston/dataset.csv") y = df["PV"] X = df.drop(columns=["PV", "PV_std", "model_idx", "observation_idx"])
局限性
- 合成数据:价格和波动率曲面源于模型假设,并非真实交易报价。
- 标签噪声:PV存在蒙特卡洛误差,可用PV_std加权或过滤。
- 模型覆盖:限于Heston模型及给定参数范围,超出范围的产品条款将超出分布。
- 宽且稀疏:波动率曲面块占主导列数,资产数小于4时许多列被零填充。
- 利率为零:默认生成时无风险利率设为0。
引用
bibtex @misc{vegainstitute_autocall_synthetic, title = {Autocallable Notes Pricing (Synthetic)}, author = {Vega Institute}, year = {2026}, howpublished = {Hugging Face Datasets}, url = {https://huggingface.co/datasets/VegaInstitute/autocallable-notes-pricing}, note = {Synthetic Monte Carlo dataset for pricing autocallable structured notes} }





