2. Engineer Summary
● The normal assumption in Black-Scholes
option pricing formula is outdated, duh.
● Generative Adversarial Networks (GANs) are
the new golden standard for simulation.
● Here is the story of how 2 data scientists
(inc. a former trader) deployed a GAN for
option pricing in real-time, in 10 days.
3. 1. A Short History of Option Pricing
2. GANs for Time Series Generation
3. Option Pricing in Real-Time (demo!)
Agenda
5. Options: contract that gives the bearer the right to buy or sell a stock at a given date for a given price
- Call: how much is the right to buy XYZ at 100 USD in 30 days worth?
- Put: how much is the right to sell XYZ at 100 USD in 30 days worth?
Subtleties in pricing such as
- Type of options (European/American)
- Dividends
Why is it so important to get the value right?
- To be competitive when a bid is coming from the market
- To avoid being the target of arbitrageurs...
Options 101
6. Black and Scholes to determine the fair price of the theoretical value for an option based on 6 parameters:
- Type of options (american/european)
- risk-free rate
- strike price
- underlying stock price
- time
- Volatility
Hypothesis: a stock follows a random walk where the volatility of the stock plays a big part.
The Black–Scholes–Merton model
7. If assumption is made that prices are distributed log normally - which may or not be true - then log
returns are conveniently normally distributed.
Volatility is a measure of the standard deviation of the log returns.
Modeling Stock Prices & Returns
8. In the Black-Scholes model, asset price St is assumed to follow a Geometric Brownian motion (GBM) as
defined by the stochastic differential equation
The Formula of Robert Brown et al.
9. Option Payoffs 101
Call: In exchange for a premium, the bearer has the right to buy the stock at the expiration date for a given price K.
Put: In exchange for a premium, the bearer has the right to sell the stock at the expiration date for a given price K.
10. 1. Simulate a high number of trajectories for a stock
2. Compute the pay-off for each of the trajectory
3. Fair price as the average of the pay-offs
Just Monte Carlo it.
11. Does the distribution of returns really follow a normal distribution…? Not really.
Lots of improvement and more complex assumption to get better (ARCH/GARCH etc). But still.
How to Evaluate the Fair Price of an Option?
13. GAN is a Deep Learning model that aims to generate examples of real-world data that
are as realistic as possible.
Very famous recently for image generation.
Generative Adversarial Network 101
Fake or real ?
14. Getting Rid of the Normal Assumption
● Let’s try to use Deep learning to get something that is independent of human
interpretation:
● The main focus for GAN is to generate data from scratch
● It is composed of two networks - a generator and a discriminator
● The generator has to produce some times series of log-returns realistic enough
to fool the discriminator trained to recognize real log-returns times series.
15. Daily historic prices of SP500 stocks between 2002 and 2017:
1. Create chunk of time series of size 50. Those are our
real examples
2. Generate some fake times series (of size 50) starting
from noise - or can we be smarter?
3. Train a discriminator to flag the real from the fakes
4. Stop when the fake examples seem real enough
GAN GAN style plan
16. Tip: do not start from pure random noise but … from a GBM because it is what you want to improve.
A Simple Architecture to Demo the Approach
1. The Generator
17. A generator with 3 dense layers
Importance of the LeakyRelu activation function
Do not forget the dropout
A Simple Architecture to Demo the Approach
2. The Discriminator
21. GAN tricks for smoother training => read the repo ganhacks by Soumith Chintala
Try some more complex architecture to have an even better times series generator:
- RGAN or RCGAN very appropriate for a stochastic use case (LSTM instead of Dense)
- Have the generator learn more directly from the discriminator: Wasserstein GAN
- Add some Gradient Penalty to the generator to prevent it from being too smart…
Also we did not take the time to implement some sort of error metric to see how much better we improve the
generation from one model to another: RMSE should be a good starting point.
Going Further
23. Conclusions
From English data
and Japanese affix –iku (育)
“To raise or bring up; to grow up”
Literally,”Data Education”
or ”Let’s Grow the Data skills”
データ
育