diff --git a/applications/finance/value_at_risk/Persik.metadata.json b/applications/finance/value_at_risk/Persik.metadata.json deleted file mode 100644 index 603cafabe..000000000 --- a/applications/finance/value_at_risk/Persik.metadata.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "friendly_name": "Value At Risk", - "description": "Calculating value at risk using iterative quantum amplitude estimation", - "problem_domain_tags": ["search"], - "qmod_type": ["application"], - "level": ["advanced", "demos"] -} diff --git a/applications/finance/value_at_risk/value_at_risk.ipynb b/applications/finance/value_at_risk/value_at_risk.ipynb index 4763dd8e6..77e6dfbf9 100644 --- a/applications/finance/value_at_risk/value_at_risk.ipynb +++ b/applications/finance/value_at_risk/value_at_risk.ipynb @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 55, "id": "2", "metadata": {}, "outputs": [], @@ -34,7 +34,8 @@ "import numpy as np\n", "import scipy\n", "\n", - "from classiq import *" + "from classiq import *\n", + "from classiq.applications.iqae.iqae import IQAE" ] }, { @@ -42,15 +43,23 @@ "id": "3", "metadata": {}, "source": [ - "Now, we will define the parameters required for the Value at Risk process. " + "Now, we will define the parameters required for the Value at Risk process, and create the probability distribution function." ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 56, "id": "4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.030841014265948 0.07029323208790372 0.26512870853210846 1.2354548886696226 2.8262271398622736\n" + ] + } + ], "source": [ "# How many qubits we want the quantum circuit to be\n", "num_qubits = 7\n", @@ -65,7 +74,24 @@ "ALPHA = 0.07\n", "\n", "# Find Alpha in a given precision\n", - "TOLERANCE = ALPHA / 10" + "TOLERANCE = ALPHA / 10\n", + "\n", + "\n", + "def get_log_normal_probabilities(mu_normal, sigma_normal, num_points):\n", + " log_normal_mean = np.exp(mu + sigma**2 / 2)\n", + " log_normal_variance = (np.exp(sigma**2) - 1) * np.exp(2 * mu + sigma**2)\n", + " log_normal_stddev = np.sqrt(log_normal_variance)\n", + "\n", + " # cutting the distribution 3 sigmas from the mean\n", + " low = np.maximum(0, log_normal_mean - 3 * log_normal_stddev)\n", + " high = log_normal_mean + 3 * log_normal_stddev\n", + " print(log_normal_mean, log_normal_variance, log_normal_stddev, low, high)\n", + " x = np.linspace(low, high, num_points)\n", + " return x, scipy.stats.lognorm.pdf(x, s=sigma_normal, scale=np.exp(mu_normal))\n", + "\n", + "\n", + "# %%\n", + "grid_points, probs = get_log_normal_probabilities(mu, sigma, 2**num_qubits)" ] }, { @@ -73,12 +99,12 @@ "id": "5", "metadata": {}, "source": [ - "This is a classical approach to solve the Value at Risk problem." + "In order to have a benchmark to our solution, and since the problem space is not too big, let's calculate the Value at Risk classically, and plot the probability distribution function." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 57, "id": "6", "metadata": {}, "outputs": [ @@ -86,23 +112,22 @@ "name": "stdout", "output_type": "stream", "text": [ - "2.030841014265948 0.07029323208790372 0.26512870853210846 1.2354548886696226 2.8262271398622736\n", "Value at risk at 7%: 1.6613309244219858\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 3, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -112,22 +137,6 @@ } ], "source": [ - "def get_log_normal_probabilities(mu_normal, sigma_normal, num_points):\n", - " log_normal_mean = np.exp(mu + sigma**2 / 2)\n", - " log_normal_variance = (np.exp(sigma**2) - 1) * np.exp(2 * mu + sigma**2)\n", - " log_normal_stddev = np.sqrt(log_normal_variance)\n", - "\n", - " # cutting the distribution 3 sigmas from the mean\n", - " low = np.maximum(0, log_normal_mean - 3 * log_normal_stddev)\n", - " high = log_normal_mean + 3 * log_normal_stddev\n", - " print(log_normal_mean, log_normal_variance, log_normal_stddev, low, high)\n", - " x = np.linspace(low, high, num_points)\n", - " return x, scipy.stats.lognorm.pdf(x, s=sigma_normal, scale=np.exp(mu_normal))\n", - "\n", - "\n", - "# %%\n", - "grid_points, probs = get_log_normal_probabilities(mu, sigma, 2**num_qubits)\n", - "\n", "probs = (probs / np.sum(probs)).tolist()\n", "\n", "fig, ax1 = plt.subplots()\n", @@ -163,17 +172,19 @@ "id": "7", "metadata": {}, "source": [ - "This is another classical way to solve the Value at Risk problem. We will analyse it in order to determine that the anticipated value is the same as the previous one, with the same data. Create the algorithm for calculating the VaR, given a function that estimates P[v]" + "### The Binary Search Approach To Calculate Value At Risk\n", + "We can solve the Value at Risk use-case also with a binary search approach.\n", + "This approach will benefit us from a complexity perspective once we will integrate the quantum function that calculates alpha given an index." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 58, "id": "8", "metadata": {}, "outputs": [], "source": [ - "# This function calculates the alpha given the index and the list of probabilities\n", + "# This function calculates the alpha classically given the index and the list of probabilities\n", "\n", "\n", "def calc_alpha(index: int, probs: list[float]):\n", @@ -183,13 +194,13 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 59, "id": "9", "metadata": {}, "outputs": [], "source": [ - "# This function searches for the required alpha, given the index and the current alpha.\n", - "# The search size will be added or substracted from the index as per the comparison.\n", + "# This function updates the new index based on the comparison between the measured alpha value and the required value.\n", + "# The search size correlates with the current binary search step.\n", "\n", "\n", "def update_index(index: int, required_alpha: float, alpha_v: float, search_size: int):\n", @@ -200,7 +211,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 60, "id": "10", "metadata": {}, "outputs": [], @@ -216,6 +227,13 @@ " print(\"------------------------\")\n", "\n", "\n", + "def print_results(grid_points, index, probs):\n", + " print(f\"Value at risk at {ALPHA*100}%: {grid_points[index]})\")\n", + " global VAR\n", + " print(f\"Real VaR\", VAR)\n", + " return index\n", + "\n", + "\n", "def value_at_risk(required_alpha, index, calc_alpha_func=calc_alpha):\n", " v = probs[index]\n", " alpha_v = calc_alpha_func(index, probs)\n", @@ -231,19 +249,12 @@ " alpha_v = calc_alpha_func(index, probs)\n", " print_status(v, alpha_v, search_size, index)\n", "\n", - " print(f\"Value at risk at {ALPHA*100}%: {grid_points[index]})\")\n", - " print(f\"Consecutive items are: \")\n", - " print(f\"{grid_points[index-1]}: {calc_alpha(index-1, probs)}\")\n", - " print(f\"{grid_points[index]}: {calc_alpha(index, probs)}\")\n", - " print(f\"{grid_points[index+1]}: {calc_alpha(index+1, probs)}\")\n", - " global VAR\n", - " print(f\"Real VaR\", VAR)\n", - " return index" + " print_results(grid_points, index, probs)" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 61, "id": "11", "metadata": {}, "outputs": [ @@ -272,12 +283,7 @@ "index=34\n", "------------------------\n", "Value at risk at 7.000000000000001%: 1.6613309244219858)\n", - "Consecutive items are: \n", - "1.6488051586645633: 0.05867907787001014\n", - "1.6613309244219858: 0.06585414330510068\n", - "1.6738566901794083: 0.07362896410504041\n", - "Real VaR 1.6613309244219858\n", - "Calculated alpha: 0.06585414330510068\n" + "Real VaR 1.6613309244219858\n" ] } ], @@ -287,9 +293,7 @@ "\n", "\n", "index = get_initial_index()\n", - "var_index = value_at_risk(ALPHA, index)\n", - "\n", - "print(f\"Calculated alpha: {calc_alpha(var_index, probs)}\")" + "var_index = value_at_risk(ALPHA, index)" ] }, { @@ -297,13 +301,13 @@ "id": "12", "metadata": {}, "source": [ - "## Value at Risk using Iterative Quantum Amplitude Estimation (iQAE)\n", + "## Value at Risk using Iterative Quantum Amplitude Estimation (IQAE)\n", "\n", - "Iterative Quantum Amplitude Estimation (iQAE) is a key algorithm in the quantum computing toolbox. It is useful for quantum-enhanced Monte Carlo methods, which are in use for several important quantum finance applications like Value at Risk (VaR) estimation. \n", + "Iterative Quantum Amplitude Estimation (IQAE) is a key algorithm in the quantum computing toolbox. It is useful for quantum-enhanced Monte Carlo methods, which are in use for several important quantum finance applications like Value at Risk (VaR) estimation.\n", "\n", "The goal of Quantum Amplitude Estimation (QAE) is to estimate the probability (or amplitude) of a certain outcome from a quantum circuit. Compared to other classical methods, some has been presented above in this notebook - it is potentially quadratically faster.\n", "\n", - "iQAE is a NISQ-friendly version of the traditional Quantum Amplitude Estimation (QAE), and includes the following stages:\n", + "IQAE is a NISQ-friendly version of the traditional Quantum Amplitude Estimation (QAE), and includes the following stages:\n", "\n", "- State preparation encoding the desired probabilty, in this case - for not losing more than $X for an asset or a portfolio of asset.\n", "- Use controlled applications of the Grover operator (unlike QAE, which utilises Fourier Transform)\n", @@ -311,73 +315,31 @@ ] }, { - "cell_type": "code", - "execution_count": 8, + "cell_type": "markdown", "id": "13", "metadata": {}, - "outputs": [], "source": [ - "# Defining the iterative quantum amplitude estimation algorithm\n", - "\n", + "### Defining The State Preparation for the IQAE Algorithm\n", "\n", - "# This is a QStruct, containing an asset and an indicator, THAT MARKS THE AMPITUDE\n", - "class OptionPricingState(QStruct):\n", - " asset: QNum[num_qubits, False, 0]\n", - " ind: QBit\n", + "In order to use IQAE, we need to define the state preparation function, which includes two main parts:\n", + "- Loading the distribution of the asset values into a quantum state.\n", + "- Defining the payoff function, which marks the states where the asset value is below a certain threshold (the index in this case).\n", "\n", - "\n", - "@qfunc\n", - "def iqae_algorithm(\n", - " k: CInt,\n", - " oracle_operand: QPerm[QArray[QBit]],\n", - " sp_operand: QCallable[QArray[QBit]], # sp=state preparation\n", - " x: QArray[QBit],\n", - "):\n", - " sp_operand(x) # the call state preparation\n", - " power(k, lambda: grover_operator(oracle_operand, sp_operand, x)) # iterative step\n", - "\n", - "\n", - "# Defining the oracle for the Grover operator - implement a Z gate on the qubit indicator\n", - "@qperm\n", - "def iqae_oracle(state: Const[OptionPricingState]):\n", - " Z(state.ind)\n", - "\n", - "\n", - "@qfunc\n", - "def main(k: CInt, ind: Output[QBit]):\n", - " state = OptionPricingState()\n", - " allocate(num_qubits + 1, state)\n", - "\n", - " iqae_algorithm(\n", - " k=k,\n", - " oracle_operand=iqae_oracle,\n", - " sp_operand=state_preparation,\n", - " x=state,\n", - " )\n", - " asset = QNum(size=num_qubits)\n", - " bind(state, [asset, ind])\n", - " drop(asset)\n", - "\n", - "\n", - "@cfunc\n", - "def cmain():\n", - " iqae_res = iqae(\n", - " epsilon=0.05, alpha=0.01 # desired error # desired probability for error\n", - " )\n", - " save({\"iqae_res\": iqae_res})" + "For the first part, we will use Classiq's inpalce_prepare_state function.\n", + "For the second part, we will define a simple comparison operation using Classiq's arithmetic library." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 62, "id": "14", "metadata": {}, "outputs": [], "source": [ "@qfunc(synthesize_separately=True)\n", - "def state_preparation(state: OptionPricingState):\n", - " load_distribution(asset=state.asset)\n", - " payoff(asset=state.asset, ind=state.ind)\n", + "def state_preparation(asset: QArray[QBit], ind: QBit):\n", + " load_distribution(asset=asset)\n", + " payoff(asset=asset, ind=ind)\n", "\n", "\n", "@qfunc\n", @@ -392,11 +354,14 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 63, "id": "15", "metadata": {}, "outputs": [], "source": [ + "written_qmod = False\n", + "\n", + "\n", "def calc_alpha_quantum(index: int, probs: list[float]):\n", "\n", " # Global variable\n", @@ -404,20 +369,26 @@ " GLOBAL_INDEX = index\n", "\n", " # Creation of the model, given the constratins and the circuit preferences\n", - " qmod = create_model(\n", - " main,\n", - " constraints=Constraints(max_width=28, optimization_parameter=\"cx\"),\n", + " iqae = IQAE(\n", + " state_prep_op=state_preparation,\n", + " problem_vars_size=num_qubits,\n", + " constraints=Constraints(max_width=28),\n", " preferences=Preferences(machine_precision=num_qubits),\n", - " classical_execution_function=cmain,\n", " )\n", - " qprog = synthesize(qmod)\n", - " write_qmod(main, decimal_precision=15, name=\"Persik\")\n", - " show(qprog)\n", - " job = execute(qprog)\n", - " res = job.result()\n", + "\n", + " qprog = iqae.get_qprog()\n", + "\n", + " global written_qmod\n", + " qmod = iqae.get_model()\n", + " if not written_qmod:\n", + " write_qmod(qmod, decimal_precision=15, name=\"value_at_risk\")\n", + " written_qmod = True\n", + " show(qprog)\n", + "\n", + " iqae_res = iqae.run(epsilon=0.05, alpha=0.01)\n", "\n", " # Result of the iterative QAE\n", - " iqae_res = res[0].value\n", + " # iqae_res = res[0].value\n", " measured_payoff = iqae_res.estimation\n", " confidence_interval = np.array(\n", " [interval for interval in iqae_res.confidence_interval]\n", @@ -429,7 +400,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 64, "id": "16", "metadata": {}, "outputs": [], @@ -439,7 +410,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 65, "id": "17", "metadata": {}, "outputs": [ @@ -447,46 +418,38 @@ "name": "stdout", "output_type": "stream", "text": [ - "Quantum program link: https://platform.classiq.io/circuit/36q3Zw20GRjn6ymqzpbU3RQT8yU\n", - "Measured Payoff: 0.05276786585819929\n", - "Confidence Interval: [0.04795699 0.05757874]\n", - "v: 0.0065948768440761245, alpha_v: 0.05276786585819929\n", + "Quantum program link: https://platform.classiq.io/circuit/36qFOY37WAMOkTlCO3z2qIYymEp\n", + "Measured Payoff: 0.0490523131159807\n", + "Confidence Interval: [0.04472615 0.05337848]\n", + "v: 0.0065948768440761245, alpha_v: 0.0490523131159807\n", "search_size=16\n", "index=32\n", "------------------------\n", - "Quantum program link: https://platform.classiq.io/circuit/36q3eKkOFqRTU1iVeGInG4WOn0p\n", - "Measured Payoff: 0.2216796875\n", - "Confidence Interval: [0.1821607 0.26119868]\n", - "v: 1.8366916450259, alpha_v: 0.2216796875\n", + "Measured Payoff: 0.22216796875\n", + "Confidence Interval: [0.18264898 0.26168696]\n", + "v: 1.8366916450259, alpha_v: 0.22216796875\n", "search_size=8\n", "index=48\n", "------------------------\n", - "Quantum program link: https://platform.classiq.io/circuit/36q3j8IidxpcN0dPLZVuHv4zKVC\n", - "Measured Payoff: 0.12103337524681014\n", - "Confidence Interval: [0.11721699 0.12484976]\n", - "v: 1.7364855189665205, alpha_v: 0.12103337524681014\n", + "Measured Payoff: 0.12152326550014109\n", + "Confidence Interval: [0.11917274 0.12387379]\n", + "v: 1.7364855189665205, alpha_v: 0.12152326550014109\n", "search_size=4\n", "index=40\n", "------------------------\n", - "Quantum program link: https://platform.classiq.io/circuit/36q3nkYvfSNeKQh1sF1dKl9R0KY\n", - "Measured Payoff: 0.08308866163469053\n", - "Confidence Interval: [0.08024153 0.08593579]\n", - "v: 1.6863824559368308, alpha_v: 0.08308866163469053\n", + "Measured Payoff: 0.08329832447556523\n", + "Confidence Interval: [0.07589168 0.09070497]\n", + "v: 1.6863824559368308, alpha_v: 0.08329832447556523\n", "search_size=2\n", "index=36\n", "------------------------\n", - "Quantum program link: https://platform.classiq.io/circuit/36q3sWecdHpgWCwUuNzoccI6Hzq\n", - "Measured Payoff: 0.0661619201906594\n", - "Confidence Interval: [0.05961365 0.07271019]\n", - "v: 1.6613309244219858, alpha_v: 0.0661619201906594\n", + "Measured Payoff: 0.06836725638142506\n", + "Confidence Interval: [0.06171807 0.07501644]\n", + "v: 1.6613309244219858, alpha_v: 0.06836725638142506\n", "search_size=1\n", "index=34\n", "------------------------\n", "Value at risk at 7.000000000000001%: 1.6613309244219858)\n", - "Consecutive items are: \n", - "1.6488051586645633: 0.05867907787001014\n", - "1.6613309244219858: 0.06585414330510068\n", - "1.6738566901794083: 0.07362896410504041\n", "Real VaR 1.6613309244219858\n" ] } diff --git a/applications/finance/value_at_risk/value_at_risk.metadata.json b/applications/finance/value_at_risk/value_at_risk.metadata.json new file mode 100644 index 000000000..35247a8ad --- /dev/null +++ b/applications/finance/value_at_risk/value_at_risk.metadata.json @@ -0,0 +1,8 @@ +{ + "friendly_name": "Value At Risk", + "description": "Value At Risk", + "problem_domain_tags": [], + "vertical_tags": ["finance"], + "qmod_type": ["application"], + "level": ["advanced"] +} diff --git a/applications/finance/value_at_risk/Persik.qmod b/applications/finance/value_at_risk/value_at_risk.qmod similarity index 81% rename from applications/finance/value_at_risk/Persik.qmod rename to applications/finance/value_at_risk/value_at_risk.qmod index f5c329575..665f61291 100644 --- a/applications/finance/value_at_risk/Persik.qmod +++ b/applications/finance/value_at_risk/value_at_risk.qmod @@ -1,17 +1,5 @@ -qstruct OptionPricingState { - asset: qnum<7, False, 0>; - ind: qbit; -} - -qfunc iqae_algorithm(k: int, oracle_operand: qperm (qbit[]), sp_operand: qfunc (qbit[]), x: qbit[]) { - sp_operand(x); - power (k) { - grover_operator(oracle_operand, sp_operand, x); - } -} - -qperm iqae_oracle(const state: OptionPricingState) { - Z(state.ind); +qperm oracle(const est_reg: qbit[]) { + Z(est_reg[est_reg.len - 1]); } qfunc load_distribution(asset: qnum) { @@ -148,19 +136,27 @@ qfunc load_distribution(asset: qnum) { } qperm payoff(const asset: qnum, ind: qbit) { - ind ^= asset < 34; + ind ^= asset < 32; +} + +qfunc state_preparation(asset: qbit[], ind: qbit) { + load_distribution(asset); + payoff(asset, ind); } -qfunc state_preparation(state: OptionPricingState) { - load_distribution(state.asset); - payoff(state.asset, state.ind); +qfunc space_transform(est_reg: qbit[]) { + state_preparation(est_reg[0:est_reg.len - 1], est_reg[est_reg.len - 1]); } -qfunc main(k: int, output ind: qbit) { - state: OptionPricingState; - allocate(8, state); - iqae_algorithm(k, iqae_oracle, state_preparation, state); - asset: qnum<7>; - state -> {asset, ind}; - drop(asset); +qfunc main(k: int, output indicator: qbit) { + est_reg: qbit[]; + problem_vars: qbit[7]; + allocate(problem_vars); + allocate(indicator); + within { + {problem_vars, indicator} -> est_reg; + } apply { + amplitude_amplification(k, oracle, space_transform, est_reg); + } + drop(problem_vars); } diff --git a/applications/finance/value_at_risk/Persik.synthesis_options.json b/applications/finance/value_at_risk/value_at_risk.synthesis_options.json similarity index 87% rename from applications/finance/value_at_risk/Persik.synthesis_options.json rename to applications/finance/value_at_risk/value_at_risk.synthesis_options.json index 154b01cb0..1cede5ccb 100644 --- a/applications/finance/value_at_risk/Persik.synthesis_options.json +++ b/applications/finance/value_at_risk/value_at_risk.synthesis_options.json @@ -1,42 +1,43 @@ { "constraints": { "max_gate_count": {}, + "max_width": 28, "optimization_parameter": "no_opt" }, "preferences": { "custom_hardware_settings": { "basis_gates": [ - "sxdg", + "r", + "rz", + "u2", + "cx", "cz", + "u", "h", + "ry", + "sxdg", + "u1", + "p", "cy", - "s", - "cx", - "rx", - "x", + "t", "sdg", - "y", - "u1", - "u", + "x", + "id", + "rx", + "s", "tdg", - "rz", - "ry", - "r", - "u2", "z", "sx", - "p", - "t", - "id" + "y" ], "is_symmetric_connectivity": true }, "debug_mode": true, - "machine_precision": 8, + "machine_precision": 7, "optimization_level": 1, "output_format": ["qasm"], "pretty_qasm": true, - "random_seed": 2641333644, + "random_seed": 3469868444, "synthesize_all_separately": false, "timeout_seconds": 300, "transpilation_option": "auto optimize"