# hedging

Posted on May 26, 2020 by
0 Views

One way we can quantify a stock's movement relative to the market index is by calculating its "beta" to the market. To calculate the beta of MSFT to SPY (for example) we: calculate daily MSFT returns and daily SPY returns align the returns with one another regress MSFT returns against SPY returns. This shows the procedure, graphically: library(tidyverse) library(ggpmisc) msftspyreturns %>% ggplot(aes(x = spy_returns, y = stock_returns, color = date)) + geom_point() + geom_smooth(method = 'lm', formula = 'y ~ x', color = 'red') + stat_poly_eq(aes(label = stat(eq.label)), formula = 'y ~ x', parse = TRUE) + ggtitle('Stock returns vs SPY returns') The formula in the top left shows the slope of the linear regression is 1.08. So we'd say that we have estimated the beta of MSFT to be 1.08. To make this estimation we used all available daily return observations back to 2000. But we don't have to...  If we're looking to buy "out of the money" put options for crash protection then we're really just interested in the behaviour of the stock during severe market downside. So,...

Posted on May 11, 2020 by
There are 2 good reasons to buy put options: because you think they are cheap because you want downside protection. In the latter case, you are looking to use the skewed payoff profile of the put option to protect a portfolio against large downside moves without capping your upside too much. The first requires a pricing model. Or, at the least, an understanding of when and under what conditions put options tend to be cheap. The second doesn't necessarily. We'll assume that we're going to have to pay a premium to protect our portfolio - and that not losing a large amount of money is more important than the exact price we pay for it. Let's run through an example… We have a portfolio comprised entirely of 100 shares of SPY. About $29k worth. We can plot a payoff profile for our whole portfolio. This is going to show the dollar P&L from our portfolio at various SPY prices. At the time of writing, SPY closed at$287.05 if (!require("pacman")) install.packages("pacman") pacman::p_load(tidyverse, rvest, slider, tidyquant, alphavantager, kableExtra) SPYprice <- 287.05...