記事

量子コンピュータ産業 - ファイナンス

29
4月
,
2022

金融業界、そして金融業界が影響を与えるすべての人々が、量子コンピューティングから多くのものを得ることができます。リスク分析によって、通常であれば融資を断られるはずの家族が融資を受けられるようになったり、個人が資産やオプションの価格設定を改善することで経済的な能力と独立性を得たりと、金融業界における量子コンピュータの恩恵は多岐にわたる。 

多くの金融会社は他の業界と交流があるため、量子アプリケーションの重要性が重なることが多い。世界トップクラスの保険会社であるAXAを例にとると、同社は医薬品を製造していないが、顧客の中には医薬品を製造しているところもある。量子コンピューティングをいち早く導入したことで、同社は量子的な能力を獲得し、顧客はすでに保険会社にアドバイスを依頼している。 

量子コンピュータは、構造化されていない大規模なデータセットがある場合に、しばしば強力なスピードアップを提供する。量子システムに固有の特性により、多くのシナリオを同時に分析することができる。私たちはすでに、複雑なシステムの結果を予測するために自然のランダム性を利用したモンテカルロ・シミュレーションで、金融分野でこの実装のヒントを目にしている。最適化とシミュレーションは、損失の最小化、利益の最大化、エキゾチック・オプションへの投資のシミュレーションなど、金融分野における多くの用途をカバーしている。これらの計算の多くは、VQEのような古典と量子のハイブリッド・アルゴリズムを用いて、NISQハードウェアの現状でも実行できることは注目に値する。 

実例をご覧になりたいですか?Classiqプラットフォームがどのように量子コンピューティングを利用して金融問題を解決しているかを示す最近のウェビナーはこちらから、ポートフォリオ最適化のデモはこちらから、デモのご予約はこちらから

また、量子コンピューティングによるスピードアップが、量子機械学習に大きく貢献することも注目に値する。この分野では、構造化されていない大規模なデータセットがあらゆるところに存在し、金融ソリューションに一般的なアプローチが用いられている。古典的な機械学習モデルにマッピング可能な問題はすべて、量子マシンで解く候補になり得る。 

バリュー・アット・リスクへのクラシックのアプローチ

ある投資家が、ある一定レベルの信頼性がある場合、一定期間において投資損失がどの程度になるかを定量化する必要がある

この問題を解決するには、資産ポートフォリオを表す分布関数を作成し、バリュー・アット・リスク演算子を構築し、振幅推定を使ってバリュー・アット・リスクを抽出しなければなりません。条件付きガウシアンモデルで表される2つの資産ポートフォリオがあるとします。

Classiqプラットフォームを使うには、Visual Studio Codeの拡張機能かPython SDKを使います。もちろんClassiqのライセンスが必要です。

VS Codeのテキストモデルでは、ユーザーは制約と回路の機能を指定し、「量子回路の生成」コマンドを使用するだけです。


{
	"constraints:{
    "max_width": 8,
    "max_depth": 120
   },
  "logic_flow": [
    {
      "function": "Finance",
      "function_params": {
        "model": {
          "name": "gaussian",
          "params": {
            "num_qubits": 2,
            "normal_max_value": 2,
            "default_probabilities": [
              0.15,
              0.25
            ],
            "rhos": [
              0.1,
              0.05
            ],
            "loss": [
              1,
              2
            ],
            "min_loss": 0
          }
        },
        "finance_function": {
          "f": "var",
          "condition": {
            "threshold": 2,
            "larger": true
          }
        }
      }
    }
  ]
}

そしてPython SDKと:


from classiq import ModelDesigner
from classiq.builtin_functions import ファイナンス
from classiq_interface.finance import (
    model_input、
    function_input、
    gaussian_model_input
)

model_designer = ModelDesigner()
gaussian_input = gaussian_model_input.GaussianModelInput(
    num_qubits=2、
    normal_max_value=2、
    default_probabilities=[0.15, 0.25],
    rhos=[0.1, 0.05]、
    loss=[1, 2]、
    min_loss=0
)
model = model_input.FinanceModelInput(name="gaussian", params=gaussian_input)

condition = function_input.FunctionCondition(threshold=2, larger=True)
finance_function = function_input.FinanceFunctionInput(
    f="var"、
    condition=condition、
)
model_designer.Finance(params=Finance(model=model, finance_function=finance_function))

circuit = model_designer.synthesize()

これで回路を生成できる。

各ブロックの左上にあるプラス・アイコンをクリックすることで、この回路のさまざまな機能ブロックを探索することができる。

クラシックのロゴ

スクリプトにエラーがありました

次に、振幅推定を使ってこの回路を実行する。危険値を見つけるために、バイナリサーチを使用する。危険値とは、バイナリサーチの閾値に挿入したパーセンタイルに対応する損失値である。

テキストモデルで実行環境設定ファイルを作成し、"Execute Generated Quantum Circuit "コマンドを使う。


{
    "preferences": {
        "num_shots": 100,
        "amplitude_estimation": {
            "alpha": 0.05,
            "epsilon": 0.01,
            "binary_search_threshold": 0.05
        }
    }
}

そしてPython SDKでは、以下のように指定する:


res = エクゼキュータ(
    amplitude_estimation=execution_preferences.AmplitudeEstimation()
        alpha=0.5, epsilon=0.5, binary_search_threshold=0.05
    )
).execute_generated_circuit(generation_result=circuit)

その結果は?


"var_results": {
   "var": 2,
   "alpha": 0.040910419136997445
}

Classiqの量子リスク分析についてもっと知りたいですか?デモのご予約はこちらから

金融業界、そして金融業界が影響を与えるすべての人々が、量子コンピューティングから多くのものを得ることができます。リスク分析によって、通常であれば融資を断られるはずの家族が融資を受けられるようになったり、個人が資産やオプションの価格設定を改善することで経済的な能力と独立性を得たりと、金融業界における量子コンピュータの恩恵は多岐にわたる。 

多くの金融会社は他の業界と交流があるため、量子アプリケーションの重要性が重なることが多い。世界トップクラスの保険会社であるAXAを例にとると、同社は医薬品を製造していないが、顧客の中には医薬品を製造しているところもある。量子コンピューティングをいち早く導入したことで、同社は量子的な能力を獲得し、顧客はすでに保険会社にアドバイスを依頼している。 

量子コンピュータは、構造化されていない大規模なデータセットがある場合に、しばしば強力なスピードアップを提供する。量子システムに固有の特性により、多くのシナリオを同時に分析することができる。私たちはすでに、複雑なシステムの結果を予測するために自然のランダム性を利用したモンテカルロ・シミュレーションで、金融分野でこの実装のヒントを目にしている。最適化とシミュレーションは、損失の最小化、利益の最大化、エキゾチック・オプションへの投資のシミュレーションなど、金融分野における多くの用途をカバーしている。これらの計算の多くは、VQEのような古典と量子のハイブリッド・アルゴリズムを用いて、NISQハードウェアの現状でも実行できることは注目に値する。 

実例をご覧になりたいですか?Classiqプラットフォームがどのように量子コンピューティングを利用して金融問題を解決しているかを示す最近のウェビナーはこちらから、ポートフォリオ最適化のデモはこちらから、デモのご予約はこちらから

また、量子コンピューティングによるスピードアップが、量子機械学習に大きく貢献することも注目に値する。この分野では、構造化されていない大規模なデータセットがあらゆるところに存在し、金融ソリューションに一般的なアプローチが用いられている。古典的な機械学習モデルにマッピング可能な問題はすべて、量子マシンで解く候補になり得る。 

バリュー・アット・リスクへのクラシックのアプローチ

ある投資家が、ある一定レベルの信頼性がある場合、一定期間において投資損失がどの程度になるかを定量化する必要がある

この問題を解決するには、資産ポートフォリオを表す分布関数を作成し、バリュー・アット・リスク演算子を構築し、振幅推定を使ってバリュー・アット・リスクを抽出しなければなりません。条件付きガウシアンモデルで表される2つの資産ポートフォリオがあるとします。

Classiqプラットフォームを使うには、Visual Studio Codeの拡張機能かPython SDKを使います。もちろんClassiqのライセンスが必要です。

VS Codeのテキストモデルでは、ユーザーは制約と回路の機能を指定し、「量子回路の生成」コマンドを使用するだけです。


{
	"constraints:{
    "max_width": 8,
    "max_depth": 120
   },
  "logic_flow": [
    {
      "function": "Finance",
      "function_params": {
        "model": {
          "name": "gaussian",
          "params": {
            "num_qubits": 2,
            "normal_max_value": 2,
            "default_probabilities": [
              0.15,
              0.25
            ],
            "rhos": [
              0.1,
              0.05
            ],
            "loss": [
              1,
              2
            ],
            "min_loss": 0
          }
        },
        "finance_function": {
          "f": "var",
          "condition": {
            "threshold": 2,
            "larger": true
          }
        }
      }
    }
  ]
}

そしてPython SDKと:


from classiq import ModelDesigner
from classiq.builtin_functions import ファイナンス
from classiq_interface.finance import (
    model_input、
    function_input、
    gaussian_model_input
)

model_designer = ModelDesigner()
gaussian_input = gaussian_model_input.GaussianModelInput(
    num_qubits=2、
    normal_max_value=2、
    default_probabilities=[0.15, 0.25],
    rhos=[0.1, 0.05]、
    loss=[1, 2]、
    min_loss=0
)
model = model_input.FinanceModelInput(name="gaussian", params=gaussian_input)

condition = function_input.FunctionCondition(threshold=2, larger=True)
finance_function = function_input.FinanceFunctionInput(
    f="var"、
    condition=condition、
)
model_designer.Finance(params=Finance(model=model, finance_function=finance_function))

circuit = model_designer.synthesize()

これで回路を生成できる。

各ブロックの左上にあるプラス・アイコンをクリックすることで、この回路のさまざまな機能ブロックを探索することができる。

クラシックのロゴ

スクリプトにエラーがありました

次に、振幅推定を使ってこの回路を実行する。危険値を見つけるために、バイナリサーチを使用する。危険値とは、バイナリサーチの閾値に挿入したパーセンタイルに対応する損失値である。

テキストモデルで実行環境設定ファイルを作成し、"Execute Generated Quantum Circuit "コマンドを使う。


{
    "preferences": {
        "num_shots": 100,
        "amplitude_estimation": {
            "alpha": 0.05,
            "epsilon": 0.01,
            "binary_search_threshold": 0.05
        }
    }
}

そしてPython SDKでは、以下のように指定する:


res = エクゼキュータ(
    amplitude_estimation=execution_preferences.AmplitudeEstimation()
        alpha=0.5, epsilon=0.5, binary_search_threshold=0.05
    )
).execute_generated_circuit(generation_result=circuit)

その結果は?


"var_results": {
   "var": 2,
   "alpha": 0.040910419136997445
}

Classiqの量子リスク分析についてもっと知りたいですか?デモのご予約はこちらから

"キュービット・ガイのポッドキャスト "について

The Qubit Guy(弊社最高マーケティング責任者ユヴァル・ボーガー)がホストを務めるこのポッドキャストは、量子コンピューティングのオピニオンリーダーをゲストに迎え、量子コンピューティングエコシステムに影響を与えるビジネスや技術的な疑問について議論します。ゲストは、量子コンピュータのソフトウェアやアルゴリズム、量子コンピュータのハードウェア、量子コンピューティングの主要なアプリケーション、量子産業の市場調査などについて興味深い見解を提供します。

ポッドキャストへのゲスト推薦をご希望の方は、こちらまでご連絡ください。

量子ソフトウェア開発を開始

お問い合わせ