paddle_quantum.finance.pricing

量子蒙特卡洛及期权定价相关工具。

qae_cir(oracle, num_ancilla)

根据给定酉算子搭建一条量子振幅估计电路。

参数:
  • oracle (paddle.Tensor) – 给定酉算子。

  • num_ancilla (int) – 辅助比特使用数。

返回:

一条用于量子振幅估计的量子电路

返回类型:

Circuit

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