paddle_quantum.finance.pricing
量子蒙特卡洛及期权定价相关工具。
- qae_cir(oracle, num_ancilla)
根据给定酉算子搭建一条量子振幅估计电路。
- 参数:
oracle (paddle.Tensor) – 给定酉算子。
num_ancilla (int) – 辅助比特使用数。
- 返回:
一条用于量子振幅估计的量子电路
- 返回类型:
- qae_alg(oracle, num_ancilla)
量子振幅估计算法。
- 参数:
oracle (paddle.Tensor) – 一个 \(n\)-比特酉算子 \(\mathcal{A}\)。
num_ancilla (int) – 辅助比特使用数。
- 返回:
包含如下元素的 tuple:
用于量子振幅估计的量子电路。
振幅估计结果,即 \(|\sin(2\pi\theta)|\)。
- 返回类型:
Tuple[Circuit, paddle.Tensor]
备注
\(\mathcal{A}\) 满足 \(\mathcal{A}|0^{\otimes n}\rangle=\cos(2\pi\theta)|0\rangle|\psi\rangle+\sin(2\pi\theta)|1\rangle|\phi\rangle.\)
- qmc_alg(fcn, list_prob, num_ancilla=6)
量子蒙特卡洛算法。
- 参数:
fcn (Callable[[float], float]) – 应用于随机变量 \(X\) 的实函数 \(f\)。
list_prob (List[float]) – 随机变量 \(X\) 的概率分布,其中第 j 个元素对应第 j 个事件的发生几率。
num_ancilla (int) – 辅助比特使用数。默认为
6
。
- 返回:
包含如下元素的 tuple: - 用于量子蒙特卡洛的量子电路。 - 期望值估计结果,即 \(\mathbb{E}[f(X)]\)。
- 返回类型:
Tuple[Circuit, paddle.Tensor]
- class EuroOptionEstimator(initial_price, strike_price, interest_rate, volatility, maturity_date, degree_of_estimation=5)
基类:
object
欧式期权定价估算器
- 参数:
initial_price (float) – 初始价格。
strike_price (float) – 成交价。
interest_rate (float) – 无风险利率。
volatility (float) – 市场波动性。
maturity_date (float) – 期权到期日(以年为单位)。
degree_of_estimation (int) – 估计精度指数。
备注
假设欧式期权定价处于 Black-Scholes-Merton 模型 中。
- estimate()
使用量子蒙特卡洛算法估算欧式期权定价。
- 返回:
给定资产的期权定价。
- 返回类型:
float
- plot()
画出在该方案中使用的量子电路。
- cra_oracle(prob, param, lgd, threshold)
构建用于信贷风险估计的 Oracle。
- 参数:
prob (numpy.ndarray) – 隐变量的概率分布。
param (numpy.ndarray) – 资产对应的伯努利变量参数。
lgd (List[int]) – 资产违约损失。
threshold (float) – VaR 的猜测值。
- 返回:
即将用于 QAE 算法的 Grover 算子。
- 返回类型:
paddle.Tensor
- class CreditRiskAnalyzer(num_assets, base_default_prob, sensitivity, lgd, confidence_level, degree_of_simulation=4, even_sample=True)
基类:
object
使用量子算法加速的信贷风险估计模拟器。
- 参数:
num_assets (int) – 资产数量。
base_default_prob (numpy.ndarray) – 基础违约概率。
sensitivity (numpy.ndarray) – 敏感度。
lgd (numpy.ndarray) – 违约损失。
confidence_level (float) – 置信度。
degree_of_simulation (int) – 模拟精度系数,默认为
4
。even_sample (bool) – 是否按照概率分布均匀采样,默认为
True
。
备注
信贷风险估计的数学模型根据 Tarca 和 Silvio 提供的模型 构建,即金融系统风险默认遵从标准正态分布。
- estimate_var()
使用量子振幅估计算法分析配置好的风险资产。
- 返回:
资产组合的在险价值。
- 返回类型:
float