paddle_quantum.finance.qpo

量子金融优化模型库的封装函数

portfolio_combination_optimization(num_asset, data, iter, lr, risk, budget, penalty, circuit, init_state, optimizer, measure_shots, logger, compare)

用于解决金融组合优化问题的高度封装的函数

参数:
  • num_asset (int) – 可投资项目的数目。

  • data (Union[pq.finance.DataSimulator, Tuple[paddle.Tensor, paddle.Tensor]]) – 股票数据。

  • iter (int) – 循环迭代次数。

  • lr (Optional[float] = None) – 梯度下降学习速率。

  • risk (float) – 投资的风险系数。

  • budget (int) – 投资红利。

  • penalty (float) – 投资惩罚。

  • circuit (Union[pq.ansatz.Circuit, int] = 2) – 量子电路的种类,若输入整数则搭建该整数层complex_entangled_layer。

  • init_state (Optional[pq.state.State] = None) – 输入到变分量子电路的初态,默认为零态的直积。

  • optimizer (Optional[paddle.optimizer.Optimizer] = None) – 优化器类型,默认为 paddle.optimizer.Adam

  • measure_shots (int) – 对末态做测量的次数,默认为2048。

  • logger (Optional[logging.Logger] = None) – 开启日志记录。

  • compare (bool = False) – 是否把梯度下降优化得到的损失最小值与真实损失最小值相比。

返回:

列表形式的最优的投资组合

返回类型:

List[int]