In this task, you should calculate the price of a so-called warrant, which is a financial instrument
very similar to an option, the difference being that a publisher (usually a bank) stands as a
guarantor to sell and buy the warrant at a given time. In the case of the option, there must be
(like for example a share) a buyer who meets a seller and there is therefore no guarantee to be
able to buy or sell one at a given time (low trading volume). For the warrant, however, the
publisher takes a financial risk unlike stock trading where (the online bank) is only a broker and
takes a brokerage. To price this risk, Black-Scholes formula is implemented in matlab in
"finance toolbox":
[Call, Put] = blsprice (Price, Strike, Rate, Time, Volatility)
"Call" is the price of a purchase warrant.
"Put" is the price of a sales warrant.
"Price" is the current price of the underlying stock.
"Strike" is the exercise price for the underlying stock.
"Rate" is "risk-free interest rate", assume 2%.
"Time" is the time until the warrant expires (unit number of years eg 0.5 for 6 months).
"Volatility" is the volatility of the underlying stock which is defined as follows:
- from closing prices x for n days form the differences (x2-x1) / x1, (x3-x2) / x2 ,. . .
(Xn-xn-1) / x n-1
- calculate the standard deviation of the natural logarithm of these values
- multiply this by the root of 252 (= ~ number of trading days in one year)
Your task is to use the given data file with price data for a share for a period of time and
calculate what the purchase and sale warrants would cost for that share. You should calculate
these for a strike price that varies by -50% to + 50% (in increments of 25%) from the current
share price and for a period of time from 0.1 years to 2 years. There will be a graph for each
strike price and warrant type where the time is on the x-axis and the warrant price on the y-axis,
draw 10 graphs. You can draw several in the same graphics window.
Is the result reasonable? Feel free to compare with warrant prices you find online