Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit


Problem Set 1

FIN 424, Spring A 2022

 

1. Python exercise: The Jupyter notebook “SD MAD Exercise.ipynb” does most the actual work (you can find it on blackboard with the problem set).

A note on Python in finance: Industry runs off Python! It is the standard tool used for quantitative finance in the real world, and having some skill with it is incredibly valuable on the job market.  Academia uses a lot of Matlab (what I mainly use, for asset pricing and data analysis), Stata (pri- marily corporate finance researchers using panel data), and SAS (big data sets, especially the trade and quote [or “TAQ,” pronounced “tack”] data).

With the proper packages Python can do it all, and it’s free (a huge plus in industry)! For example, the NumPy package (number python) was basically written to give Python the functionality of Matlab. The big tool used in the finance industry is the PANDAS package (python data analysis), which was written by Wes McKinney while he was working for AQR (Applied Quanti-

tative Research, a large quantitative asset manager in Greenwich, Connecti- cut).

• If you haven’t used Python before, want to use the code I provide, and need help getting started, then please start with the “Getting started with Python/Jupyter notebooks” item, on Blackboard before Learn- ing Module 0.

Exercise background: Monte Carlo (rst steps)

“Monte Carlo” (or “MC”) is a powerful technique for pricing derivative securities.  It typically doesn’t provide a lot of intuition, but its flexibility makes it one of the most widely used methods for doing real-world val- uations of derivatives that are difficult to price.  We aren’t ready to study Monte Carlo in depth now (we will be studying it extensively later on), but we can do some “baby” MC pricing now, and use it to start developing some important intuitions we will use later.

The value of any asset is the discounted, expected value of all its future cash flows. With options, there are two problems—the appropriate discount rate isn’t immediately obvious, and the complicated, “conditional” nature of op- tion’s payouts make it hard to even calculate their expected payoffs.  The Black-Scholes formula is the result of figuring out how to do that compli- cated valuation for a particular, fairly simple option (European call options, under a strict “log-normal” assumption on future stock prices). In general, however, there may be no way to analytically calculate the expected payoff.

That’s where Monte Carlo comes in. Monte Carlo does a large number of “simulations” to get a good approximation of the distribution of future pos- sible outcomes, and uses these to calculate an expected payoff numerically. You still typically need to address the issue around the “right” discount rate.

There is one type of option that is almost completely insensitive to the dis- count rate: “short-dated” options. These are options that are about to pay off (in the next few days), and consequently have such low sensitivity to discount rates (because they are being discounted for so little time) that we almost don’t even need to worry about discounting at all.  The easiest of these options to price are short-dated, at-the-money puts and calls. These mature soon, paying the holder the difference between the price of the op- tion’s “underlying” asset at maturity, and the underlying asset’s current price (the strike). The call pays out if the underlying’s price at maturity is higher than its current prices, while the put pays off if it’s price is lower. Pricing these options provides deep, important intuitions about what kind bet you’re making when you buy an option. It’s what this Python exercise is about.

The actual exercise:

Daily stock returns are roughly normally distributed.  In average market conditions, the daily standard deviation of the market is about 1%, and 3-4 times as high for the typical individual stock.

• These correspond to volatilities of 16% and 48-64%, respectively.

• The standard deviation scales like .T .

  Very important! We’ll be using this fact all the time!

  The volatility is an annualized standard deviation.

• One day is roughly 1/252 years (there are roughly 252 trading days a year), so for one day .T ≈ 1/16. Multiplying the asset volatility by this gives the one day standard deviation.

That is, if the price of the asset today is S0 , then the price tomorrow is dis- tributed roughly S0 (1 + σdaily χ), where σdaily  is the asset’s daily standard deviation and χ is a standard normal random variable (mean zero and stan- dard deviation of one).

Please play with the parameters in the python code posted with this exercise (or use Excel or any other platform you like, in which case you’ll need to do all the programming), to answer the following question:

(a) Using Python (or Excel, or whatever), calculate a “large number” N of potential prices for the stock “tomorrow” (S1 ), given the price today (S0 ),

S1,i     =   S0 (1 + σdaily χi )

for N “draws” of the standard normal, χi .

• NumPy makes this pretty easy.

• Please choose S0 , σdaily , and N yourselves, and report your choices.

  My machine (which is admittedly quite fast) runs the whole exercise in 4-5 seconds when N = 108  (and you don’t need N nearly that high).

(b) Using the N draws, estimate and report the standard deviation (σ, or the SD) and the mean absolute deviation (the MAD) of tomorrow’s price,

σS1       =   ←E │(S1 - S0 )2 ┐

MADS1       =   E |S1 - S0 |

Please report both of these, and also the ratio of the MAD to the SD. What happens to this ration when you change the standard deviation?

(c) Now “price” the at-the-money (ATM) call option on this underlying, as its expected payoff (really you want the discounted, risk-adjusted expected payoff, but again, with one day to maturity there isn’t much discounting or risk-adjusting to worry about).  That is, calculate and report

N

       max (S1,i - K, 0),

i=1

where S1,i is the underlying price you get tomorrow in the “ith draw,” and K = S0 .

• Also report the ratio of your calculated call price to the MAD of the one day change in the underlying price.

(d) What happens to the price of this ATM call if you double S0 ? (Note: It is still ATM, so the strike also needs to double.) What if you triple

S0 ?

• Please report your answers as multiples of your “baseline” an- swer, i.e., the price you got for the call before you increased the price of the underlying.

(e) What happens to your answers if you instead double σdaily ?  What if you triple σdaily ?

• Again, report your answers as multiples of your baseline answer.

2. When studying derivatives, we use several different conventions for quot- ing interest rates.  This is due to historical and institutional reasons.  In the real world, most rates are quoted with the bond market convention of annualized rates with semi-annually compounding (though mortgage and consumer debt is usually quoted for monthly compounding).  The Black- Scholes option pricing model was derived in a continuous time model, so typically uses continuous compounding, while the binomial model most commonly used on the street employs one-period simple rates. You must be comfortable switching between these.

The fundamental thing is today’s price of a dollar that will be received in the future, i.e., zero-coupon bond prices, which I denote B0,T  (i.e., the time-0 price of a dollar that will be received T in the future—so price per dollar of face).

• The interest rate is just a transformation of this price.

  A monotonic transformation, so I actually think of the interest rate as a price—i.e., the information content of a given interest rate is exactly the price of a zero-coupon bond.

• For a given bond price there are actually many interest rates, because the exact transformation from price to rate depends on the quoting convention.

Now suppose twenty-year zero-coupon bonds with faces of $100 are trading at $67.16. What is the annualized interest rate to bond maturity under an- nual, semi-annual, quarterly, monthly, and continuously compounding con- ventions?

• Please state your answers as annualized discount rates!

  Report your answers using enough significant digits to show dif- ferences in quoted rates (show at least 1/1000s of a percent).

• For a given bond price there are actually many interest rates, because the exact transformation from price to rate depends on the quoting convention.

3. Apple stock is trading at $128.66 per share. The risk-free interest rate (annu- alized, continuously compounded) is 2.00% (flat yield-curve). The market assumes that Intel will not pay any dividend within the next 3 months.

(a) What is the forward price to purchase one share of Intel stock in 3 months?

(b) Suppose Apple suddenly announces a dividend of $2 per share in ex- actly 2 months, and assume that the Intel stock price does not change

upon the announcement. What is the new 3-month forward price for Intel?

• The contract’s deliverable does О include dividends paid over the life of the contract.

(c) If after the dividend announcement, the 3-month forward price didn’t change (i.e., it remained your answer to part a), how would you make arbitrage profit from the market mispricing?

4. A one-year-long forward contract on a non-dividend-paying stock is written when the stock price is $100 and the risk-free interest rate, quoted with the standard bond market convention of semi-annual compounding, is 4% per annum.

(a) What is the one-year forward price of Intel? What is the initial value of the one-year forward contract on Apple written at this delivery price?

(b) Six months later the stock price is $110 and the risk-free interest rate is still 4%. What is the new market forward price for contracts with our contract’s current delivery date (i.e., for forwards with delivery in 6 months)?

(c) If you had bought a one-year forward contract six months earlier for delivery at the then prevailing forward price (i.e., with a delivery price equal to your answer to part a), what is the current value of this for- ward contract (signed 6 months ago), given the current $110 price of Apple?

5. Data work I: Short-dated ATM options on the S&P 500.

Go to the “Quotes Dashboard” at the CBOE for the spx (assets related to the S&P 500). You can find this at:

https://www.cboe.com/delayed quotes/spx/quote table

• By default this gives quotes for near-dated, near-the-money options.

(a) Pick one of the near-dated series (options with a given time-to-maturity), one with a few weeks to maturity (if you only use a few days the an-  swer will be too sensitive to your precise day-count), and record:

i. The price of the SP 500 (“Last” in the header). This is S.

ii. The maturity date of the series, and how many trading days this is in the future (don’t count holidays when the market is closed). Calculate how long this is in years, assuming 252 trading days in a year. This is T !

iii. The strike closest to the current price of the the S&P 500 (the strike is at the end of the contract name), and the price of the call and put with this strike.

• For the “price,” use the mid-point fo the bid and the ask. (b) The “IV” for the two options

• This is the “implied volatility.”

  I.e., the volatility that traders are putting into the Black-Scholes formula to get the observed options price.

• For what we are doing you can just take the average of the IV for the call and the IV for the put.

(c) Now calculate the approximate theoretical price of the two options.

i. Please include the adjustment for moneyness.

ii. With only a few weeks to maturity you can ignore the adjustment

for the time-value of money.

That is, calculate:

cK  = 0.4Sσ .T + (S - K)

pK  = 0.4Sσ .T - (S - K).

(d) How do these approximate theoretical price compare to the prices you observe?

6. Data work II: Index futures and the implied dividend yield.

F0,T, the forward price for delivery T in the future, using continuously com- pounded rates, is given by

F0,T   =    =  e(r −δ)TS,

where S is the current spot price of the underlying index, δ is the continu- ously compounded dividend yield of the underlying index, and B0,T  is the todays price of a dollar delivered T in the future.

We can use this to derive a formula for the dividend yield in terms of the observable prices of the underlying index, bond yields, and the underlying’s price in futures markets. The previous equation implies that

e −δT     = ÷   -δT   =

÷   δ   =


BО)FО)

S

ln ╱ BО О)  

1         ╱           

(a) Look up and record the current price of the S&P500, and its futures prices for two different delivery dates, one somethime from three to six months from now, and one sometime from six months to one year from now (these are easily available online from the CME, on the E- mini S&P 500 futures contract).  Also look up and record the corre- sponding “funding rates” (the “interest” rate available to the institu- tions doing index arbitrage over the periods out to delivery; please use USD LIBOR, again easily available online).

• Note: all these numbers will be different for each of you, depend- ing on the exact time at which you record the prices.

(b) Calculate the price of LIBOR “bonds” maturing on the two delivery dates, remembering that bond markets use the convention of quoting semi-annually compounding rates.  That is, each six months interest accrues equal to the “principle invested” at a simple rate equal to one half the quoted rate (which is “annualized,” but is not equal to the annual effective rate), so the current price of the zero-coupon bond with a face value of $1 and τ years to maturity is

B0,τ  =         1        

(c) Use your answers to estimate the continuously compounded dividend yield on the S&P500.

• You should get two estimates, one from each of the two settlement horizon. Please report both of them.