library(runner)
library(dplyr)
Date <- seq(
from = as.Date("2014-01-01"),
to = as.Date("2019-12-31"),
by = "day"
)
market_return <- c(rnorm(2191))
AAPL <- data.frame(
Company.name = "AAPL",
Date = Date,
market_return = market_return
)
MSFT <- data.frame(
Company.name = "MSFT",
Date = Date,
market_return = market_return
)
df <- rbind(AAPL, MSFT)
df$stock_return <- c(rnorm(4382))
df <- df[order(df$Date), ]
df2 <- data.frame(
Company.name2 = c(replicate(450, "AAPL"), replicate(450, "MSFT")),
Event_date = sample(
seq(as.Date("2015/01/01"),
as.Date("2019/12/31"),
by = "day"
),
size = 900
)
)
df2 %>%
group_by(Company.name2) %>%
mutate(
intercept = runner(
x = df[df$Company.name == Company.name2[1], ],
k = "180 days",
lag = "5 days",
idx = df$Date[df$Company.name == Company.name2[1]],
at = Event_date,
f = function(x) {
coef(
lm(stock_return ~ market_return, data = x)
)[1]
}
),
slope = runner(
x = df[df$Company.name == Company.name2[1], ],
k = "180 days",
lag = "5 days",
idx = df$Date[df$Company.name == Company.name2[1]],
at = Event_date,
f = function(x) {
coef(
lm(stock_return ~ market_return, data = x)
)[2]
}
)
)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4