Binomial Tree for Stock Price Movements
The binomial model is a method used to estimate the value of a stock
option using a tree diagram. At each node in the tree, the stock price can
either go up or down by a certain amount, which is determined by the
volatility of the stock. The probability of the stock price going up or down
is also estimated at each node. By working through the tree from the
current stock price to the expiration date of the option, we can estimate
the value of the option at each node, and therefore the overall value of
the option.
Let's walk through an example of how to calculate the value of a European
call option using the binomial model.
Suppose we have a stock that is currently trading at $50 per share, and we
want to estimate the value of a European call option with a strike price of
$55 and a time to expiration of 6 months. The risk-free interest rate is 5%
per year, and the volatility of the stock is 20% per year.
First, we need to determine the size of the up and down movements in
the stock price at each node. We'll use a time step of 1 month, so there
will be 6 time steps in total. The up and down movements can be
calculated as:
up movement = S0 * exp((r - 0.5 * σ^2) * dt + σ * √dt) down movement =
S0 * exp((r - 0.5 * σ^2) * dt - σ * √dt)
where S0 is the current stock price, r is the risk-free interest rate, σ is the
volatility of the stock, dt is the length of the time step (in years), and √dt
is the square root of the time step.
For this example, the up and down movements are:
up movement = $50 * exp((0.05 - 0.5 * 0.2^2) * 0.08333 + 0.2 * √0.08333)
= $53.90 down movement = $50 * exp((0.05 - 0.5 * 0.2^2) * 0.08333 - 0.2
* √0.08333) = $46.10
Next, we need to estimate the probability of the stock price going up or
down at each node. We'll use the formula:
p = (exp((r - 0.5 * σ^2) * dt) - down movement / up movement) / (2 * σ *
√dt)
For this example, the probability of the stock price going up is:
,p = (exp((0.05 - 0.5 * 0.2^2) * 0.08333) - $46.10 / $53.90) / (2 * 0.2 *
√0.08333) = 0.5219
The probability of the stock price going down is simply 1 - p, or 0.4781.
We can now build the binomial tree by starting with the current stock
price at the root node, and then recursively applying the up and down
movements and probabilities to each node. At the final time step (6
months), we can estimate the value of the European call option at each
node using the formula:
C = max(S - X, 0)
where S is the stock price at the node, and X is the strike price.
Properties of a normal distribution
The normal distribution, also known as the Gaussian distribution or bell
curve, is a continuous probability distribution characterized by its bell-
shaped curve. It is defined by two parameters: the mean (μ) and the
standard deviation (σ).
The mean represents the center of the distribution, while the standard
deviation determines the spread of the distribution. Specifically, 68% of
the data falls within one standard deviation of the mean, 95% within two
standard deviations, and 99.7% within three standard deviations.
The formula for the normal distribution is:
f(x) = (1/σ(sqrt(2π))) * e^(-((x-μ)^2) / (2σ^2))
Where f(x) is the probability density function, μ is the mean, σ is the
standard deviation, and e is the base of the natural logarithm
(approximately equal to 2.71828).
For example, let's consider a normal distribution with a mean of 5 and a
standard deviation of 2. We can calculate the probability density function
at a particular point, say x=7, using the following Python code:
import math
mu = 5
sigma = 2
x = 7
pdf = (1/(sigma * math.sqrt(2*math.pi))) * math.exp((-1/2) *
((x-mu)/sigma)**2)
, print(pdf)
This will output approximately 0.1353352832366127, which represents the
probability density at x=7.
Another important property of the normal distribution is its cumulative
distribution function (CDF), which represents the probability that a
random variable takes on a value less than or equal to a given threshold.
The CDF for a normal distribution is typically calculated using numerical
methods, such as numerical integration or the inverse transform method.
For example, let's calculate the probability that a random variable from
our normal distribution with mean 5 and standard deviation 2 is less than
or equal to 6. We can use the scipy.stats module in Python to calculate
this:
import scipy.stats as stats
mu = 5
sigma = 2
threshold = 6
prob = stats.norm.cdf(threshold, loc=mu, scale=sigma)
print(prob)
This will output approximately 0.8413447460685429, which represents the
probability that a random variable from our normal distribution is less
than or equal to 6.
Finally, it's worth noting that the normal distribution is a special case of
the more general exponential family of distributions. This means that it
can be characterized by a set of sufficient statistics and a probability mass
function that satisfies certain properties. Understanding this connection
can be useful for developing statistical models and algorithms that make
use of the normal distribution.
In summary, the normal distribution is a fundamental concept in
probability theory and statistics. It is characterized by its bell-shaped
curve, which is determined by its mean and standard deviation. The
normal distribution can be used to calculate probabilities and make
predictions about data, and it is an important building block for many
statistical models and algorithms.
Understanding Standard Deviation
Standard deviation is a measure of the spread of a dataset, which
indicates how much the individual data points deviate from the mean
value. It is calculated as the square root of the variance, which is the