Option Pricing Ibm Q Skit

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Option Pricing using Quantum Computers

Nikitas Stamatopoulos,1 Daniel J. Egger,2 Yue Sun,1 Christa Zoufal,2, 3 Raban Iten,2 Ning Shen,1 and Stefan Woerner2
1
J.P. Morgan Chase - Quantitative Research
2
IBM Research – Zurich
3
ETH Zurich
(Dated: May 8, 2019)
We present a methodology to price options and portfolios of options on a gate-based quantum
computer using amplitude estimation, an algorithm which provides a quadratic speedup compared to
classical Monte Carlo methods. The options that we cover include vanilla options, multi-asset options
and path-dependent options such as barrier options. We put an emphasis on the implementation
of the quantum circuits required to build the input states and operators needed by amplitude
estimation to price the different option types. Additionally, we show simulation results to highlight
arXiv:1905.02666v1 [quant-ph] 7 May 2019

how the circuits that we implement price the different option contracts. Finally, we examine the
performance of option pricing circuits on real quantum hardware using the IBM Q Tokyo quantum
device.

I. INTRODUCTION quantum computing. Recently developed applications of


gate-based quantum computing for use in finance [15] in-
Options are financial derivative contracts that give the clude portfolio optimization [16], the calculation of risk
buyer the right, but not the obligation, to buy (call measures [17] and pricing derivatives [18–20]. Several
option) or sell (put option) an underlying asset at an of these applications are based on the Amplitude Esti-
agreed-upon price (strike) and timeframe (exercise win- mation algorithm [21] which can estimate a parameter
dow). In their simplest form, the strike price is a fixed with a convergence rate of 1/M , where M is the number
value and the timeframe is a single point in time, but of quantum samples used. This represents a theoretical
exotic variants may be defined on more than one under- quadratic speed-up compared to classical Monte Carlo
lying asset, the strike price can be a function of several methods.
market parameters and could allow for multiple exercise In this paper we extend the pricing methodology pre-
dates. As well as providing investors with a vehicle to sented in [17, 18] and place a strong emphasis on the im-
profit by taking a view on the market or exploit arbi- plementation of the algorithms in a gate-based quantum
trage opportunities, options are core to various hedging computer. We first classify options according to their
strategies and as such, understanding their properties is features and show how to take the different features into
a fundamental objective of financial engineering. For an account in a quantum computing setting. In section III,
overview of option types, features and uses, we refer the we review the quantum algorithms needed to price op-
reader to Ref. [1]. tions and discuss how to represent relevant probability
Due to the stochastic nature of the parameters options distributions in a quantum computer. In section IV, we
are defined on, calculating their fair value can be an ar- show a framework to price vanilla options and portfolios
duous task and while analytical models exist for the sim- of vanilla options, options with path-dependent payoffs
plest types of options [2], the simplifying assumptions on and options on several underlying assets. In section V
the market dynamics required for the models to provide we show results from quantum hardware.
closed-form solutions often limit their applicability [3].
Hence, more often than not, numerical methods have to
be employed for option pricing, with Monte Carlo being II. REVIEW OF OPTION TYPES AND THEIR
one of the most popular due to its flexibility and ability to CHALLENGES
generically handle stochastic parameters [4, 5]. However,
despite their attractive features in option pricing, clas- We classify options according to two categories: path-
sical Monte Carlo methods generally require extensive independent vs path-dependent and options on single as-
computational resources to provide accurate option price sets or on multiple assets. Path-independent options have
estimates, particularly for complex options. Because of a payoff function that depends on an underlying asset at
the widespread use of options in the finance industry, ac- a single point in time. Therefore, the price of the asset
celerating their convergence can have a significant impact up to the exercise date of the option is irrelevant for the
in the operations of a financial institution. option price. By contrast, the payoff of path-dependent
By leveraging the laws of quantum mechanics a quan- options depends on the evolution of the price of the asset
tum computer [6] may provide novel ways to solve compu- and its history up to the exercise date. Table I exempli-
tationally intensive problems such as quantum chemistry fies this classification. Options that are path-independent
[7–10], solving linear systems of equations [11], and ma- and rely on a single asset are the easiest to price. This
chine learning [12–14]. Quantitative finance, a field with is done using Amplitude Estimation once a proper repre-
many computationally hard problems, may benefit from sentation of the distribution of the underlying asset can
2

TABLE I. Example of the different option types. (m − 1) |0i H •


Single-asset Multi-asset .. . ..
. .. .
Path-independent European put/call Basket option (j) |0i †
H • Fm
Path-dependent Barrier & asian options Multi-asset
.. . ..
barrier options . .. .
(0) |0i H •

|0in
0 j m−1

be loaded to the quantum computer. Path-independent A Q2 ··· Q2 ··· Q2


|0i
options on multiple assets are only slightly harder to
price since more than one asset is now involved and the
probability distribution loaded into the quantum com- FIG. 1. The quantum circuit of amplitude estimation.
puter must accout for correlations between the assets.
Path-dependent options are harder to price than path-
independent options since they require a representation training, the output of the generator is a quantum state
of the possible paths the underlying assets can take in n
2X −1 p
the quantum computer. |ψ(θ)in = pi (θ) |iin , (1)
i=0

III. IMPLEMENTATION ON A GATE BASED that represents the target distribution. The n-qubit state
QUANTUM COMPUTER |iin = |in−1 ...i0 i encodes the integer i = 2n−1 in−1 +
... + 2i1 + i0 ∈ {0, ..., 2n − 1} with ik ∈ {0, 1} and
k = 0, ..., n − 1. The probabilities pi (θ) approximate the
Here we review some of the building blocks needed to
random distribution underlying the training data. We
price options on a gate-based quantum computer.
note that the outcomes of a random variable X can be
mapped to the integer set {0, ..., 2n − 1} using an affine
A. Distribution loading mapping.

The analytical formulas used to price options in the B. Amplitude Estimation


Black-Scholes-Merton (BSM) model [2, 22] assume that
the underlying stock prices at maturity follow a lognor-
The advantage of pricing options on a quantum com-
mal distribution with constant volatility. Such distribu-
puter comes from the amplitude estimation (AE) algo-
tions can be efficiently loaded in a gate-based quantum
rithm [21] which provides a quadratic speed-up over clas-
computer [18, 23]. However, to properly model the mar-
sical Monte-Carlo simulations [28, 29]. Suppose a unitary
ket prices of options, the volatility of the geometric brow-
operator A acting on a register of (n+1) qubits such that
nian process describing the evolution of the assets must
√ √
be changed for options with different strike prices [24]. A |0in+1 = 1 − a |ψ0 in |0i + a |ψ1 in |1i (2)
This discrepancy between the BSM model and market
prices is because stocks do not follow a geometric Brown- for some normalized states |ψ0 in and |ψ1 in , where a ∈
inan motion process with constant volatility. It is thus [0, 1] is unknown. AE allows the efficient estimation of
important to be able to efficiently represent arbitrary dis- a, i.e., the probability of measuring |1i in the last qubit.
tributions of financial data in a quantum computer. This estimation is obtained with an operator Q, based
The best known methods to load arbitrary states on A, and Quantum Phase Estimation [30] to approx-
into quantum systems require exponentially many gates imate certain eigenvalues of Q. AE requires m addi-
[25, 26], making it inefficient to model arbitrary distri- tional sampling qubits and M = 2m applications of Q.
butions as quantum states. This limitation may be over- The m qubits, initialized to an equal superposition state
come by using quantum Generative Adverserial Networks by Hadamard gates, are used to control different pow-
(qGAN). These networks allow us to load a distribution ers of Q. After applying an inverse Quantum Fourier
using a polynomial number of gates [19]. A qGAN can Transform, their state is measured resulting in an inte-
learn the random distribution X underlying the observed ger y ∈ {0, ..., M − 1}, which is classically mapped to
data samples { x0 , . . . , xk−1 } and load it directly into a the estimator ã = sin2 (yπ/M ) ∈ [0, 1], see the circuit in
quantum state. This generative model employs the inter- Fig. 1. The estimator ã satisfies
play of a classical discriminator, a neural network [27], π π2 −1

|a − ã| ≤ M +M 2 = O M , (3)
and a quantum generator (a parametrized quantum cir-
cuit). More specifically, the qGAN training consists of with probability of at least 8/π 2 . This represents
 a
alternating optimization steps of the discriminator’s pa- quadratic speedup compared to the O M −1/2 conver-
rameters φ and the generator’s parameters θ. After the gence rate of classical Monte Carlo methods [31].
3

|i2 i • sin2 [cf˜(i) + π/4] is an anti-symmetric function around


|i1 i • |ii3 • f˜(i) = 0. With these definitions, the probability to find
|i0 i • ≡ the ancilla qubit in state |1i, namely
|0i Ry (f0 ) Ry (f1 ) Ry (2f1 ) Ry (4f1 ) |0i Ry [f (i)] n
 π
2X −1
P1 = pi sin2 cf˜(i) + ,
i=0
4
FIG. 2. Quantum circuit that creates the state in Eq. (4).
Here, the independent variable i = 4i2 + 2i1 + i0 ∈ {0, ..., 7}
is well approximated by
is encoded by three qubits in the state |ii3 = |i2 i1 i0 i with
ik ∈ {0, 1}. Therefore, the linear function f (i) = f1 i + f0 is n
2X −1  
1 2E[f (i)] − fmin 1
given by 4f1 i2 + 2f1 i1 + f1 i0 + f0 . After applying this circuit pi cf˜(i) + =c −c+ . (6)
the quantum state is |ii3 [cos(f1 i + f0 ) |0i + sin(f1 i + f0 ) |1i].
i=0
2 fmax − fmin 2
The circuit on the left shows an abbreviated notation.
To obtain this result we made use of the approximation
 π 1
C. Linearly controlled Y-rotations sin2 cf˜(i) + = cf˜(i) + + O(c3 f˜3 (i)) (7)
4 2
We obtain the expectation value of a linear function which is valid for small values of cf˜(i). With this
f of a random variable X with AE by creating the op- first order approximation the convergence rate of AE is
erator A such that a = E[f (X)], see Eq. (2). Once A O(M −2/3 ) when c is properly chosen which is already
is implemented we can prepare the state in Eq. (2) and faster than classical Monte Carlo methods [17]. We
the Q operator. In this section, we show how to create can recover the O(M −1 ) convergence rate of AE by us-
a close relative of the operator in Eq. (2) and then, in ing higher orders implemented with quantum arithmetic.
section III D, we show how to use AE. The resulting circuits, however, have more gates. This
Since the payoff function for option portfolios is piece- trade-off, discussed in Ref. [17], also gives a formula that
wise linear we only need to consider linear functions f : specifies which value of c to use to minimize the estima-
{0, ..., 2n − 1} → [0, 1] which we write f (i) = f1 i + f0 . tion error made when using AE. From Eq. (6) we can
We can efficiently create an operator that performs recover E[f (i)] since AE allows us to efficiently retrieve
|iin |0i → |iin {cos[f (i)] |0i + sin[f (i)] |1i} (4) P1 and because we know the values of fmin , fmax and c.

using controlled Y-rotations [17]. To implement the lin-


ear term of f (i) each qubit j (where j ∈ {0, . . . n − 1}) IV. OPTION PRICING ON A QUANTUM
in the |iin register acts as a control for a Y-rotation with COMPUTER
angle 2j f1 of the ancilla qubit. The constant term f0 is
implemented by a rotation of the ancilla qubit without In this section we show how to price the different op-
any controls, see Fig. 2. The controlled Y-rotations can tions shown in Tab. I. We put an emphasis on the imple-
be implemented with CNOT and single-qubit gates [32]. mentation of the quantum circuits that prepare the states
needed by AE. We use the different building blocks re-
viewed in Sec. III.
D. Expectation value of functions using AE

We now describe how to obtain E[f (X)] for a linear A. Path-independent options
function f of a random variable X which is mapped to
integer values i ∈ {0, ..., 2n − 1} that occur with proba- The price of path-independent vanilla options (e.g.
European call and put options) depend only on the dis-
P √ pi . To do this we create the operator that maps
bility
i pi |iin |0i to tribution of the underlying asset price ST at the option
maturity T and the payoff function f (ST ) of the option.
n
2X −1
√ h  π  π i To encode the distribution of ST in a quantum state we
pi |iin cos cf˜(i) + |0i + sin cf˜(i) + |1i truncate it to the range [ST,min , ST,max ] and discretize
4 4
i=0 this interval to {0, ..., 2n − 1} using n qubits. In the
using the procedure outlined in Sec. III C. The parameter quantum computer the distribution loading operator PX
c ∈ [0, 1] is a scaling parameter. The functions f˜(i) and creates a state
f (i) are related by n
2X −1
PX √
|0in −−→ |ψin = pi |iin , (8)
f (i) − fmin
f˜(i) = 2 − 1. (5) i=0
fmax − fmin
with i ∈ {0, ..., 2n − 1} to represent ST . This state, ex-
Here fmin = mini f (i) and fmax = maxi f (i). The rela- emplified in Fig. 3, may be created using the methods
tion in Eq. (5) is chosen so that f˜(i) ∈ [−1, 1]. Thus, discussed in Sec. III A.
4

We start by showing how to price vanilla call or put or equal to the strike price, only if there is a carry at the
options and then generalize our method to capture the last (most significant) qubit. This procedure along with
payoff structure of portfolios containing more than one the necessary gate operations is illustrated in Fig. 4. An
vanilla option. implementation for K = 1.9 and a three-qubit register is
shown in Fig. 6.
0.35 To prepare the operator for use with AE we add
|100i to |φ1 i a second ancilla qubit initially in the state
0.30 cos(g0 ) |0i + sin(g0 ) |1i. Here, g0 is an angle with a value
|011i that we will carefully select. Next, we perform a ro-
0.25
tation of the new ancilla qubit controlled by the com-
Probability

|101i
0.20 parator qubit |ci and the qubits in |ψin . The state
|φ1 i [cos(g0 ) |0i + sin(g0 )) |1i] is mapped to
0.15
X√
|010i pi |iin |0i [cos(g0 ) |0i + sin(g0 ) |1i] + (9)
0.10 |110i
i<K
0.05 X√
|001i |111i pi |iin |1i {cos[g0 + g(i)] |0i + sin[g0 + g(i)] |1i} .
|000i
0.00 i≥K
1.500

1.643

1.786

1.929

2.071

2.214

2.357

2.500
This operation, implemented by the quantum circuit in
Spot Price at Maturity ST Fig. 7, applies a rotation with an angle g(i) only if i ≥ K.
The probability to find the second ancilla in state |1i,
FIG. 3. Example price distribution at maturity loaded in a efficiently measurable using AE, is
three-qubit register. In this example we followed the Black- X X
Scholes-Merton model which implies a lognormal distribution P1 = pi sin2 (g0 ) + pi sin2 [g0 + g(i)]. (10)
of the asset price at maturity T with probability density func- i<K i≥K
(ln ST −µ)2

1
tion P (ST ) = S σ√ exp − 2 . σ is the volatility
T 2πT
 2σ T Now, we must carefully chose the angle g0 and the func-
of the asset and µ = r − 0.5σ 2 T + ln(S0 ), with r the risk-
tion g(i) to recover the expected payoff E[f (i)] of the
free market rate and S0 the asset’s spot at t = 0. In this
figure we used S0 = 2, σ = 10%, r = 4% and T = 300/365. option from P1 using the approximation in Eq. (6). We
will further require that g(i) ∈ [−c, c] for i ≥ K to maxi-
mize the accuracy. The payoff function of vanilla options
is piece-wise linear
1. Vanilla options (
a< · i + b< i < K,
f (i) = (11)
To price vanilla options with strike K, we implement a≥ · i + b≥ i ≥ K.
a comparison between the values in state (8) with K. A
We now focus on a European call option with payoff
quantum comparator circuit sets an ancilla qubit |ci, ini-
f (i) = max(0, i − K), i.e., a< = b< = 0, a≥ = 1,
tially in state |0i, to the state |1i if i ≥ K and |0i other-
and b≥ = −K. To reproduce f (i) = i − K for i ≥ K
wise. The state |ψin in the quantum computer therefore
and simultaneously satisfy g0 + g(i) − π/4 ∈ [−c, c], see
undergoes the transformation
Sec. III D, we must set
X√ X√
|ψin |0i → |φ1 i = pi |iin |0i + pi |iin |1i . 2c(i − K)
i<K i≥K g(i) = , (12)
imax − K
This operation can be implemented by a quantum com-
where imax = 2n − 1. This choice of g(i) forces us to
parator [33] based on CNOT and Toffoli gates. Since we
chose
know the value of the strike, we can implement a cir-
cuit tailored to the specific strike price. We use n ancilla π
g0 = − c. (13)
qubits |a1 , ..., an i and compute the two’s complement of 4
the strike price K in binary using n bits, storing the digits
in a (classical) array t[n]. For each qubit |ik i in the |iin To see why, we substitute Eqs. (12) and (13) in Eq. (10)
register, with k ∈ {0, ..., n − 1}, we compute the possible and use the approximation in Eq. (7). Therefore,
carry bit of the bitwise addition of |ik i and t[k] into |ak i. X 1  X 
2c(i − K) 1

If t[k] = 0, there is a carry qubit at position k only if P1 ≈ pi −c + pi + −c
there is a carry at position k − 1 and |ik i = 1. If t[k] = 1, 2 imax − K 2
i<K i≥K
there is a carry qubit at position k if there is a carry at 1 2c X
position k − 1 or |ik i = 1. After going through all n = −c+ pi (i − K). (14)
2 imax − K
qubits from least to most significant, |iin will be greater i≥K
5

t[1] = 1
|i1 i •
|i2 i • •
.. .. t[n] = 0 t[n] = 1
. .
|in i • •
|a1 i • •
|a2 i OR
.. .. • •
. t[2] = 0 t[2] = 1 .
|an i OR •
|c i

FIG. 4. Circuit that compares the value represented by an n-qubit register |iin , to a fixed value K. We use n ancilla qubits
1 value of K’s two’s complement and a qubit |ci which will hold
|a1 , ..., an i, a classical array t[n] holding the precomputed binary
the result of the comparison with |ci = 1 if |ii ≥ K. For each qubit |ik i, with k ∈ {1, ..., n}, we use a Toffoli gate to compute
the carry at position k if t[k] = 1 and a logical OR, see Fig. 5, if t[k] = 0. For k = 1, we only need to use a CNOT on |i1 i if
t[1] = 1. In the circuit above, only one of two unitaries in a dotted box needs to be added to the circuit, depending on the
value of t[k] at each qubit. The last carry qubit |an i is then used to compute the final result of the comparison in qubit |ci.

|iin •
|ci •
|ai X • X
|0i Ry [g0 ] Ry [g(i)]
|bi X • X
|ci X FIG. 7. Circuit that creates the state in Eq. (9). We ap-
ply this circuit directly after the comparator circuit shown
in Fig. 6. The multi-controlled y-rotation is the gate shown
in Fig. 2 controlled by the ancilla qubit |ci that contains the
FIG. 5. Circuit that computes the logical OR between qubits result of the comparison between i and K.
|ai and |bi into qubit |ci.


|0i
 • •
recover the expected payoff of the option given the prob-
|ii3 |0i PX • • ability distribution of the underlying asset. We should


|0i X • X note that the fair value of the option requires appropri-
ately discounting the expected payoff of the option to
|ci : |0i X today, but as the discounting can be performed after the
expectation value has been calculated we omit it from our
|ai : |0i X • X discussion for simplicity. We check the correctness of our
approach by running amplitude estimation using Qiskit
[34] on the overall circuit produced by the elements de-
FIG. 6. Quantum circuit that sets a comparator qubit |ci scribed in this section, and verifying the convergence to
to |1i if the value represented by |ii3 is larger than a strike
the analytically computed value or classical Monte Carlo
K = 1.9, for the spot distribution in Fig. 3. The unitary PX
represents the set of gates that load the probability distribu- estimate. An illustration of the convergence of a Eu-
tion in Eq. (8). An ancilla qubit |ai is needed to perform the ropean call option with increasing evaluation qubits is
comparison. It is uncomputed at the end of the circuit. shown in Fig. 8.

A straightforward extension of the analysis above


P us that we needed g0 = π/4 − c to used the
This shows yields a pricing model for a European put option, whose
identity i pi = 1 to recover E[max(0, i − K)] up to a payoff f (i) = max(0, K − i) is equivalent to Eq. (11) with
scaling factor and a constant. From this last equality we a> = b> = 0, a≤ = −1, and b≤ = K.
6

1.0 |iin • • •
m=3
|cm i •
.. ···
0.5 .
|c2 i •
0.0 |c1 i •
1.0 m=5 |0i Ry [g0 (i)] Ry [g1 (i)] Ry [g2 (i)] · · · Ry [gm (i)]

0.5
FIG. 9. Quantum circuit that implements the multi-
Probability

controlled Y-rotations for a portfolio of options with m strike


0.0 prices.
1.0 m=7
tions, the methodology described in the previous section
0.5 can be extended to calculate the fair values of these op-
tion portfolios.
In order to capture the structure of such option strate-
0.0 gies, we can think of the individual options as defining
1.0 m=9 one or more effective strike prices Kj and add a linear
function fj (S) = aj S + bj between each of these strikes.
For example, to price an option strategy with the payoff
0.5 function

fs (S) = max(0, S − K1 ) − max(0, S − K2 ), (15)


0.0
0.00 0.05 0.10 0.15 0.20 0.25 0.30
which corresponds to a call spread (the option holder has
Estimated Option Price
purchased a call with strike K1 and sold a call with strike
K2 ), we use the functions f0 , f1 , and f2 such that
FIG. 8. Results from applying amplitude estimation 
(Sec. III B) on the quantum circuit of the European call option 
f0 (S) S < K1 ,
of Fig. 3, on a simulated quantum device with m ∈ {3, 5, 7, 9}.
The red dashed line corresponds to the (undiscounted) analyt-
fs (S) = f0 (S) + f1 (S) K1 ≤ S < K2 , (16)


ical value for this option, calculated using the Black-Scholes- f0 (S) + f1 (S) + f2 (S) K2 ≤ S.
Merton model. We limit the range of possible option values
shown to [0, 0.3] to illustrate the convergence of the estima- To match Eq. (15) with Eq. (16) we set f0 (S) = 0,
tion, as the cumulative probability in the windows shown ex- f1 (S) = S − K1 and f2 (S) = −S + K2 . In general, to
ceeds 90% in each case. price a portfolio of options with m effective-strike prices
K1 , ..., Km and m+1 functions f0 (S), ..., fm (S) we need
an ancilla qubit per strike to indicate if the underlying
2. Portfolios of options has reached the strike. This allows us to generalize the
discussion from Sec. IV A 1. We apply a multi-controlled
Various popular trading and hedging strategies rely on Y-rotation with angle gj (i) if i ≥ Kj for each strike Kj
entering multiple option contracts at the same time in- with j ∈ {1, ..., m}. The rotation g0 (i) is always applied,
stead of individual call or put options and as such, these see the circuit in Fig. 9. The functions gj (i) are deter-
strategies allow an investor to effectively construct a pay- mined using the same procedure as in Sec. IV A 1.
off that is more complex than that of vanilla options. For
example, an investor that wants to profit from a volatile
asset without picking a direction of where the volatil- B. Multi-asset and path-dependent options
ity may drive the asset’s price, may choose to enter a
straddle option strategy, by buying both a call and a put In this section we show how to price options with path-
option on the asset with the same expiration date and dependent payoffs as well as options on more than one
strike. If the underlying asset moves sharply up to expi- underlying asset. In these cases, the payoff function de-
ration date, the investor can make a profit regardless of pends on a multivariate distribution of random variables
whether it moves higher or lower in value. Alternatively, {Sj } with j ∈ {1, ..., d}. The Sj ’s may represent one or
the investor may opt for a butterfly option strategy by several assets at discrete moments in time or a basket of
entering four appropriately structured option contracts assets at the option maturity. In both cases, the prob-
with different strikes simultaneously. Because these op- ability distribution of the random variables Sj are trun-
tion strategies give rise to piecewise linear payoff func- cated to the interval [Sj,min , Sj,max ] and discretized using
7

2nj points so that they can be represented by d quantum


registers where register j has nj qubits. Thus, the mul- |i1 in1 •
tivariate distribution is represented by the probabilities ..
pi1 ,...,id that the underlying has taken the values i1 , ..., . PX
id with ij ∈ {0, ..., 2nj − 1}. The quantum state that
|id ind •
represents this probability distribution, a generalization
of Eq. (8), is h i
|bin0 ~ · ~ii
S |w • •
X √
|ψin = pi1 ,...,id |i1 in1 ⊗ ... ⊗ |id ind , (17)
|ci1 C[b ≥ K] •
i1 ,...,id
P |pi1 Ry [f (b)]
with n = j nj . Various types of options, such as Asian
options or basket options, require us to compute the sum
of the random variables Sj . The addition of the values in FIG. 10. Schematic of the circuit that encodes the payoff of a
two quantum registers |a, bi → |a, a + bi may be calcu- basket call option of d underlying assets into the amplitude of
lated in quantum computers with adder circuits based on a payoff qubit |pi. First, a unitary PX loads the multivariate
CNOT and Toffoli gates [35–37]. To this end we add an distribution of Eq. (20) into d registers |i1 in1 . . . |id ind us-
extra qubit register with n0 qubits to serve as an accumu- ing the methods described in Sec. III A. The weighted sum
lator. By recursively applying adder circuits we perform operator S, see Appendix A, calculates the weighted sum
|w1 · i1 + . . . + wd · id i into a register |bin0 with n0 qubits,
the transformation |ψin |0in0 → |φin+n0 where |φin+n0 is
where n0 is large enough to hold the maximum possible sum.
given by The comparator circuit C sets a comparator qubit |ci to |1i if
X √ b ≥ K. Lastly, controlled-Y rotations are used to encode the
pi1 ,...,id |i1 in1 ⊗ ... ⊗ |id ind ⊗ |i1 + ... + id in0 . option payoff f (b) = max(0, b − K) into the payoff qubit us-
i1 ,...,id ing the method shown in Fig. 7, controlled by the comparator
(18) qubit |ci.

Here circuit optimization may allow us to perform this


computation in-place to minimize the number of qubit Fig. 3. Σ is the d × d positive-definite covariance matrix
registers needed. Now, we use the methods discussed in of the d underlyings
the previous section to encode the option payoffs into the
quantum circuit.  
σ12 ρ12 σ1 σ2 . . . ρ1d σ1 σd
 
ρ21 σ2 σ1 σ22 . . . ρ2d σ2 σd 
1. Basket Options
Σ=T
 .. .. .. .. 
 (21)
 . . . . 
ρd1 σd σ1 ... ... σd2
A European style basket option is an extension of the
single asset European option discussed in Sec. IV A, only with σi the volatility of the ith asset, −1 ≤ ρij ≤ 1
now the payoff depends on a weighted sum of d under- the correlation between assets i and j and T the time to
lying assets. A call option on a basket has the payoff maturity.
profile The quantum circuit for pricing a European style bas-
ket call option is then analogous to the single asset case,
with an additional unitary to compute the weighted sum
f (Sbasket ) = max(0, Sbasket − K) (19) of the uncertainty registers |i1 in1 . . . |id ind before encod-
ing the comparator and payoff circuits, with the accumu-
where Sbasket = w ~ · S,~ for basket weights w ~ = lator register |bin0 = |i1 + ... + id in0 acting as the con-
[w1 , w2 , . . . , wd ], wi ∈ [0, 1], underlying asset prices at trol. An implementation of the circuit that performs the
option maturity S ~ = [S1 , S2 , . . . Sd ] and strike K. In the weighted sum operator is presented in more detail in Ap-
BSM model, the underlying asset prices are described pendix A. A schematic of these components is shown in
by a multivariate lognormal distribution with probabil- Fig. 10.
ity density function [38]

 2. Asian Options
1 T −1
~ = exp − 2 (ln S − µ) Σ (ln S − µ)
P (S) Qd , (20)
(2π)d/2 (detΣ)1/2 i=1 Si We now examine arithmetic average Asian options
which are single-asset, path-dependent options whose
where ln S = (ln S1 , ln S2 . . . , ln Sd )T and µ = payoff depends on the price of the underlying asset at
(µ1 , µ2 . . . µd )T , where each µi is the lognormal distri- multiple time points before the option’s expiration date.
bution parameter for each asset defined in the caption of Specifically, the payoff of an Asian call option is given by
8

3.5

f (S̄) = max(0, S̄ − K) (22) 3.0

where K is the strike price, S̄ is the arithmetic average


2.5
of the asset’s value over a pre-defined number of points

S2·∆t
d between 0 and the option maturity T
2.0

d
1X 1.5
S̄ = St . (23)
d t=1
1.0
The probability distribution of asset prices at time t 1.0 1.5 2.0 2.5 3.0 3.5

will again be lognormal with probability density function S∆t

FIG. 11. Probability density function of a multivariate log-


1 (ln St −µt )2
P (St ) = √ e− 2σ2 ∆t (24) normal distribution, see Eq. (20), for the asset shown in Fig. 3
St σ 2π∆t defined on two time steps t = ∆t = T /2 and t = 2∆t = T

with µt = r − 0.5σ 2 ∆t + ln(St−1 ) and ∆t = T /d. We
can then use the multivariate distribution in Eq. (20), • Knock-In: The option has no value unless the under-
with S~ now a d-dimensional vector of asset prices at time lying asset crosses a certain price level before ma-
points [t1 . . . td ], instead of distinct underlying prices at turity.
maturity T . As we are not considering multiple underly-
ing assets that could be correlated, the covariance matrix If the required barrier event for the option to have value
is diagonal Σ = ∆t[diag(σ 2 , ..., σ 2 )]. An illustration of at maturity occurs, the payoff then depends only on the
the probability density function used for an asset defined value of the underlying asset at maturity and not on the
on two time steps is shown in Fig. 11. path of the asset until then. If we consider a Knock-In
barrier option and label the barrier level B, we can write
We now prepare the state |ψin , see Eq. (17), where
the option’s payoff as
each register represents the asset price at each time step
up to maturity. Using the weighted sum operator of Ap-
(
pendix A with equal weights 1/d, we then calculate the max(0, ST − K) if ∃t s.t. St ≥ B
average value of the asset until maturity T , see Eq. (23), f (S) = (26)
into a register |S̄i 0 otherwise

where T is the time to maturity, St the asset price at


d
X time t with 0 < t ≤ T and K the option strike.
1 To construct a quantum circuit to price a Knock-In
| i1 i2 ... id i 7→ |S̄i = | St i . (25)
|{z} |{z} |{z} d barrier option, we use the same method as for the Asian
∆t 2∆t T t=1
option where T is divided into d equidistant time intervals
Finally, we use the same comparator and rotation cir- with ∆t = T /d, and use registers |i1 in1 |i2 in2 . . . |id ind to
cuits that we employed for the basket option illustrated represent the discretized range of asset prices at time t ∈
in Fig. 10 to load the payoff of an arithmetic average {∆t, 2∆t, . . . , d·∆t = T }. The probability distribution of
Asian option into the payoff qubit |pi. Eq. (24) is used again to create the state |ψin in Eq. (17).
To capture the path dependence introduced by the bar-
rier, we use an additional d-qubit register |bid to monitor
3. Barrier Options if the barrier is crossed. Each qubit |bt i in |bid is set to
|1i if |it int ≥ B. An ancilla qubit |b| i is set to |1i if the
barrier has been crossed in at least one time step. This
Barrier options are another class of popular option
is done by computing the logical OR, see Fig. 5, of every
types whose payoff is similar to vanilla European Op-
qubit in |bid and storing the result in the ancilla
tions, but they become activated or extinguished if the
underlying asset crosses a pre-determined level called the
barrier. In their simplest form, there are two general cat- |b1 b2 . . . bd i |0i 7→ |b1 b2 . . . bd i |b1 || b2 . . . || bd i . (27)
egories of barrier options
This is computed with X (NOT) and Toffoli gates and
• Knock-Out: The option expires worthless if the un- d − 2 ancilla qubits. The ancilla qubit |b| i is then used
derlying asset crosses a certain price level before as a control for the payoff rotation into the payoff qubit,
the option’s maturity. effectively knocking the option in. For Knock-Out barrier
9

options, we can follow the same steps and apply an X uniformly controlled gates, we do not need any ancilla
gate to the ancilla barrier qubit before using it as control, qubits.
in this manner knocking the option out if the barrier level We now execute A |0i3 on the IBM Q Tokyo 20-qubit
has been crossed. A circuit displaying all the components device and estimate the probability P1 of measuring |1i
required to price a Knock-In barrier option is shown in in the objective qubit using 8192 shots. The connectivity
Fig. 12. Results from amplitude estimation on a barrier of IBM Q Tokyo allows to choose three fully connected
option circuit using a quantum simulator are shown in qubits, thus, no additional swaps are required [34]. The
Fig. 13. experiment on quantum hardware results in P1Q = 40.9%
Even though we have focused our attention on bar- compared to the analytic result of P1SIM = 39.7% ob-
rier options where the barrier event is the underlying as- tained using a simulator. This is a relative error of only
set crossing a barrier from below, we can use the same 3%, i.e., the real hardware accurately reproduces the de-
method to price barrier options where barrier events are sired quantum state. Mapped to the expected payoff of
defined as the asset crossing the value from above. This the option, this corresponds to 0.287, i.e., a relative error
only requires changing the comparator circuits to com- of 12%. The increased error results from applying the
pute St ≤ B in the barrier register |bid . inverse approximation scaling 1/c = 4.
Evaluating P1 for the state A |0i3 on a quantum com-
puter corresponds to a classical Monte Carlo simulation,
V. QUANTUM HARDWARE RESULTS where the actual samples are generated by a quantum
computer. This does not provide a conceptual speed-
In this section we show results for a European call up but demonstrates that generating quantum samples
option evaluated on quantum hardware. We use three is possible on current quantum hardware.
qubits in total, two to represent the uncertainty and one It has been shown that a quadratic speed-up can also
to encode the payoff. be realized by measuring Qk A |0i for different k com-
We consider a log-normal random distribution with bined with a maximum likelihood estimation [40], lead-
S0 = 2, σ = 13%, r = 5%, and T = 40/365, (see Fig. 3) ing to significantly shorter circuits than the original im-
and truncate the distribution to the interval defined by plementation of AE. Thus, to demonstrate the improved
three standard deviations around the mean. With two scaling, we also evaluate QA |0i3 on real hardware. After
qubits encoding this distribution, the possible values optimization, the resulting circuit consists of 24 CNOT
are [1.21, 1.74, 2.28, 2.81], represented by |00i , . . . , |11i, gates and 28 single-qubit gates. However, this is slightly
with corresponding probabilities 0.1%, 55.4%, 42.5%, and out of reach for current hardware as our measurement
1.9%. We set the strike price to K = 1.74. The resulting P1Q = 60% deviates significantly from P1SIM = 79%.
exact expected payoff of this option is equal to 0.256.
We now show how to construct the operator A that
VI. CONCLUSION
is required for AE. The log-normal distribution can be
loaded using only two CNOT gates and three single qubit
Y-rotations. The corresponding circuit is illustrated in We have presented a methodology and the quantum
Fig. 14. circuits to price options and option portfolios on a gate-
To encode the payoff function we exploit the small based quantum computer. We showed how to account
number of qubits and apply a uniformly controlled Y- for some of the more complex features present in exotic
rotation instead of the generic construction using com- options such path-dependency with barriers and aver-
parators introduced in Sec. IV. A uniformly controlled ages. The results that we show are available in Qiskit
Y-rotation implements a different rotation angle for each Finance [34]. Future work may involve calculating the
possible state of the control qubits, i.e., it applies the price derivatives [41] with a quantum computer. Pric-
operation ing options relies on AE. This quantum algorithm al-
lows a quadratic speed-up compared to traditional Monte
|iin |0i 7→ |iin Ry (θi ) |0i , (28) Carlo simulations. However, larger quantum hardware
capable of running deeper quantum circuits with more
for given angles θi , i = 0, . . . , 2n − 1. For n = 2, qubits than the currently available quantum computers
this operation can be efficiently implemented using four is needed to price the typical portfolios seen in the fi-
CNOT gates and four single qubit Y-rotations [25, 39]. nancial industry. Additionally, more research is needed
Although we use a uniformly controlled rotation, the to reduce the quantum resources required by the algo-
rotation angles are constructed in the same way de- rithms. Future work could focus on reducing the number
scribed in Sec. III D. We use an approximation scaling of quantum registers in our implementation by perform-
of c = 0.25 and the resulting angles are [θ0 , . . . , θ3 ] = ing some of the computation in-place.
[1.1781, 1.1781, 1.5708, 1.9635], which shows the piece- Algorithms based on AE will most likely require a uni-
wise linear structure of the payoff function. versal fault-tolerant quantum computer [42]. However,
The total resulting circuit requires six CNOT gates and research to improve the algorithms is ongoing [43–45]
seven single-qubit Y-rotations, see Fig. 14. Since we use and methods such as error mitigation are being devel-
10

|i1 in1 •
..
. PX
|id ind • • •
|b1 i CB [i1 ≥ B] •
..
.
|bd i CB [id ≥ B] •
|b| i OR[b1 , ..., bd ] • •
|ci1 CK [id ≥ K] •
|pi1 Ry [f (ST )]

FIG. 12. Circuit that encodes the payoff of a Knock-In barrier option in the state of an ancilla qubit |pi1 . The unitary
operator PX is used to initialize the state of Eq. (17). Comparator circuits CB are used to set a barrier qubit bj for all j ∈ [1, d]
if the asset price represented by |ij i crosses the barrier B. The logical OR of all bj qubits is computed into ancilla |b| i. The
strike comparator circuit CK sets the comparator qubit |ci1 to |1i if the asset price at maturity |id i ≥ K. Finally, Y-rotations
encode the payoff qubit |pi1 , controlled on |id i, the strike qubit |ci1 and the barrier qubit |b| i which is |1i only if the asset price
has crossed the barrier at least once before maturity.

VII. ACKNOWLEDGMENTS
1.00 Monte Carlo
m=7

0.75
Probability

0.50 Opinions and estimates constitute our judgment as of


the date of this Material, are for informational purposes
0.25 only and are subject to change without notice. This
Material is not the product of J.P. Morgan’s Research
Department and therefore, has not been prepared in ac-
0.00 cordance with legal requirements to promote the inde-
0.0 0.1 0.2 0.3 0.4 pendence of research, including but not limited to, the
Estimated Option Price prohibition on the dealing ahead of the dissemination of
investment research. This Material is not intended as
FIG. 13. Estimated option price for a barrier option using research, a recommendation, advice, offer or solicitation
amplitude estimation on a quantum simulator. The option for the purchase or sale of any financial product or ser-
is defined on the asset of Fig. 3 with two timesteps T /2 and vice, or to be used in any way for evaluating the merits of
T = 300/365 and 2 qubits used to represent the uncertainty participating in any transaction. It is not a research re-
per timestep. The option strike is K = 1.9 and a barrier port and is not intended as such. Past performance is not
was added at B = 2.0 on both timesteps. The red dotted
indicative of future results. Please consult your own advi-
line is the (undiscounted) value of the option calculated with
classical Monte Carlo and 100, 000 paths and the blue bars
sors regarding legal, tax, accounting or any other aspects
show the estimated option values using amplitude estimation including suitability implications for your particular cir-
with m = 7 sampling qubits. cumstances. J.P. Morgan disclaims any responsibility or
liability whatsoever for the quality, accuracy or complete-
ness of the information herein, and for any reliance on,
or use of this material in any way. Important disclosures
at: www.jpmorgan.com/disclosures

oped to extend the reach of noisy quantum computers


[8]. For instance, Ref. [40] shows that it is possible to IBM, IBM Q, Qiskit are trademarks of International
retain the speed-up from AE with shorter quantum cir- Business Machines Corporation, registered in many ju-
cuits by replacing the quantum phase estimation in AE risdictions worldwide. Other product or service names
by a classical maximum likelihood estimation on multiple may be trademarks or service marks of IBM or other
runs with an increasing number of quantum samples. companies.
11

Loading random distribution Evaluating payoff function


|q0 i Ry Ry • •
1.32 1.74

|q1 i Ry • • • •
1.46

|q2 i Ry Ry Ry Ry
1.47 -0.10 0.10 -0.29

FIG. 14. The A operator of the considered European call option: 1 first, the 2-qubit approximation of a log-normal distribution
is loaded, and second, the piecewise linear payoff function is applied to last qubit. This operator can be used within amplitude
estimation to evaluate the expected payoff of the corresponding option.

Appendix A: Circuit implementation of weighted gates: X (NOT), controlled-NOT, and the Toffoli gate
sum operator (controlled-controlled-NOT). These three gates suffice to
build any Boolean function [35]. Starting from the first
1. Weighted sum of single qubits column in Ω, for each column j, we find all elements
with Ωi,j = 1 and add the corresponding state qubit
In this appendix, we demonstrate an implementation |ai i to |sj i. The addition of two qubits involves three
of the weighted sum operator on a quantum circuit. The operations detailed in Fig. 15: (a) computation of the
weighted sum operator S computes the arithmetic sum carry using a Toffoli gate (M), (b) computation of the
of the values of n qubits |ain = |a1 . . . an i weighted by current digit using a controlled-NOT (D), (c) reset of
n classically defined non-negative integer weights ω = the carry computation using two X gates and one Toffoli
(ω1 , ω2 , . . . , ωn ), and stores the result into another m- f When adding |ai i to the j-th qubit of the sum
gate (M).
qubit register |sim = |s1 · · · sm i initialized to |0im . In register, the computation starts by applying M and then
other words, D to |ai i, |sj i and |cj i, which adds |ai i to |sj i and stores
n + the carry into |cj i. Then, using the same two operations,
X it adds the carry |cj i to the next sum qubit |sj+1 i with

S |ain |0im = |ain ωi ai , (A1) carry recorded in |cj+1 i. The process is iterated until all

i=1 m carries are handled. Finally, it resets the carry qubits by
applying M f in reverse order of the carry computation.
where
$ !% We reset the carry qubits in order to reuse them in later
n
X computations if necessary.
m = log2 ωi + 1. (A2) In general, we need max(k − 2, 0) carry qubits to com-
i=0
pute the addition of |ai i on |sj i, where k ≥ 1 is the
The choice of m ensures that the sum register |sim smallest integer satisfying
is large enough to hold the largest possible weighted s
k h1|ρj,j+k−1 |1ik = 0, (A3)
sum, i.e. the sum of all weights. Alternatively, we
can write the weights in the form of a binary matrix where ρsj,j+k−1 is the density matrix corresponding to
n×n∗
Ω = (Ωi,j ) ∈ {0, 1} , where the i-th row in Ω is the |sj · · · sj+k−1 i. In the k = 1 case, i.e. |sj i = 0, the
binary representation of weight ωi and n∗ = maxdi=1 ni . computation is reduced to “copying” |ai i to |sj i using
We use the convention that less significant digits have the bit addition operator D, and no carries would be
smaller indices, so |s1 i and Ωi,1 are the least significant produced. For k ≥ 2, Eq. (A3) guarantees no carries from
digits of the respective binary numbers. Using this bi- |sj+k−1 i and beyond. Therefore we can directly compute
nary matrix representation, S is to add the i-th qubit the carry from |sj+k−2 i into |sj+k−1 i without worrying
|ai i of the state register to the j-th qubit |sj i of the sum about additional carries. This eliminates the need for
register if and only if Ωi,j = 1. Depending on the values an ancilla qubit |cj+k−2 i, and hence the number of carry
of the weights, an additional quantum register may be qubits needed is k − 2. To further reduce the number of
necessary to temporarily store the carries during addi- ancilla qubits, we can use any sum qubit |sj i = |0i during
tion operations. We use |cj i to denote the ancilla qubit the computation. In our case, since we are processing Ω
used to store the carry from adding a digit to |sj i. These column by column, all sum qubits more significant than
ancilla qubits are initialized to |0i and will be reset to |sj+k−1 i would be |0i. In other words, we have the last
their initial states at the end of the computation. m − (j + k − 1) sum qubits usable as carry qubits in the
Based on the above setup, we build quantum circuits computation described above.
for the weighted sum operator using three elementary As the weights are known at the time of building the
12

|ai i or |cj−1 i • 2. Sum of multi-qubit integers


(a) |sj i M = •
|sj+1 i or |cj i The weighted sum operator S can be used to calculate
the sum of d multi-qubit positive integers on a quantum
register. To do that we first prepare the input register in
|ai i or |cj i • the state
(b) D =
|sj i
d
X
(1) (d)
|ain = |a1 . . . a(1) (d)
n1 . . . a1 . . . and i , n= ni , (A7)
|ai i or |cj−1 i • i=1

(c) |sj i f
M = X • X (i) (i)
where |a1 . . . ani i , i ∈ [1, d] is the binary representation
|cj i |0i of the i-th integer to sum with ni qubits, least significant
figure first. Then we set the weights as

ω = (20 , . . . , 2n1 −1 , . . . , 20 , . . . , 2nd −1 ), (A8)


FIG. 15. Three component gates used to construct the
weighted sum operator S. (a) The carry operator M con-
or equivalently,
sisting of one Toffoli gate, which computes the carry from
adding |ai i (or |cj−1 i) and |sj i into |sj+1 i or |cj i. (b) The bit T
addition operator D consisting of one controlled-NOT gate, Ωn×n∗ = InT1 ×n∗ , . . . , InTd ×n∗ , (A9)
which adds the state qubit |ai i or the carry qubit from the 
previous digit |cj−1 i to the sum qubit |sj i. (c) The carry reset where Ini ×n∗ = Ini , 0ni ×(n∗ −ni ) , i ∈ [1, d] and Ini is
operator M f consisting of two X gates and one Toffoli gate, the ni -dimensional identity matrix. Now if we build a
which resets the carry qubit |cj i back to |0i. weighted sum operator based on the weights in Eq. (A8)
and apply it on the input state qubits in Eq. (A7), we
would have the sum of the d integers in |sim .
circuit, the possible states that |sim can have before each Fig. 16 shows an example circuit computing the sum
addition of a state qubit |ai i are also computable. Since of two 3-digit binary numbers represented on a 6-
we are adding |ai i to |sim starting from the least signif- qubit quantum register |ai3 |bi3 , and storing the re-
icant bit, k equals the bit length of the maximum possi- sult into a 4-qubit register |si4 . The circuit is imple-
ble sum on |sj . . . sm i after adding |ai i to |sj i. In other mented by a weighted sum operator S with weights
words, ω = (1, 2, 4, 1, 2, 4). The operator consists of 6 controlled-
  NOT (D) gates and 3 Toffoli (M) gates. The 9 gates are
 
  grouped in three groups of 3, as is shown in Fig. 16 by
 X Ωu,v 
k = log2    + 1. (A4) dashed boxes. Each group computes the sum of the bits
2j−v  |aj i and |bj i into |sj i and the carry into |sj+1 i. Note that
u≤i, or
v≤j
separate carry qubits are not required, therefore no carry
Therefore, the number of carry operations and additional reset operators M f are used. In fact, using the above con-
ancilla qubits required for each addition of |ai i can be struction for S, no extra carry qubits will be required for
determined. The term in the b·c in Eq. (A4) is upper- the addition of any two binary numbers. In general, S
bounded by requires at most blog2 dc ancilla qubits for carrying op-
m erations, which directly comes from Eq. (A6).
X Ωu,v X nmax
v
≤ < 2nmax ≤ 2n, (A5)
2 j=1
2j−1
u≤i, or
v≤j 3. Weighted sum of multi-qubit integers
P
where nmax = maxm j=1 i=1 nΩi,j is the maximum num- In addition to summing up d integers equally, a weight
ber of 1’s in a column of Ω. It immediately follows that
wi may also be added to each integer a(i) . In that case,
the number of non-trivial carry operations (i.e. carry
the weight matrix would be
operations that requires M) f required to add |ai i to
|sj . . . sm i is upper-bounded by T
Ω = w1 · InT1 ×n∗ , . . . , wd · InTd ×n∗ . (A10)
k − 2 < log2 bnmax c ≤ log2 bnc , (A6)
In the case where wi are not integers, we can rescale the
and the number of ancilla qubits required for the entire values represented on the quantum register by a common
implementation of S is at most the upper bound for k−2, factor to make all weights integers. For example, if we
since we may use some sum qubits as carries. In other are adding two numbers with weights 0.2 and 0.8, we
words, the number of ancilla qubits required for S grows could use integer weights of w1 = 1 and w2 = 4 instead,
at most logrithmatically with the number of state qubits and reinterpret the resulting sum in postprocessing by
n. dividing it by 5.
13

|a1 + b1 i → |s1 s2 i
 |a2 + b2 i → |s2 s3 i
a1 : •
|a3 + b3 i → |s3 s4 i
|ai3 a2 : •
a : •
 3
b1 : • •
|bi3 b2 : • •
b : • • 
 3 

s1 : |0i • 


s 

|si4 2 : |0i •
  |a + bi4
s : |0i • 
 3
 


s4 : |0i

FIG. 16. A circuit computing the sum of binary numbers |ai3 and |bi3 into |si4 implemented using the weighted sum operator
with weights ω = (1, 2, 4, 1, 2, 4).

[1] John C. Hull, Options, futures, and other derivatives, 6th [11] Aram W. Harrow, Avinatan Hassidim, and Seth
ed. (Pearson Prentice Hall, Upper Saddle River, NJ [u.a.], Lloyd, “Quantum algorithm for linear systems of
2006). equations,” Physical Review Letters 103, 1–8 (2009),
[2] Fischer Black and Myron Scholes, “The pricing of options arXiv:0811.3171.
and corporate liabilities,” Journal of Political Economy [12] Seth Lloyd, Masoud Mohseni, and Patrick Reben-
81, 637–654 (1973). trost, “Quantum principal component analysis,” Nature
[3] Bruno Dupire, “Pricing with a smile,” Risk Magazine , Physics 10 (2014).
18–20 (1994). [13] Jacob Biamonte, Peter Wittek, Nicola Pancotti, Patrick
[4] Phelim P. Boyle, “Options: A Monte Carlo approach,” Rebentrost, Nathan Wiebe, and Seth Lloyd, “Quantum
Journal of Financial Economics 4, 323–338 (1977). machine learning,” Nature 549, 195–202 (2017).
[5] Paul Glasserman, Monte Carlo Methods in Financial En- [14] Vojtech Havlicek, Antonio D. Corcoles, Kristan Temme,
gineering (Springer-Verlag New York, 2003) p. 596. Aram W. Harrow, Abhinav Kandala, Jerry M. Chow,
[6] Michael A. Nielsen and Isaac L. Chuang, Cambridge Uni- and Jay M. Gambetta, “Supervised learning with
versity Press (2010) p. 702. quantum-enhanced feature spaces,” Nature 567, 209 –
[7] Abhinav Kandala, Antonio Mezzacapo, Kristan Temme, 212 (2019).
Maika Takita, Markus Brink, Jerry M. Chow, and [15] Roman Orus, Samuel Mugel, and Enrique Lizaso,
Jay M. Gambetta, “Hardware-efficient variational quan- “Quantum computing for finance: Overview and
tum eigensolver for small molecules and quantum mag- prospects,” Reviews in Physics 4, 100028 (2019).
nets,” Nature 549, 242 (2017). [16] Patrick Rebentrost and Seth Lloyd, “Quantum compu-
[8] Abhinav Kandala, Kristan Temme, Antonio D. Corcoles, tational finance: quantum algorithm for portfolio opti-
Antonio Mezzacapo, Jerry M. Chow, and Jay M. Gam- mization,” (2018), arXiv:1811.03975.
betta, “Error mitigation extends the computational reach [17] Stefan Woerner and Daniel J. Egger, “Quantum risk anal-
of a noisy quantum processor,” Nature 567, 491–495 ysis,” npj Quantum Information 5, 15 (2019).
(2019). [18] Patrick Rebentrost, Brajesh Gupt, and Thomas R.
[9] N. Moll, P. Barkoutsos, L. S. Bishop, J. M. Chow, Bromley, “Quantum computational finance: Monte carlo
A. Cross, D. J. Egger, S. Filipp, A. Fuhrer, J. M. pricing of financial derivatives,” Phys. Rev. A 98, 022321
Gambetta, M. Ganzhorn, A. Kandala, A. Mezzacapo, (2018).
P. Müller, W. Riess, G. Salis, J. Smolin, I. Tavernelli, [19] Christa Zoufal, Aurélien Lucchi, and Stefan Wo-
and K. Temme, “Quantum optimization using variational erner, “Quantum generative adversarial networks for
algorithms on near-term quantum devices,” Quantum learning and loading random distributions,” (2019),
Science and Technology 3, 030503 (2018). arXiv:1904.00043.
[10] M. Ganzhorn, D.J. Egger, P. Barkoutsos, P. Ollitrault, [20] Ana Martin, Bruno Candelas, Angel Rodriguez-Rozas,
G. Salis, N. Moll, M. Roth, A. Fuhrer, P. Mueller, S. Wo- Jose D. Martin-Guerrero, Xi Chen, Lucas Lamata, Ro-
erner, I. Tavernelli, and S. Filipp, “Gate-efficient simu- man Orus, Enrique Solano, and Mikel Sanz, “Towards
lation of molecular eigenstates on a quantum computer,” pricing financial derivatives with an ibm quantum com-
Phys. Rev. Applied 11, 044092 (2019). puter,” (2019).
14

[21] Gilles Brassard, Peter Hoyer, Michele Mosca, and Alain Diego Moreda Rodríguez, Giacomo Nannicini, Paul Na-
Tapp, “Quantum Amplitude Amplification and Estima- tion, Pauline Ollitrault, Lee James O’Riordan, Hanhee
tion,” Contemporary Mathematics 305 (2002). Paik, Jesús Pérez, Anna Phan, Marco Pistoia, Viktor
[22] Robert C. Merton, “Theory of rational option pricing,” Prutyanov, Max Reuter, Julia Rice, Abdón Rodríguez
The Bell Journal of Economics and Management Science Davila, Raymond Harry Putra Rudy, Mingi Ryu, Ni-
4, 141–183 (1973). nad Sathaye, Chris Schnabel, Eddie Schoute, Kanav Se-
[23] Lov Grover and Terry Rudolph, “Creating superpositions tia, Yunong Shi, Adenilton Silva, Yukio Siraichi, Seyon
that correspond to efficiently integrable probability dis- Sivarajah, John A. Smolin, Mathias Soeken, Hitomi
tributions,” (2002), arXiv:0208112. Takahashi, Ivano Tavernelli, Charles Taylor, Pete Tay-
[24] Emanuel Derman and Iraj Kani, “The volatility smile and lour, Kenso Trabing, Matthew Treinish, Wes Turner, De-
its implied tree,” Goldman Sachs Quantitative Strategies siree Vogt-Lee, Christophe Vuillot, Jonathan A. Wild-
Research Notes (1994). strom, Jessica Wilson, Erick Winston, Christopher
[25] Vivek V Shende, Stephen S Bullock, and Igor L Markov, Wood, Stephen Wood, Stefan Wörner, Ismail Yunus
“Synthesis of quantum-logic circuits,” IEEE Transactions Akhalwaya, and Christa Zoufal, “Qiskit: An open-source
on Computer-Aided Design of Integrated Circuits and framework for quantum computing,” (2019).
Systems 25, 1000–1010 (2006). [35] Vlatko Vedral, Adriano Barenco, and Artur Ekert,
[26] Martin Plesch and Caslav Brukner, “Quantum-state “Quantum networks for elementary arithmetic opera-
preparation with universal gate decompositions,” Phys. tions,” Phys. Rev. A 54, 147–153 (1996).
Rev. A 83 (2010). [36] Thomas G Draper, “Addition on a Quantum Computer,”
[27] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing (2000), arXiv:0008033.
Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, [37] Thomas G Draper, Samuel A Kutin, Eric M Rains, and
and Yoshua Bengio, “Generative adversarial nets,” in Krysta M Svore, “A logarithmic-depth quantum carry-
Advances in Neural Information Processing Systems 27 , lookahead adder,” Quantum Information and Computa-
edited by Z. Ghahramani, M. Welling, C. Cortes, N. D. tion 6, 351–369 (2006).
Lawrence, and K. Q. Weinberger (Curran Associates, [38] Ghasem Tarmast, “Multivariate Log-Normal Distribu-
Inc., 2014) pp. 2672–2680. tion,” International Statistical Institute Proceedings:
[28] Daniel S Abrams and Colin P Williams, “Fast quantum 53rd Session, Seoul (2001).
algorithms for numerical integrals and stochastic pro- [39] Raban Iten, Oliver Reardon-Smith, Luca Mondada,
cesses,” (1999), arXiv:9908083. Ethan Redmond, Ravjot Singh Kohli, and Roger
[29] Ashley Montanaro, “Quantum speedup of monte carlo Colbeck, “Introduction to universalqcompiler,” (2019),
methods,” Proceedings of the Royal Society of London arXiv:1904.01072.
A: Mathematical, Physical and Engineering Sciences 471 [40] Yohichi Suzuki, Shumpei Uno, Rudy Raymond, Tomoki
(2015). Tanaka, Tamiya Onodera, and Naoki Yamamoto, “Am-
[30] A. Yu. Kitaev, “Quantum measurements and the Abelian plitude estimation without phase estimation,” (2019),
Stabilizer Problem,” (1995), arXiv:9511026. arXiv:1904.10246.
[31] Paul Glasserman, Philip Heidelberger, and Perwez Sha- [41] Mark Broadie and Paul Glasserman, “Estimating security
habuddin, “Efficient Monte Carlo Methods for Value-at- price derivatives using simulation,” Management Science
Risk,” in Mastering Risk, Vol. 2 (2000) pp. 5–18. 42 (1996).
[32] Adriano Barenco, Charles H. Bennett, Richard Cleve, [42] Austin G. Fowler, Matteo Mariantoni, John M. Martinis,
David P. Divincenzo, Norman Margolus, Peter Shor, Ty- and Andrew N. Cleland, “Surface codes: Towards practi-
cho Sleator, John A. Smolin, and Harald Weinfurter, “El- cal large-scale quantum computation,” Phys. Rev. A 86,
ementary gates for quantum computation,” Phys. Rev. A 032324 (2012).
52, 3457–3467 (1995). [43] Miroslav Dobšíček, Göran Johansson, Vitaly Shumeiko,
[33] Steven A Cuccaro, Thomas G Draper, Samuel A Kutin, and Göran Wendin, “Arbitrary accuracy iterative quan-
and David Petrie Moulton, “A new quantum ripple-carry tum phase estimation algorithm using a single ancillary
addition circuit,” (2004), arXiv:0410184. qubit: A two-qubit benchmark,” Phys. Rev. A 76, 030306
[34] Gadi Aleksandrowicz, Thomas Alexander, Panagi- (2007).
otis Barkoutsos, Luciano Bello, Yael Ben-Haim, [44] C. J. O’Loan, “Iterative phase estimation,” Journal of
David Bucher, Francisco Jose Cabrera-Hernádez, Jorge Physics A: Mathematical and Theoretical 43 (2010).
Carballo-Franquis, Adrian Chen, Chun-Fu Chen, [45] Krysta M Svore, Matthew B Hastings, and Michael
Jerry M. Chow, Antonio D. Córcoles-Gonzales, Abigail J. Freedman, “Faster phase estimation,” Quantum Informa-
Cross, Andrew Cross, Juan Cruz-Benito, Chris Culver, tion & Computation 14, 306–328 (2014).
Salvador De La Puente González, Enrique De La Torre,
Delton Ding, Eugene Dumitrescu, Ivan Duran, Pieter
Eendebak, Mark Everitt, Ismael Faro Sertage, Albert
Frisch, Andreas Fuhrer, Jay Gambetta, Borja Godoy
Gago, Juan Gomez-Mosquera, Donny Greenberg, Ikko
Hamamura, Vojtech Havlicek, Joe Hellmers, Łukasz
Herok, Hiroshi Horii, Shaohan Hu, Takashi Imamichi,
Toshinari Itoko, Ali Javadi-Abhari, Naoki Kanazawa,
Anton Karazeev, Kevin Krsulich, Peng Liu, Yang
Luh, Yunho Maeng, Manoel Marques, Francisco Jose
Martín-Fernández, Douglas T. McClure, David McKay,
Srujan Meesala, Antonio Mezzacapo, Nikolaj Moll,

You might also like