Data Science Project: The Impact of Macroprudential Policy
Announcements on Financial Markets
Testing the following hypotheses:
Hypothesis 1: The announcement of macroprudential policy measures
increases government bond spreads and decreases stock prices.
Hypothesis 2: The magnitude of the market impact of macroprudential
policy news varies depending on the specific policy measures
announced.
Hypothesis 3: The market impact of macroprudential policy news on
financial stability indicators is influenced by overall economic
conditions.
Zhanara Zeinesheva
04/30/2024
Introduction and background
This study examines the impact of macroprudential policy and
financial stability announcements on government bond spreads, stock
prices, and market volatility in Europe, including the UK. It explores
how these announcements, whether indicating a tightening or loosening
stance, influence financial markets and considers the role of broader
economic conditions.
A unique dataset of relevant news from the FACTIVA database
(Reuters) was compiled, covering the period from 2001 to 2023. Using an
event study methodology and Pooled OLS, the research analyzes the
short-term (1 to 5 days) and long-term (10 days) effects of these
announcements on financial markets, focusing on changes in stock
indices, bond yields, and market volatility. The study also includes a
country-specific analysis for several European nations, aiming to
provide insights into the diverse impacts of policy communications
across different economic contexts.
Install and load all required packages and libraries
#install.packages(c('boot','msm'))
#install.packages('Matrix')
#install.packages(c('systemfit','car'))
#install.packages(c('AER','gmm'))
#install.packages('stats')
#install.packages('forecast')
#install.packages('psych')
#install.packages('plm')
#install.packages('quantreg')
#install.packages('repr')
#install.packages('gplots')
#install.packages('car')
#install.packages('glmnet')
#install.packages('ggplot2')
#install.packages('quantreg')
#install.packages('MASS')
#install.packages('lmtest')
#install.packages("readxl")
#install.packages("openxlsx")
#install.packages("zoo")
library(AER)
library(gmm)
library(systemfit)
library(car)
library(Matrix)
library(quantmod)
library(lmtest)
library(tseries)
library(sandwich)
library(maxLik)
library(moments)
library(boot)
library(msm)
library(stats)
library(forecast)
library(ggplot2)
library(dplyr)
library(psych)
library(quantreg)
library(repr)
library(plm)
library(gplots)
library(car)
library(glmnet)
library(ggplot2)
library(quantreg)
library(MASS)
library(lmtest)
library(car)
library(readxl)
library(openxlsx)
library(zoo)
Loading required package: car
Loading required package: carData
Loading required package: lmtest
Loading required package: zoo
Attaching package: 'zoo'
The following objects are masked from 'package:base':
as.Date, as.Date.numeric
Loading required package: sandwich
Loading required package: survival
Loading required package: Matrix
Please cite the 'systemfit' package as:
Arne Henningsen and Jeff D. Hamann (2007). systemfit: A Package for Estimating Systems of Simultaneous Equations in R. Journal of Statistical Software 23(4), 1-40. http://www.jstatsoft.org/v23/i04/.
If you have questions, suggestions, or comments regarding the 'systemfit' package, please use a forum or 'tracker' at systemfit's R-Forge site:
https://r-forge.r-project.org/projects/systemfit/
Loading required package: xts
Loading required package: TTR
Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
Loading required package: miscTools
Please cite the 'maxLik' package as:
Henningsen, Arne and Toomet, Ott (2011). maxLik: A package for maximum likelihood estimation in R. Computational Statistics 26(3), 443-458. DOI 10.1007/s00180-010-0217-1.
If you have questions, suggestions, or comments regarding the 'maxLik' package, please use a forum or 'tracker' at maxLik's R-Forge site:
https://r-forge.r-project.org/projects/maxlik/
Attaching package: 'boot'
The following object is masked from 'package:survival':
aml
The following object is masked from 'package:car':
logit
Attaching package: 'msm'
The following object is masked from 'package:boot':
cav
######################### Warning from 'xts' package ##########################
# #
# The dplyr lag() function breaks how base R's lag() function is supposed to #
# work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or #
# source() into this session won't work correctly. #
# #
# Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
# conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop #
# dplyr from breaking base R's lag() function. #
# #
# Code in packages is not affected. It's protected by R's namespace mechanism #
# Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning. #
# #
###############################################################################
Attaching package: 'dplyr'
The following objects are masked from 'package:xts':
first, last
The following object is masked from 'package:car':
recode
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
Attaching package: 'psych'
The following objects are masked from 'package:ggplot2':
%+%, alpha
The following object is masked from 'package:boot':
logit
The following object is masked from 'package:car':
logit
Loading required package: SparseM
Attaching package: 'SparseM'
The following object is masked from 'package:base':
backsolve
Attaching package: 'quantreg'
The following object is masked from 'package:survival':
untangle.specials
Attaching package: 'plm'
The following objects are masked from 'package:dplyr':
between, lag, lead
Attaching package: 'gplots'
The following object is masked from 'package:stats':
lowess
Loaded glmnet 4.1-8
Attaching package: 'MASS'
The following object is masked from 'package:dplyr':
select
Data transformation and analysis
MERGED DATA
merged_data <- read.xlsx("merged_data_news.xlsx", sheet = "announcement")
head(merged_data)
A data.frame: 6 × 3
|
|
date
|
country
|
dummy
|
|
|
<dbl>
|
<chr>
|
<dbl>
|
|
1
|
36924
|
DE
|
0
|
|
2
|
36959
|
IT
|
0
|
|
3
|
37011
|
FR
|
1
|
|
4
|
37075
|
EU
|
0
|
|
5
|
38559
|
EU
|
1
|
|
6
|
38854
|
EU
|
0
|
merged_data$date <- as.Date(merged_data$date, origin = "1899-12-30")
# Check the results
head(merged_data)
A data.frame: 6 × 3
|
|
date
|
country
|
dummy
|
|
|
<date>
|
<chr>
|
<dbl>
|
|
1
|
2001-02-02
|
DE
|
0
|
|
2
|
2001-03-09
|
IT
|
0
|
|
3
|
2001-04-30
|
FR
|
1
|
|
4
|
2001-07-03
|
EU
|
0
|
|
5
|
2005-07-26
|
EU
|
1
|
|
6
|
2006-05-17
|
EU
|
0
|
merged_data_direction <- read.xlsx("merged_data_news.xlsx", sheet = "direction")
head(merged_data_direction)
A data.frame: 6 × 3
|
|
date
|
country
|
dummy
|
|
|
<dbl>
|
<chr>
|
<dbl>
|
|
1
|
36924
|
DE
|
0
|
|
2
|
36959
|
IT
|
0
|
|
3
|
37011
|
FR
|
1
|
|
4
|
37075
|
EU
|
0
|
|
5
|
38559
|
EU
|
1
|
|
6
|
38854
|
EU
|
0
|
merged_data_direction$date <- as.Date(merged_data_direction$date, origin = "1899-12-30")
# Check the results
head(merged_data_direction)
A data.frame: 6 × 3
|
|
date
|
country
|
dummy
|
|
|
<date>
|
<chr>
|
<dbl>
|
|
1
|
2001-02-02
|
DE
|
0
|
|
2
|
2001-03-09
|
IT
|
0
|
|
3
|
2001-04-30
|
FR
|
1
|
|
4
|
2001-07-03
|
EU
|
0
|
|
5
|
2005-07-26
|
EU
|
1
|
|
6
|
2006-05-17
|
EU
|
0
|
options(repr.plot.width = 15, repr.plot.height = 5)
hline_p_merged <- ggplot(merged_data_direction, aes(x = date)) +
geom_hline(yintercept = 0, color = "black") +
geom_segment(aes(xend = date, y = 0, yend = dummy), color = "black") +
labs(x = "", y = "", title = "Timeline of ANNOUNCEMENT variable with respect to time") +
scale_y_continuous(breaks = c(-1, 0, 1)) + # Set breaks to only include -1, 0, and 1
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1),
axis.title.x = element_blank()) # Remove the x-axis title
# Print the plot
print(hline_p_merged)
png
# Filter out rows where the country column is not "EU"
merged_data_direction <- merged_data_direction[merged_data_direction$country != "EU", ]
# Determine the plot height based on the unique countries in the filtered dataframe
plot_height <- 1 * length(unique(merged_data_direction$country))
# Set plot width and height options
options(repr.plot.width = 15, repr.plot.height = plot_height)
# Plot the data
plot_merged_direction <- ggplot(merged_data_direction, aes(x = date, y = dummy)) +
geom_hline(aes(yintercept = -1), color = "black") +
geom_hline(aes(yintercept = 0), color = "black") +
geom_hline(aes(yintercept = 1), color = "black") +
geom_segment(aes(xend = date, y = 0, yend = dummy), color = "black") +
facet_wrap(~ country, scales = "free_y", ncol = 1, strip.position = "left") +
theme_minimal() +
labs(title = "Timeline of ANNOUNCEMENT variable with respect to time and country",
x = "",
y = "") +
theme(
strip.text.x = element_text(size = 10, face = "bold"), # Adjust country label size
strip.background = element_rect(fill = "white"),
axis.text.x = element_text(angle = 90, vjust = 0.5, size = 8), # Rotate x-axis text for better readability
axis.text.y = element_text(size = 8),
panel.spacing.y = unit(0.5, "lines") # Reduce spacing between facets
) +
scale_y_continuous(breaks = c(-1, 0, 1)) # Set breaks to only include -1, 0, and 1
# Print the plot
print(plot_merged_direction)
png
selected_countries <- c("CZ", "DE", "ES", "FR", "GR", "IE", "SE", "UK")
filtered_data <- merged_data_direction[merged_data_direction$country %in% selected_countries, ]
# Determine the plot height based on the unique countries in the filtered dataframe
plot_height <- 1 * length(unique(filtered_data$country))
# Set plot width and height options
options(repr.plot.width = 15, repr.plot.height = plot_height)
# Plot the data
plot_filtered_direction <- ggplot(filtered_data, aes(x = date, y = dummy)) +
geom_hline(aes(yintercept = -1), color = "black") +
geom_hline(aes(yintercept = 0), color = "black") +
geom_hline(aes(yintercept = 1), color = "black") +
geom_segment(aes(xend = date, y = 0, yend = dummy), color = "black") +
facet_wrap(~ country, scales = "free_y", ncol = 1, strip.position = "left") +
theme_minimal() +
labs(title = "Timeline of ANNOUNCEMENT variable with respect to time and country",
x = "",
y = "") +
theme(
strip.text.x = element_text(size = 10, face = "bold"), # Adjust country label size
strip.background = element_rect(fill = "white"),
axis.text.x = element_text(angle = 90, vjust = 0.5, size = 8), # Rotate x-axis text for better readability
axis.text.y = element_text(size = 8),
panel.spacing.y = unit(0.5, "lines") # Reduce spacing between facets
) +
scale_y_continuous(breaks = c(-1, 0, 1)) # Set breaks to only include -1, 0, and 1
# Print the plot
print(plot_filtered_direction)
png
ggsave("plot_merged_direction.png", plot = plot_merged_direction, width = 15, height = plot_height, dpi = 300)
Regression Models
The effect on yield
The Whole Europe
announcement_yield_eu <- read.xlsx("announcement_yield.xlsx", sheet = "Sheet5")
Specification tests on data
adf_result1 <- adf.test(announcement_yield_eu$eu_yield, alternative = "stationary")
# Print the test results
print(adf_result1)
Warning message in adf.test(announcement_yield_eu$eu_yield, alternative = "stationary"):
"p-value greater than printed p-value"
Augmented Dickey-Fuller Test
data: announcement_yield_eu$eu_yield
Dickey-Fuller = 0.028411, Lag order = 18, p-value = 0.99
alternative hypothesis: stationary
Based on the ADF test results, there is very strong evidence to
suggest that the series in the dataset is non-stationary.
cor_matrix <- cor(announcement_yield_eu[, c("eu_yield", "euribor", "eur_to_us", "sp500")])
# Visualize correlation matrix
library(corrplot)
corrplot(cor_matrix, method = "circle")
corrplot 0.92 loaded
png
head(announcement_yield_eu)
A data.frame: 6 × 7
|
|
date
|
country
|
announcement
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
|
|
<dbl>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
36923
|
0
|
0
|
4.782
|
4.714
|
1.06349
|
1373.47
|
|
2
|
36924
|
DE
|
1
|
4.785
|
4.724
|
1.07135
|
1349.47
|
|
3
|
36927
|
0
|
0
|
4.768
|
4.728
|
1.06383
|
1354.31
|
|
4
|
36928
|
0
|
0
|
4.770
|
4.725
|
1.07354
|
1352.26
|
|
5
|
36929
|
0
|
0
|
4.750
|
4.727
|
1.07227
|
1340.89
|
|
6
|
36930
|
0
|
0
|
4.794
|
4.731
|
1.08849
|
1332.53
|
announcement_yield_eu$date <- as.Date(announcement_yield_eu$date, origin = "1899-12-30")
# Check the results
head(announcement_yield_eu)
A data.frame: 6 × 7
|
|
date
|
country
|
announcement
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-01
|
0
|
0
|
4.782
|
4.714
|
1.06349
|
1373.47
|
|
2
|
2001-02-02
|
DE
|
1
|
4.785
|
4.724
|
1.07135
|
1349.47
|
|
3
|
2001-02-05
|
0
|
0
|
4.768
|
4.728
|
1.06383
|
1354.31
|
|
4
|
2001-02-06
|
0
|
0
|
4.770
|
4.725
|
1.07354
|
1352.26
|
|
5
|
2001-02-07
|
0
|
0
|
4.750
|
4.727
|
1.07227
|
1340.89
|
|
6
|
2001-02-08
|
0
|
0
|
4.794
|
4.731
|
1.08849
|
1332.53
|
announcement_yield_eu$log_sp500 <- log(announcement_yield_eu$sp500)
announcement_yield_eu <- announcement_yield_eu[order(announcement_yield_eu$date), ]
announcement_yield_eu$lagged_eu_yield <- c(NA, announcement_yield_eu$eu_yield[-nrow(announcement_yield_eu)])
announcement_yield_eu$lagged_euribor <- c(NA, announcement_yield_eu$euribor[-nrow(announcement_yield_eu)])
announcement_yield_eu$lagged_eur_to_us <- c(NA, announcement_yield_eu$eur_to_us[-nrow(announcement_yield_eu)])
announcement_yield_eu$lagged_sp500 <- c(NA, announcement_yield_eu$log_sp500[-nrow(announcement_yield_eu)])
announcement_yield_eu <- announcement_yield_eu %>%
arrange(date) %>%
mutate(
diff_yield_1 = c(rep(NA, 1), diff(eu_yield, lag = 1)),
diff_yield_2 = c(rep(NA, 2), diff(eu_yield, lag = 2)),
diff_yield_3 = c(rep(NA, 3), diff(eu_yield, lag = 3)),
diff_yield_4 = c(rep(NA, 4), diff(eu_yield, lag = 4)),
diff_yield_5 = c(rep(NA, 5), diff(eu_yield, lag = 5)),
diff_yield_10 = c(rep(NA, 10), diff(eu_yield, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_eur_to_us_1 = c(rep(NA, 1), diff(eur_to_us, lag = 1)),
diff_eur_to_us_2 = c(rep(NA, 2), diff(eur_to_us, lag = 2)),
diff_eur_to_us_3 = c(rep(NA, 3), diff(eur_to_us, lag = 3)),
diff_eur_to_us_4 = c(rep(NA, 4), diff(eur_to_us, lag = 4)),
diff_eur_to_us_5 = c(rep(NA, 5), diff(eur_to_us, lag = 5)),
diff_eur_to_us_10 = c(rep(NA, 10), diff(eur_to_us, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
tail(announcement_yield_eu, 10)
A data.frame: 10 × 36
|
|
date
|
country
|
announcement
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
log_sp500
|
lagged_eu_yield
|
lagged_euribor
|
⋯
|
diff_eur_to_us_3
|
diff_eur_to_us_4
|
diff_eur_to_us_5
|
diff_eur_to_us_10
|
diff_sp500_1
|
diff_sp500_2
|
diff_sp500_3
|
diff_sp500_4
|
diff_sp500_5
|
diff_sp500_10
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
6114
|
2023-10-16
|
0
|
0
|
2.781
|
3.975
|
0.94791
|
4373.63
|
8.383349
|
2.732
|
3.985
|
⋯
|
0.00660
|
0.00429
|
-0.00036
|
-0.00474
|
1.053862e-02
|
0.005507142
|
-0.0007588069
|
0.0035250218
|
0.00871948
|
0.019681957
|
|
6115
|
2023-10-17
|
0
|
0
|
2.882
|
3.972
|
0.94549
|
4373.20
|
8.383250
|
2.781
|
3.975
|
⋯
|
-0.00188
|
0.00418
|
0.00187
|
-0.00912
|
-9.832133e-05
|
0.010440298
|
0.0054088207
|
-0.0008571282
|
0.00342670
|
0.033423046
|
|
6116
|
2023-10-18
|
0
|
0
|
2.921
|
3.993
|
0.94890
|
4314.60
|
8.369760
|
2.882
|
3.972
|
⋯
|
-0.00316
|
0.00153
|
0.00759
|
-0.00416
|
-1.349039e-02
|
-0.013588708
|
-0.0030500881
|
-0.0080815656
|
-0.01434751
|
0.011855566
|
|
6117
|
2023-10-19
|
0
|
0
|
2.927
|
4.002
|
0.94621
|
4278.00
|
8.361241
|
2.921
|
3.993
|
⋯
|
-0.00170
|
-0.00585
|
-0.00116
|
-0.00341
|
-8.519010e-03
|
-0.022009396
|
-0.0221077173
|
-0.0115690978
|
-0.01660058
|
0.004641423
|
|
6118
|
2023-10-20
|
0
|
0
|
2.882
|
3.969
|
0.94442
|
4224.16
|
8.348576
|
2.927
|
4.002
|
⋯
|
-0.00107
|
-0.00349
|
-0.00764
|
-0.00448
|
-1.266519e-02
|
-0.021184196
|
-0.0346745821
|
-0.0347729034
|
-0.02423428
|
-0.019769391
|
|
6119
|
2023-10-23
|
0
|
0
|
2.866
|
3.956
|
0.94078
|
4217.04
|
8.346889
|
2.882
|
3.969
|
⋯
|
-0.00812
|
-0.00471
|
-0.00713
|
-0.00749
|
-1.686964e-03
|
-0.014352151
|
-0.0228711602
|
-0.0363615464
|
-0.03645987
|
-0.027740388
|
|
6120
|
2023-10-24
|
0
|
0
|
2.834
|
3.941
|
0.94349
|
4247.68
|
8.354128
|
2.866
|
3.956
|
⋯
|
-0.00272
|
-0.00541
|
-0.00200
|
-0.00013
|
7.239491e-03
|
0.005552527
|
-0.0071126591
|
-0.0156316688
|
-0.02912206
|
-0.025695355
|
|
6121
|
2023-10-25
|
0
|
0
|
2.887
|
3.938
|
0.94460
|
4186.77
|
8.339685
|
2.834
|
3.941
|
⋯
|
0.00018
|
-0.00161
|
-0.00430
|
0.00329
|
-1.444340e-02
|
-0.007203907
|
-0.0088908709
|
-0.0215560571
|
-0.03007507
|
-0.044422581
|
|
6122
|
2023-10-26
|
0
|
0
|
2.851
|
3.952
|
0.94850
|
4137.23
|
8.327782
|
2.887
|
3.938
|
⋯
|
0.00772
|
0.00408
|
0.00229
|
0.00113
|
-1.190307e-02
|
-0.026346470
|
-0.0191069784
|
-0.0207939427
|
-0.03345913
|
-0.050059704
|
|
6123
|
2023-10-27
|
0
|
0
|
2.835
|
3.948
|
0.94527
|
4117.37
|
8.322970
|
2.851
|
3.952
|
⋯
|
0.00178
|
0.00449
|
0.00085
|
-0.00679
|
-4.811872e-03
|
-0.016714944
|
-0.0311583415
|
-0.0239188501
|
-0.02560581
|
-0.049840098
|
head(announcement_yield_eu)
A data.frame: 6 × 36
|
|
date
|
country
|
announcement
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
log_sp500
|
lagged_eu_yield
|
lagged_euribor
|
⋯
|
diff_eur_to_us_3
|
diff_eur_to_us_4
|
diff_eur_to_us_5
|
diff_eur_to_us_10
|
diff_sp500_1
|
diff_sp500_2
|
diff_sp500_3
|
diff_sp500_4
|
diff_sp500_5
|
diff_sp500_10
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-01
|
0
|
0
|
4.782
|
4.714
|
1.06349
|
1373.47
|
7.225096
|
NA
|
NA
|
⋯
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
2
|
2001-02-02
|
DE
|
1
|
4.785
|
4.724
|
1.07135
|
1349.47
|
7.207467
|
4.782
|
4.714
|
⋯
|
NA
|
NA
|
NA
|
NA
|
-0.017628462
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
3
|
2001-02-05
|
0
|
0
|
4.768
|
4.728
|
1.06383
|
1354.31
|
7.211047
|
4.785
|
4.724
|
⋯
|
NA
|
NA
|
NA
|
NA
|
0.003580177
|
-0.014048285
|
NA
|
NA
|
NA
|
NA
|
|
4
|
2001-02-06
|
0
|
0
|
4.770
|
4.725
|
1.07354
|
1352.26
|
7.209533
|
4.768
|
4.728
|
⋯
|
0.01005
|
NA
|
NA
|
NA
|
-0.001514833
|
0.002065344
|
-0.01556312
|
NA
|
NA
|
NA
|
|
5
|
2001-02-07
|
0
|
0
|
4.750
|
4.727
|
1.07227
|
1340.89
|
7.201089
|
4.770
|
4.725
|
⋯
|
0.00092
|
0.00878
|
NA
|
NA
|
-0.008443694
|
-0.009958527
|
-0.00637835
|
-0.02400681
|
NA
|
NA
|
|
6
|
2001-02-08
|
0
|
0
|
4.794
|
4.731
|
1.08849
|
1332.53
|
7.194835
|
4.750
|
4.727
|
⋯
|
0.02466
|
0.01714
|
0.025
|
NA
|
-0.006254182
|
-0.014697876
|
-0.01621271
|
-0.01263253
|
-0.03026099
|
NA
|
announcement_yield_eu <- announcement_yield_eu %>%
group_by(date) %>%
mutate(sum_announcement = sum(announcement)) %>%
ungroup()
announcement_yield_eu <- announcement_yield_eu %>%
arrange(date) %>%
mutate(sum_1_day_announcement = rollapply(announcement, width = 1, FUN = sum, fill = NA, align = 'right'))
announcement_yield_eu <- announcement_yield_eu %>%
arrange(date) %>%
mutate(sum_2_day_announcement = rollapply(announcement, width = 2, FUN = sum, fill = NA, align = 'right'))
announcement_yield_eu <- announcement_yield_eu %>%
arrange(date) %>%
mutate(sum_3_day_announcement = rollapply(announcement, width = 3, FUN = sum, fill = NA, align = 'right'))
announcement_yield_eu <- announcement_yield_eu %>%
arrange(date) %>%
mutate(sum_4_day_announcement = rollapply(announcement, width = 4, FUN = sum, fill = NA, align = 'right'))
announcement_yield_eu <- announcement_yield_eu %>%
arrange(date) %>%
mutate(sum_5_day_announcement = rollapply(announcement, width = 5, FUN = sum, fill = NA, align = 'right'))
announcement_yield_eu <- announcement_yield_eu %>%
arrange(date) %>%
mutate(sum_10_day_announcement = rollapply(announcement, width = 10, FUN = sum, fill = NA, align = 'right'))
head(announcement_yield_eu)
A tibble: 6 × 43
|
date
|
country
|
announcement
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
log_sp500
|
lagged_eu_yield
|
lagged_euribor
|
⋯
|
diff_sp500_4
|
diff_sp500_5
|
diff_sp500_10
|
sum_announcement
|
sum_1_day_announcement
|
sum_2_day_announcement
|
sum_3_day_announcement
|
sum_4_day_announcement
|
sum_5_day_announcement
|
sum_10_day_announcement
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2001-02-01
|
0
|
0
|
4.782
|
4.714
|
1.06349
|
1373.47
|
7.225096
|
NA
|
NA
|
⋯
|
NA
|
NA
|
NA
|
0
|
0
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
2001-02-02
|
DE
|
1
|
4.785
|
4.724
|
1.07135
|
1349.47
|
7.207467
|
4.782
|
4.714
|
⋯
|
NA
|
NA
|
NA
|
1
|
1
|
1
|
NA
|
NA
|
NA
|
NA
|
|
2001-02-05
|
0
|
0
|
4.768
|
4.728
|
1.06383
|
1354.31
|
7.211047
|
4.785
|
4.724
|
⋯
|
NA
|
NA
|
NA
|
0
|
0
|
1
|
1
|
NA
|
NA
|
NA
|
|
2001-02-06
|
0
|
0
|
4.770
|
4.725
|
1.07354
|
1352.26
|
7.209533
|
4.768
|
4.728
|
⋯
|
NA
|
NA
|
NA
|
0
|
0
|
0
|
1
|
1
|
NA
|
NA
|
|
2001-02-07
|
0
|
0
|
4.750
|
4.727
|
1.07227
|
1340.89
|
7.201089
|
4.770
|
4.725
|
⋯
|
-0.02400681
|
NA
|
NA
|
0
|
0
|
0
|
0
|
1
|
1
|
NA
|
|
2001-02-08
|
0
|
0
|
4.794
|
4.731
|
1.08849
|
1332.53
|
7.194835
|
4.750
|
4.727
|
⋯
|
-0.01263253
|
-0.03026099
|
NA
|
0
|
0
|
0
|
0
|
0
|
1
|
NA
|
tail(announcement_yield_eu, 10)
A tibble: 10 × 43
|
date
|
country
|
announcement
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
log_sp500
|
lagged_eu_yield
|
lagged_euribor
|
⋯
|
diff_sp500_4
|
diff_sp500_5
|
diff_sp500_10
|
sum_announcement
|
sum_1_day_announcement
|
sum_2_day_announcement
|
sum_3_day_announcement
|
sum_4_day_announcement
|
sum_5_day_announcement
|
sum_10_day_announcement
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-10-16
|
0
|
0
|
2.781
|
3.975
|
0.94791
|
4373.63
|
8.383349
|
2.732
|
3.985
|
⋯
|
0.0035250218
|
0.00871948
|
0.019681957
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
|
2023-10-17
|
0
|
0
|
2.882
|
3.972
|
0.94549
|
4373.20
|
8.383250
|
2.781
|
3.975
|
⋯
|
-0.0008571282
|
0.00342670
|
0.033423046
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-18
|
0
|
0
|
2.921
|
3.993
|
0.94890
|
4314.60
|
8.369760
|
2.882
|
3.972
|
⋯
|
-0.0080815656
|
-0.01434751
|
0.011855566
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-19
|
0
|
0
|
2.927
|
4.002
|
0.94621
|
4278.00
|
8.361241
|
2.921
|
3.993
|
⋯
|
-0.0115690978
|
-0.01660058
|
0.004641423
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-20
|
0
|
0
|
2.882
|
3.969
|
0.94442
|
4224.16
|
8.348576
|
2.927
|
4.002
|
⋯
|
-0.0347729034
|
-0.02423428
|
-0.019769391
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-23
|
0
|
0
|
2.866
|
3.956
|
0.94078
|
4217.04
|
8.346889
|
2.882
|
3.969
|
⋯
|
-0.0363615464
|
-0.03645987
|
-0.027740388
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-24
|
0
|
0
|
2.834
|
3.941
|
0.94349
|
4247.68
|
8.354128
|
2.866
|
3.956
|
⋯
|
-0.0156316688
|
-0.02912206
|
-0.025695355
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-10-25
|
0
|
0
|
2.887
|
3.938
|
0.94460
|
4186.77
|
8.339685
|
2.834
|
3.941
|
⋯
|
-0.0215560571
|
-0.03007507
|
-0.044422581
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-10-26
|
0
|
0
|
2.851
|
3.952
|
0.94850
|
4137.23
|
8.327782
|
2.887
|
3.938
|
⋯
|
-0.0207939427
|
-0.03345913
|
-0.050059704
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-10-27
|
0
|
0
|
2.835
|
3.948
|
0.94527
|
4117.37
|
8.322970
|
2.851
|
3.952
|
⋯
|
-0.0239188501
|
-0.02560581
|
-0.049840098
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
announcement_yield_eu$lagged_eu_yield_1 <- c(NA, announcement_yield_eu$diff_yield_1[-nrow(announcement_yield_eu)])
announcement_yield_eu$lagged_eu_yield_2 <- c(NA, announcement_yield_eu$diff_yield_2[-nrow(announcement_yield_eu)])
announcement_yield_eu$lagged_eu_yield_3 <- c(NA, announcement_yield_eu$diff_yield_3[-nrow(announcement_yield_eu)])
announcement_yield_eu$lagged_eu_yield_4 <- c(NA, announcement_yield_eu$diff_yield_4[-nrow(announcement_yield_eu)])
announcement_yield_eu$lagged_eu_yield_5 <- c(NA, announcement_yield_eu$diff_yield_5[-nrow(announcement_yield_eu)])
announcement_yield_eu$lagged_eu_yield_10 <- c(NA, announcement_yield_eu$diff_yield_10[-nrow(announcement_yield_eu)])
announcement_yield_eu_wo_uk <- announcement_yield_eu %>%
filter(country != "UK")
eu_yield_day1 <- lm(diff_yield_1 ~ sum_1_day_announcement + diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_eu_yield_1, data = announcement_yield_eu_wo_uk)
# Summary of the model
summary(eu_yield_day1)
Call:
lm(formula = diff_yield_1 ~ sum_1_day_announcement + diff_euribor_1 +
diff_eur_to_us_1 + diff_sp500_1 + lagged_eu_yield_1, data = announcement_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.33434 -0.02361 -0.00036 0.02177 0.24262
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0001394 0.0005843 -0.239 0.811
sum_1_day_announcement -0.0022596 0.0020031 -1.128 0.259
diff_euribor_1 0.0152561 0.0401953 0.380 0.704
diff_eur_to_us_1 0.0458635 0.1172096 0.391 0.696
diff_sp500_1 0.7961133 0.0470600 16.917 <2e-16 ***
lagged_eu_yield_1 0.0136427 0.0130375 1.046 0.295
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.04287 on 5879 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.04678, Adjusted R-squared: 0.04597
F-statistic: 57.7 on 5 and 5879 DF, p-value: < 2.2e-16
Specifation tests on the model
# Perform Durbin-Watson test
dwtest(eu_yield_day1)
Durbin-Watson test
data: eu_yield_day1
DW = 2.0287, p-value = 0.8636
alternative hypothesis: true autocorrelation is greater than 0
Based on the Durbin-Watson test results, I conclude that there is no
significant autocorrelation in the residuals of the model.
residuals <- residuals(eu_yield_day1)
# Perform Ljung-Box test on the residuals
Box.test(residuals, lag = 10, type = "Ljung-Box")
Box-Ljung test
data: residuals
X-squared = 8.7047, df = 10, p-value = 0.5603
Based on the Box-Ljung test results, I conclude that there is no
significant autocorrelation in the residuals.
# Perform the Breusch-Pagan test
bp_test_result <- bptest(eu_yield_day1)
# Print the test results
print(bp_test_result)
studentized Breusch-Pagan test
data: eu_yield_day1
BP = 35.446, df = 5, p-value = 1.226e-06
This result suggests that there is statistically significant evidence
of heteroskedasticity in the residuals of the model.
# Calculate VIF
vif_values <- car::vif(eu_yield_day1)
print(vif_values)
sum_1_day_announcement diff_euribor_1 diff_eur_to_us_1
1.000889 1.035233 1.004477
diff_sp500_1 lagged_eu_yield_1
1.004954 1.036469
All the VIF scores are well below the threshold of concern, which
implies that there is no indication of multicollinearity in the
regression model.
eu_yield_day1_nw <- coeftest(eu_yield_day1, vcov = NeweyWest(eu_yield_day1)) #applying robust standard errors
print(eu_yield_day1_nw )
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00013944 0.00058619 -0.2379 0.8120
sum_1_day_announcement -0.00225956 0.00170178 -1.3278 0.1843
diff_euribor_1 0.01525607 0.08967966 0.1701 0.8649
diff_eur_to_us_1 0.04586348 0.21705810 0.2113 0.8327
diff_sp500_1 0.79611325 0.09011041 8.8349 <2e-16 ***
lagged_eu_yield_1 0.01364271 0.01764018 0.7734 0.4393
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eu_yield_day2 <- lm(diff_yield_2 ~ sum_2_day_announcement + diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_eu_yield_2, data = announcement_yield_eu_wo_uk)
# Summary of the model
summary(eu_yield_day2)
Call:
lm(formula = diff_yield_2 ~ sum_2_day_announcement + diff_euribor_2 +
diff_eur_to_us_2 + diff_sp500_2 + lagged_eu_yield_2, data = announcement_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.33284 -0.02918 -0.00114 0.02814 0.27426
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0003925 0.0007359 -0.533 0.5939
sum_2_day_announcement -0.0002755 0.0014509 -0.190 0.8494
diff_euribor_2 0.0274619 0.0302899 0.907 0.3646
diff_eur_to_us_2 0.2249028 0.1015716 2.214 0.0269 *
diff_sp500_2 0.7667513 0.0428810 17.881 <2e-16 ***
lagged_eu_yield_2 0.4880802 0.0112060 43.555 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05231 on 5878 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.2925, Adjusted R-squared: 0.2919
F-statistic: 486.1 on 5 and 5878 DF, p-value: < 2.2e-16
eu_yield_day2_nw <- coeftest(eu_yield_day2, vcov = NeweyWest(eu_yield_day2)) #applying robust standard errors
print(eu_yield_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00039245 0.00070754 -0.5547 0.5791
sum_2_day_announcement -0.00027549 0.00128739 -0.2140 0.8306
diff_euribor_2 0.02746186 0.04686160 0.5860 0.5579
diff_eur_to_us_2 0.22490283 0.18543403 1.2128 0.2252
diff_sp500_2 0.76675130 0.08062155 9.5105 <2e-16 ***
lagged_eu_yield_2 0.48808019 0.01169345 41.7396 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eu_yield_day3 <- lm(diff_yield_3 ~ sum_3_day_announcement + diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_eu_yield_3, data = announcement_yield_eu_wo_uk)
# Summary of the model
summary(eu_yield_day3)
Call:
lm(formula = diff_yield_3 ~ sum_3_day_announcement + diff_euribor_3 +
diff_eur_to_us_3 + diff_sp500_3 + lagged_eu_yield_3, data = announcement_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.44056 -0.03127 -0.00155 0.03038 0.32507
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.538e-05 8.034e-04 -0.069 0.9450
sum_3_day_announcement -1.321e-03 1.137e-03 -1.161 0.2456
diff_euribor_3 1.798e-02 2.379e-02 0.756 0.4497
diff_eur_to_us_3 2.617e-01 8.875e-02 2.949 0.0032 **
diff_sp500_3 6.153e-01 3.879e-02 15.861 <2e-16 ***
lagged_eu_yield_3 6.467e-01 9.782e-03 66.114 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05577 on 5877 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.4659, Adjusted R-squared: 0.4654
F-statistic: 1025 on 5 and 5877 DF, p-value: < 2.2e-16
eu_yield_day3_nw <- coeftest(eu_yield_day3, vcov = NeweyWest(eu_yield_day3)) #applying robust standard errors
print(eu_yield_day3_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.5377e-05 8.4040e-04 -0.0659 0.9475
sum_3_day_announcement -1.3208e-03 1.0794e-03 -1.2236 0.2212
diff_euribor_3 1.7984e-02 4.1048e-02 0.4381 0.6613
diff_eur_to_us_3 2.6169e-01 1.4189e-01 1.8442 0.0652 .
diff_sp500_3 6.1528e-01 7.3436e-02 8.3784 <2e-16 ***
lagged_eu_yield_3 6.4673e-01 1.1830e-02 54.6705 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eu_yield_day4 <- lm(diff_yield_4 ~ sum_4_day_announcement + diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_eu_yield_4, data = announcement_yield_eu_wo_uk)
# Summary of the model
summary(eu_yield_day4)
Call:
lm(formula = diff_yield_4 ~ sum_4_day_announcement + diff_euribor_4 +
diff_eur_to_us_4 + diff_sp500_4 + lagged_eu_yield_4, data = announcement_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.37595 -0.03113 -0.00173 0.03063 0.41896
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.724e-05 8.367e-04 -0.021 0.98356
sum_4_day_announcement -1.101e-03 9.358e-04 -1.177 0.23940
diff_euribor_4 2.390e-02 1.944e-02 1.229 0.21895
diff_eur_to_us_4 2.167e-01 7.928e-02 2.734 0.00628 **
diff_sp500_4 4.408e-01 3.476e-02 12.681 < 2e-16 ***
lagged_eu_yield_4 7.353e-01 8.713e-03 84.393 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05701 on 5876 degrees of freedom
(5 observations deleted due to missingness)
Multiple R-squared: 0.5779, Adjusted R-squared: 0.5776
F-statistic: 1609 on 5 and 5876 DF, p-value: < 2.2e-16
eu_yield_day4_nw <- coeftest(eu_yield_day4, vcov = NeweyWest(eu_yield_day4)) #applying robust standard errors
print(eu_yield_day4_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.7242e-05 7.8263e-04 -0.0220 0.9824
sum_4_day_announcement -1.1010e-03 9.2484e-04 -1.1905 0.2339
diff_euribor_4 2.3895e-02 3.2635e-02 0.7322 0.4641
diff_eur_to_us_4 2.1674e-01 1.3559e-01 1.5985 0.1100
diff_sp500_4 4.4078e-01 7.2986e-02 6.0392 1.644e-09 ***
lagged_eu_yield_4 7.3533e-01 1.0575e-02 69.5353 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eu_yield_day5 <- lm(diff_yield_5 ~ sum_5_day_announcement + diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_eu_yield_5, data = announcement_yield_eu_wo_uk)
# Summary of the model
summary(eu_yield_day5)
Call:
lm(formula = diff_yield_5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_eur_to_us_5 + diff_sp500_5 + lagged_eu_yield_5, data = announcement_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.32447 -0.03183 -0.00040 0.03182 0.36458
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0001723 0.0008569 -0.201 0.840652
sum_5_day_announcement -0.0008057 0.0007949 -1.014 0.310823
diff_euribor_5 0.0146138 0.0164589 0.888 0.374633
diff_eur_to_us_5 0.2474966 0.0718106 3.447 0.000572 ***
diff_sp500_5 0.3818541 0.0316201 12.076 < 2e-16 ***
lagged_eu_yield_5 0.7899167 0.0078705 100.365 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05748 on 5875 degrees of freedom
(6 observations deleted due to missingness)
Multiple R-squared: 0.6556, Adjusted R-squared: 0.6554
F-statistic: 2237 on 5 and 5875 DF, p-value: < 2.2e-16
eu_yield_day5_nw <- coeftest(eu_yield_day5, vcov = NeweyWest(eu_yield_day5)) #applying robust standard errors
print(eu_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00017230 0.00081171 -0.2123 0.83190
sum_5_day_announcement -0.00080572 0.00083017 -0.9706 0.33181
diff_euribor_5 0.01461383 0.02753992 0.5306 0.59569
diff_eur_to_us_5 0.24749656 0.12026797 2.0579 0.03965 *
diff_sp500_5 0.38185413 0.06687335 5.7101 1.184e-08 ***
lagged_eu_yield_5 0.78991671 0.00993886 79.4776 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eu_yield_day10 <- lm(diff_yield_10 ~ sum_10_day_announcement + diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_eu_yield_10, data = announcement_yield_eu_wo_uk)
# Summary of the model
summary(eu_yield_day10)
Call:
lm(formula = diff_yield_10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_eur_to_us_10 + diff_sp500_10 + lagged_eu_yield_10, data = announcement_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.43448 -0.03486 -0.00042 0.03326 0.37456
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.349e-05 9.443e-04 0.035 0.972
sum_10_day_announcement -3.061e-04 4.821e-04 -0.635 0.525
diff_euribor_10 1.458e-02 9.982e-03 1.461 0.144
diff_eur_to_us_10 7.630e-02 5.384e-02 1.417 0.157
diff_sp500_10 1.620e-01 2.451e-02 6.611 4.16e-11 ***
lagged_eu_yield_10 8.899e-01 5.888e-03 151.158 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.06032 on 5870 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.8077, Adjusted R-squared: 0.8076
F-statistic: 4932 on 5 and 5870 DF, p-value: < 2.2e-16
eu_yield_day10_nw <- coeftest(eu_yield_day10, vcov = NeweyWest(eu_yield_day10)) #applying robust standard errors
print(eu_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.3492e-05 9.6217e-04 0.0348 0.9722335
sum_10_day_announcement -3.0609e-04 5.5210e-04 -0.5544 0.5793184
diff_euribor_10 1.4579e-02 1.4900e-02 0.9785 0.3278666
diff_eur_to_us_10 7.6296e-02 7.4571e-02 1.0231 0.3062876
diff_sp500_10 1.6204e-01 4.6702e-02 3.4697 0.0005248 ***
lagged_eu_yield_10 8.8995e-01 6.9553e-03 127.9517 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The effect on stock prices
The whole EUROPE
announcement_stoxx_eu <- read.xlsx("announcement_stoxx.xlsx", sheet = "Sheet2")
head(announcement_stoxx_eu)
A data.frame: 6 × 7
|
|
date
|
country
|
announcement
|
stoxx
|
euribor
|
eur_to_us
|
sp500
|
|
|
<dbl>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
36923
|
0
|
0
|
358.621
|
4.714
|
1.06349
|
1373.47
|
|
2
|
36924
|
DE
|
1
|
356.860
|
4.724
|
1.07135
|
1349.47
|
|
3
|
36927
|
0
|
0
|
356.554
|
4.728
|
1.06383
|
1354.31
|
|
4
|
36928
|
0
|
0
|
358.603
|
4.725
|
1.07354
|
1352.26
|
|
5
|
36929
|
0
|
0
|
354.234
|
4.727
|
1.07227
|
1340.89
|
|
6
|
36930
|
0
|
0
|
354.998
|
4.731
|
1.08849
|
1332.53
|
announcement_stoxx_eu$date <- as.Date(announcement_stoxx_eu$date, origin = "1899-12-30")
# Check the results
head(announcement_stoxx_eu)
A data.frame: 6 × 7
|
|
date
|
country
|
announcement
|
stoxx
|
euribor
|
eur_to_us
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-01
|
0
|
0
|
358.621
|
4.714
|
1.06349
|
1373.47
|
|
2
|
2001-02-02
|
DE
|
1
|
356.860
|
4.724
|
1.07135
|
1349.47
|
|
3
|
2001-02-05
|
0
|
0
|
356.554
|
4.728
|
1.06383
|
1354.31
|
|
4
|
2001-02-06
|
0
|
0
|
358.603
|
4.725
|
1.07354
|
1352.26
|
|
5
|
2001-02-07
|
0
|
0
|
354.234
|
4.727
|
1.07227
|
1340.89
|
|
6
|
2001-02-08
|
0
|
0
|
354.998
|
4.731
|
1.08849
|
1332.53
|
announcement_stoxx_eu$log_sp500 <- log(announcement_stoxx_eu$sp500)
announcement_stoxx_eu$log_stoxx <- log(announcement_stoxx_eu$stoxx)
announcement_stoxx_eu <- announcement_stoxx_eu[order(announcement_stoxx_eu$date), ]
announcement_stoxx_eu$lagged_stoxx <- c(NA, announcement_stoxx_eu$log_stoxx[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu$lagged_euribor <- c(NA, announcement_stoxx_eu$euribor[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu$lagged_eur_to_us <- c(NA, announcement_stoxx_eu$eur_to_us[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu$lagged_sp500 <- c(NA, announcement_stoxx_eu$log_sp500[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu <- announcement_stoxx_eu %>%
arrange(date) %>%
mutate(
diff_stoxx_1 = c(rep(NA, 1), diff(log_stoxx, lag = 1)),
diff_stoxx_2 = c(rep(NA, 2), diff(log_stoxx, lag = 2)),
diff_stoxx_3 = c(rep(NA, 3), diff(log_stoxx, lag = 3)),
diff_stoxx_4 = c(rep(NA, 4), diff(log_stoxx, lag = 4)),
diff_stoxx_5 = c(rep(NA, 5), diff(log_stoxx, lag = 5)),
diff_stoxx_10 = c(rep(NA, 10), diff(log_stoxx, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_eur_to_us_1 = c(rep(NA, 1), diff(eur_to_us, lag = 1)),
diff_eur_to_us_2 = c(rep(NA, 2), diff(eur_to_us, lag = 2)),
diff_eur_to_us_3 = c(rep(NA, 3), diff(eur_to_us, lag = 3)),
diff_eur_to_us_4 = c(rep(NA, 4), diff(eur_to_us, lag = 4)),
diff_eur_to_us_5 = c(rep(NA, 5), diff(eur_to_us, lag = 5)),
diff_eur_to_us_10 = c(rep(NA, 10), diff(eur_to_us, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
tail(announcement_stoxx_eu, 10)
A data.frame: 10 × 37
|
|
date
|
country
|
announcement
|
stoxx
|
euribor
|
eur_to_us
|
sp500
|
log_sp500
|
log_stoxx
|
lagged_stoxx
|
⋯
|
diff_eur_to_us_3
|
diff_eur_to_us_4
|
diff_eur_to_us_5
|
diff_eur_to_us_10
|
diff_sp500_1
|
diff_sp500_2
|
diff_sp500_3
|
diff_sp500_4
|
diff_sp500_5
|
diff_sp500_10
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
6114
|
2023-10-16
|
0
|
0
|
450.204
|
3.975
|
0.94791
|
4373.63
|
8.383349
|
6.109701
|
6.107417
|
⋯
|
0.00660
|
0.00429
|
-0.00036
|
-0.00474
|
1.053862e-02
|
0.005507142
|
-0.0007588069
|
0.0035250218
|
0.00871948
|
0.019681957
|
|
6115
|
2023-10-17
|
0
|
0
|
449.761
|
3.972
|
0.94549
|
4373.20
|
8.383250
|
6.108716
|
6.109701
|
⋯
|
-0.00188
|
0.00418
|
0.00187
|
-0.00912
|
-9.832133e-05
|
0.010440298
|
0.0054088207
|
-0.0008571282
|
0.00342670
|
0.033423046
|
|
6116
|
2023-10-18
|
0
|
0
|
445.020
|
3.993
|
0.94890
|
4314.60
|
8.369760
|
6.098119
|
6.108716
|
⋯
|
-0.00316
|
0.00153
|
0.00759
|
-0.00416
|
-1.349039e-02
|
-0.013588708
|
-0.0030500881
|
-0.0080815656
|
-0.01434751
|
0.011855566
|
|
6117
|
2023-10-19
|
0
|
0
|
439.730
|
4.002
|
0.94621
|
4278.00
|
8.361241
|
6.086161
|
6.098119
|
⋯
|
-0.00170
|
-0.00585
|
-0.00116
|
-0.00341
|
-8.519010e-03
|
-0.022009396
|
-0.0221077173
|
-0.0115690978
|
-0.01660058
|
0.004641423
|
|
6118
|
2023-10-20
|
0
|
0
|
433.728
|
3.969
|
0.94442
|
4224.16
|
8.348576
|
6.072418
|
6.086161
|
⋯
|
-0.00107
|
-0.00349
|
-0.00764
|
-0.00448
|
-1.266519e-02
|
-0.021184196
|
-0.0346745821
|
-0.0347729034
|
-0.02423428
|
-0.019769391
|
|
6119
|
2023-10-23
|
0
|
0
|
433.183
|
3.956
|
0.94078
|
4217.04
|
8.346889
|
6.071160
|
6.072418
|
⋯
|
-0.00812
|
-0.00471
|
-0.00713
|
-0.00749
|
-1.686964e-03
|
-0.014352151
|
-0.0228711602
|
-0.0363615464
|
-0.03645987
|
-0.027740388
|
|
6120
|
2023-10-24
|
0
|
0
|
435.091
|
3.941
|
0.94349
|
4247.68
|
8.354128
|
6.075555
|
6.071160
|
⋯
|
-0.00272
|
-0.00541
|
-0.00200
|
-0.00013
|
7.239491e-03
|
0.005552527
|
-0.0071126591
|
-0.0156316688
|
-0.02912206
|
-0.025695355
|
|
6121
|
2023-10-25
|
0
|
0
|
435.266
|
3.938
|
0.94460
|
4186.77
|
8.339685
|
6.075957
|
6.075555
|
⋯
|
0.00018
|
-0.00161
|
-0.00430
|
0.00329
|
-1.444340e-02
|
-0.007203907
|
-0.0088908709
|
-0.0215560571
|
-0.03007507
|
-0.044422581
|
|
6122
|
2023-10-26
|
0
|
0
|
433.204
|
3.952
|
0.94850
|
4137.23
|
8.327782
|
6.071209
|
6.075957
|
⋯
|
0.00772
|
0.00408
|
0.00229
|
0.00113
|
-1.190307e-02
|
-0.026346470
|
-0.0191069784
|
-0.0207939427
|
-0.03345913
|
-0.050059704
|
|
6123
|
2023-10-27
|
0
|
0
|
429.579
|
3.948
|
0.94527
|
4117.37
|
8.322970
|
6.062806
|
6.071209
|
⋯
|
0.00178
|
0.00449
|
0.00085
|
-0.00679
|
-4.811872e-03
|
-0.016714944
|
-0.0311583415
|
-0.0239188501
|
-0.02560581
|
-0.049840098
|
announcement_stoxx_eu <- announcement_stoxx_eu %>%
group_by(date) %>%
mutate(sum_announcement = sum(announcement)) %>%
ungroup()
announcement_stoxx_eu <- announcement_stoxx_eu %>%
arrange(date) %>%
mutate(sum_1_day_announcement = rollapply(announcement, width = 1, FUN = sum, fill = NA, align = 'right'))
announcement_stoxx_eu <- announcement_stoxx_eu %>%
arrange(date) %>%
mutate(sum_2_day_announcement = rollapply(announcement, width = 2, FUN = sum, fill = NA, align = 'right'))
announcement_stoxx_eu <- announcement_stoxx_eu %>%
arrange(date) %>%
mutate(sum_3_day_announcement = rollapply(announcement, width = 3, FUN = sum, fill = NA, align = 'right'))
announcement_stoxx_eu <- announcement_stoxx_eu %>%
arrange(date) %>%
mutate(sum_4_day_announcement = rollapply(announcement, width = 4, FUN = sum, fill = NA, align = 'right'))
announcement_stoxx_eu <- announcement_stoxx_eu %>%
arrange(date) %>%
mutate(sum_5_day_announcement = rollapply(announcement, width = 5, FUN = sum, fill = NA, align = 'right'))
announcement_stoxx_eu <- announcement_stoxx_eu %>%
arrange(date) %>%
mutate(sum_10_day_announcement = rollapply(announcement, width = 10, FUN = sum, fill = NA, align = 'right'))
announcement_stoxx_eu$lagged_stoxx_1 <- c(NA, announcement_stoxx_eu$diff_stoxx_1[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu$lagged_stoxx_2 <- c(NA, announcement_stoxx_eu$diff_stoxx_2[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu$lagged_stoxx_3 <- c(NA, announcement_stoxx_eu$diff_stoxx_3[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu$lagged_stoxx_4 <- c(NA, announcement_stoxx_eu$diff_stoxx_4[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu$lagged_stoxx_5 <- c(NA, announcement_stoxx_eu$diff_stoxx_5[-nrow(announcement_stoxx_eu)])
announcement_stoxx_eu$lagged_stoxx_10 <- c(NA, announcement_stoxx_eu$diff_stoxx_10[-nrow(announcement_stoxx_eu)])
tail(announcement_stoxx_eu, 10)
A tibble: 10 × 50
|
date
|
country
|
announcement
|
stoxx
|
euribor
|
eur_to_us
|
sp500
|
log_sp500
|
log_stoxx
|
lagged_stoxx
|
⋯
|
sum_3_day_announcement
|
sum_4_day_announcement
|
sum_5_day_announcement
|
sum_10_day_announcement
|
lagged_stoxx_1
|
lagged_stoxx_2
|
lagged_stoxx_3
|
lagged_stoxx_4
|
lagged_stoxx_5
|
lagged_stoxx_10
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-10-16
|
0
|
0
|
450.204
|
3.975
|
0.94791
|
4373.63
|
8.383349
|
6.109701
|
6.107417
|
⋯
|
0
|
0
|
1
|
1
|
-0.0098626639
|
-0.008834865
|
-7.319914e-03
|
0.012058782
|
0.009491063
|
-0.002323775
|
|
2023-10-17
|
0
|
0
|
449.761
|
3.972
|
0.94549
|
4373.20
|
8.383250
|
6.108716
|
6.109701
|
⋯
|
0
|
0
|
0
|
1
|
0.0022837940
|
-0.007578870
|
-6.551071e-03
|
-0.005036120
|
0.014342576
|
0.010310544
|
|
2023-10-18
|
0
|
0
|
445.020
|
3.993
|
0.94890
|
4314.60
|
8.369760
|
6.098119
|
6.108716
|
⋯
|
0
|
0
|
0
|
1
|
-0.0009844828
|
0.001299311
|
-8.563353e-03
|
-0.007535554
|
-0.006020603
|
0.020345151
|
|
2023-10-19
|
0
|
0
|
439.730
|
4.002
|
0.94621
|
4278.00
|
8.361241
|
6.086161
|
6.098119
|
⋯
|
0
|
0
|
0
|
1
|
-0.0105971056
|
-0.011581588
|
-9.297794e-03
|
-0.019160458
|
-0.018132659
|
0.011160424
|
|
2023-10-20
|
0
|
0
|
433.728
|
3.969
|
0.94442
|
4224.16
|
8.348576
|
6.072418
|
6.086161
|
⋯
|
0
|
0
|
0
|
1
|
-0.0119583228
|
-0.022555428
|
-2.353991e-02
|
-0.021256117
|
-0.031118781
|
-0.003595738
|
|
2023-10-23
|
0
|
0
|
433.183
|
3.956
|
0.94078
|
4217.04
|
8.346889
|
6.071160
|
6.072418
|
⋯
|
0
|
0
|
0
|
1
|
-0.0137432927
|
-0.025701615
|
-3.629872e-02
|
-0.037283204
|
-0.034999410
|
-0.025508347
|
|
2023-10-24
|
0
|
0
|
435.091
|
3.941
|
0.94349
|
4247.68
|
8.354128
|
6.075555
|
6.071160
|
⋯
|
0
|
0
|
0
|
0
|
-0.0012573380
|
-0.015000631
|
-2.695895e-02
|
-0.037556059
|
-0.038540542
|
-0.024197966
|
|
2023-10-25
|
0
|
0
|
435.266
|
3.938
|
0.94460
|
4186.77
|
8.339685
|
6.075957
|
6.075555
|
⋯
|
0
|
0
|
0
|
0
|
0.0043949331
|
0.003137595
|
-1.060570e-02
|
-0.022564020
|
-0.033161126
|
-0.039181729
|
|
2023-10-26
|
0
|
0
|
433.204
|
3.952
|
0.94850
|
4137.23
|
8.327782
|
6.071209
|
6.075957
|
⋯
|
0
|
0
|
0
|
0
|
0.0004021338
|
0.004797067
|
3.539729e-03
|
-0.010203564
|
-0.022161887
|
-0.040294546
|
|
2023-10-27
|
0
|
0
|
429.579
|
3.948
|
0.94527
|
4117.37
|
8.322970
|
6.062806
|
6.071209
|
⋯
|
0
|
0
|
0
|
0
|
-0.0047485898
|
-0.004346456
|
4.847718e-05
|
-0.001208861
|
-0.014952154
|
-0.046070935
|
Specifation tests on the data
adf_result2 <- adf.test(announcement_stoxx_eu$stoxx, alternative = "stationary")
# Print the test results
print(adf_result2)
Augmented Dickey-Fuller Test
data: announcement_stoxx_eu$stoxx
Dickey-Fuller = -3.1224, Lag order = 18, p-value = 0.103
alternative hypothesis: stationary
Based on the ADF test results, with a p-value of 0.103, I fail to
reject the null hypothesis that the series has a unit root (i.e., it is
non-stationary). This suggests that the stoxx series is likely
non-stationary.
cor_matrix2 <- cor(announcement_stoxx_eu[, c("stoxx", "euribor", "eur_to_us", "sp500")])
# Visualize correlation matrix
library(corrplot)
corrplot(cor_matrix2, method = "circle")
png
announcement_stoxx_eu_wo_uk <- announcement_stoxx_eu %>%
filter(country != "UK")
stoxx_day1 <- lm(diff_stoxx_1 ~ sum_1_day_announcement + diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_stoxx_1, data = announcement_stoxx_eu_wo_uk)
# Summary of the model
summary(stoxx_day1)
Call:
lm(formula = diff_stoxx_1 ~ sum_1_day_announcement + diff_euribor_1 +
diff_eur_to_us_1 + diff_sp500_1 + lagged_stoxx_1, data = announcement_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.073067 -0.004222 0.000266 0.004470 0.078016
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.855e-05 1.291e-04 -0.221 0.8249
sum_1_day_announcement -5.352e-04 4.423e-04 -1.210 0.2264
diff_euribor_1 1.638e-02 8.733e-03 1.875 0.0608 .
diff_eur_to_us_1 1.016e-01 2.591e-02 3.922 8.9e-05 ***
diff_sp500_1 5.850e-01 1.041e-02 56.182 < 2e-16 ***
lagged_stoxx_1 2.715e-02 1.055e-02 2.572 0.0101 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.009468 on 5879 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.3497, Adjusted R-squared: 0.3491
F-statistic: 632.2 on 5 and 5879 DF, p-value: < 2.2e-16
Specifation tests on the model
# Perform Durbin-Watson test
dwtest(stoxx_day1)
Durbin-Watson test
data: stoxx_day1
DW = 2.4931, p-value = 1
alternative hypothesis: true autocorrelation is greater than 0
The results suggest that there is no significant autocorrelation in
the residuals of the model.
residuals <- residuals(stoxx_day1)
# Perform Ljung-Box test on the residuals
Box.test(residuals, lag = 10, type = "Ljung-Box")
Box-Ljung test
data: residuals
X-squared = 381.49, df = 10, p-value < 2.2e-16
There is statistically significant evidence to suggest that
autocorrelation is present in the residuals.
# Perform the Breusch-Pagan test
bp_test_result1 <- bptest(stoxx_day1)
# Print the test results
print(bp_test_result1)
studentized Breusch-Pagan test
data: stoxx_day1
BP = 170.51, df = 5, p-value < 2.2e-16
There is statistically significant evidence to suggest that
heteroskedasticity is present in the residuals.
# Calculate VIF
vif_values <- car::vif(stoxx_day1)
print(vif_values)
sum_1_day_announcement diff_euribor_1 diff_eur_to_us_1
1.000530 1.001717 1.005815
diff_sp500_1 lagged_stoxx_1
1.008416 1.007098
There is indication of no severe multicollinearity in the regression
model.
stoxx_day1_nw <- coeftest(stoxx_day1, vcov = NeweyWest(stoxx_day1)) #applying robust standard errors
print(stoxx_day1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.8548e-05 8.9520e-05 -0.3189 0.74982
sum_1_day_announcement -5.3516e-04 4.1386e-04 -1.2931 0.19603
diff_euribor_1 1.6378e-02 9.8145e-03 1.6688 0.09521 .
diff_eur_to_us_1 1.0159e-01 5.0068e-02 2.0290 0.04250 *
diff_sp500_1 5.8497e-01 1.6402e-02 35.6644 < 2e-16 ***
lagged_stoxx_1 2.7146e-02 1.7833e-02 1.5222 0.12800
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
stoxx_day2 <- lm(diff_stoxx_2 ~ sum_2_day_announcement + diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_stoxx_2, data = announcement_stoxx_eu_wo_uk)
# Summary of the model
summary(stoxx_day2)
Call:
lm(formula = diff_stoxx_2 ~ sum_2_day_announcement + diff_euribor_2 +
diff_eur_to_us_2 + diff_sp500_2 + lagged_stoxx_2, data = announcement_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.071623 -0.005081 -0.000148 0.005086 0.074076
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0001319 0.0001441 -0.915 0.360
sum_2_day_announcement -0.0003017 0.0002839 -1.063 0.288
diff_euribor_2 0.0088576 0.0058450 1.515 0.130
diff_eur_to_us_2 0.1827479 0.0198839 9.191 <2e-16 ***
diff_sp500_2 0.6586252 0.0086423 76.209 <2e-16 ***
lagged_stoxx_2 0.3276853 0.0083920 39.047 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01024 on 5878 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.6156, Adjusted R-squared: 0.6153
F-statistic: 1883 on 5 and 5878 DF, p-value: < 2.2e-16
stoxx_day2_nw <- coeftest(stoxx_day2, vcov = NeweyWest(stoxx_day2)) #applying robust standard errors
print(stoxx_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00013188 0.00013989 -0.9427 0.3459
sum_2_day_announcement -0.00030169 0.00028107 -1.0733 0.2832
diff_euribor_2 0.00885759 0.01022864 0.8660 0.3865
diff_eur_to_us_2 0.18274786 0.02983268 6.1258 9.61e-10 ***
diff_sp500_2 0.65862520 0.01511857 43.5640 < 2.2e-16 ***
lagged_stoxx_2 0.32768528 0.01173538 27.9228 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
stoxx_day3 <- lm(diff_stoxx_3 ~ sum_3_day_announcement + diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_stoxx_3, data = announcement_stoxx_eu_wo_uk)
# Summary of the model
summary(stoxx_day3)
Call:
lm(formula = diff_stoxx_3 ~ sum_3_day_announcement + diff_euribor_3 +
diff_eur_to_us_3 + diff_sp500_3 + lagged_stoxx_3, data = announcement_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.072625 -0.005470 0.000025 0.005458 0.078605
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0001550 0.0001565 -0.990 0.3222
sum_3_day_announcement -0.0004301 0.0002215 -1.942 0.0522 .
diff_euribor_3 0.0066972 0.0045710 1.465 0.1429
diff_eur_to_us_3 0.1948562 0.0173085 11.258 <2e-16 ***
diff_sp500_3 0.6327021 0.0084446 74.924 <2e-16 ***
lagged_stoxx_3 0.3750325 0.0079780 47.008 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01087 on 5877 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.7052, Adjusted R-squared: 0.7049
F-statistic: 2811 on 5 and 5877 DF, p-value: < 2.2e-16
stoxx_day3_nw <- coeftest(stoxx_day3, vcov = NeweyWest(stoxx_day3)) #applying robust standard errors
print(stoxx_day3_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00015496 0.00013870 -1.1172 0.26394
sum_3_day_announcement -0.00043010 0.00023202 -1.8537 0.06383 .
diff_euribor_3 0.00669723 0.00529296 1.2653 0.20581
diff_eur_to_us_3 0.19485617 0.03220296 6.0509 1.529e-09 ***
diff_sp500_3 0.63270209 0.01702412 37.1650 < 2.2e-16 ***
lagged_stoxx_3 0.37503245 0.01479240 25.3530 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
stoxx_day4 <- lm(diff_stoxx_4 ~ sum_4_day_announcement + diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_stoxx_4, data = announcement_stoxx_eu_wo_uk)
# Summary of the model
summary(stoxx_day4)
Call:
lm(formula = diff_stoxx_4 ~ sum_4_day_announcement + diff_euribor_4 +
diff_eur_to_us_4 + diff_sp500_4 + lagged_stoxx_4, data = announcement_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.073319 -0.005862 0.000033 0.005747 0.087178
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0001911 0.0001638 -1.166 0.2436
sum_4_day_announcement -0.0003341 0.0001831 -1.824 0.0681 .
diff_euribor_4 0.0056036 0.0037557 1.492 0.1358
diff_eur_to_us_4 0.1991900 0.0155897 12.777 <2e-16 ***
diff_sp500_4 0.5876983 0.0081980 71.688 <2e-16 ***
lagged_stoxx_4 0.4282855 0.0077671 55.141 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01116 on 5876 degrees of freedom
(5 observations deleted due to missingness)
Multiple R-squared: 0.7626, Adjusted R-squared: 0.7624
F-statistic: 3776 on 5 and 5876 DF, p-value: < 2.2e-16
stoxx_day4_nw <- coeftest(stoxx_day4, vcov = NeweyWest(stoxx_day4)) #applying robust standard errors
print(stoxx_day4_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00019106 0.00016041 -1.1911 0.2337
sum_4_day_announcement -0.00033413 0.00020843 -1.6031 0.1090
diff_euribor_4 0.00560357 0.00436570 1.2835 0.1994
diff_eur_to_us_4 0.19919003 0.03142713 6.3382 2.498e-10 ***
diff_sp500_4 0.58769829 0.01603201 36.6578 < 2.2e-16 ***
lagged_stoxx_4 0.42828549 0.01220821 35.0818 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
stoxx_day5 <- lm(diff_stoxx_5 ~ sum_5_day_announcement + diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_stoxx_5, data = announcement_stoxx_eu_wo_uk)
# Summary of the model
summary(stoxx_day5)
Call:
lm(formula = diff_stoxx_5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_eur_to_us_5 + diff_sp500_5 + lagged_stoxx_5, data = announcement_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.086221 -0.006038 0.000042 0.005913 0.082449
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0002662 0.0001757 -1.515 0.130
sum_5_day_announcement -0.0002589 0.0001629 -1.589 0.112
diff_euribor_5 0.0034311 0.0033278 1.031 0.303
diff_eur_to_us_5 0.2065659 0.0148245 13.934 <2e-16 ***
diff_sp500_5 0.5687561 0.0082480 68.957 <2e-16 ***
lagged_stoxx_5 0.4487622 0.0077625 57.811 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01178 on 5875 degrees of freedom
(6 observations deleted due to missingness)
Multiple R-squared: 0.7874, Adjusted R-squared: 0.7873
F-statistic: 4353 on 5 and 5875 DF, p-value: < 2.2e-16
stoxx_day5_nw <- coeftest(stoxx_day5, vcov = NeweyWest(stoxx_day5)) #applying robust standard errors
print(stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00026615 0.00020722 -1.2844 0.1991
sum_5_day_announcement -0.00025891 0.00021123 -1.2257 0.2204
diff_euribor_5 0.00343115 0.00502233 0.6832 0.4945
diff_eur_to_us_5 0.20656591 0.02594028 7.9631 1.999e-15 ***
diff_sp500_5 0.56875614 0.01775718 32.0296 < 2.2e-16 ***
lagged_stoxx_5 0.44876216 0.01801641 24.9085 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
stoxx_day10 <- lm(diff_stoxx_10 ~ sum_10_day_announcement + diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_stoxx_10, data = announcement_stoxx_eu_wo_uk)
# Summary of the model
summary(stoxx_day10)
Call:
lm(formula = diff_stoxx_10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_eur_to_us_10 + diff_sp500_10 + lagged_stoxx_10, data = announcement_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.078250 -0.006961 0.000021 0.006841 0.109910
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0003858 0.0002008 -1.921 0.0547 .
sum_10_day_announcement -0.0002421 0.0001025 -2.362 0.0182 *
diff_euribor_10 0.0014505 0.0020856 0.695 0.4868
diff_eur_to_us_10 0.1825050 0.0116691 15.640 <2e-16 ***
diff_sp500_10 0.4710199 0.0078572 59.948 <2e-16 ***
lagged_stoxx_10 0.5577846 0.0072558 76.875 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01282 on 5870 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.8671, Adjusted R-squared: 0.867
F-statistic: 7661 on 5 and 5870 DF, p-value: < 2.2e-16
stoxx_day10_nw <- coeftest(stoxx_day10, vcov = NeweyWest(stoxx_day10)) #applying robust standard errors
print(stoxx_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00013188 0.00013989 -0.9427 0.3459
sum_2_day_announcement -0.00030169 0.00028107 -1.0733 0.2832
diff_euribor_2 0.00885759 0.01022864 0.8660 0.3865
diff_eur_to_us_2 0.18274786 0.02983268 6.1258 9.61e-10 ***
diff_sp500_2 0.65862520 0.01511857 43.5640 < 2.2e-16 ***
lagged_stoxx_2 0.32768528 0.01173538 27.9228 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The effect on VSTOXX
The whole Europe
announcement_vstoxx_eu <- read.xlsx("announcement_vstoxx.xlsx", sheet = "Sheet2")
head(announcement_vstoxx_eu)
A data.frame: 6 × 7
|
|
date
|
country
|
announcement
|
vstoxx
|
euribor
|
eur_to_us
|
sp500
|
|
|
<dbl>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
36923
|
0
|
0
|
21.75
|
4.714
|
1.06349
|
1373.47
|
|
2
|
36924
|
DE
|
1
|
21.17
|
4.724
|
1.07135
|
1349.47
|
|
3
|
36927
|
0
|
0
|
21.53
|
4.728
|
1.06383
|
1354.31
|
|
4
|
36928
|
0
|
0
|
20.51
|
4.725
|
1.07354
|
1352.26
|
|
5
|
36929
|
0
|
0
|
20.78
|
4.727
|
1.07227
|
1340.89
|
|
6
|
36930
|
0
|
0
|
20.16
|
4.731
|
1.08849
|
1332.53
|
announcement_vstoxx_eu$date <- as.Date(announcement_vstoxx_eu$date, origin = "1899-12-30")
# Check the results
head(announcement_vstoxx_eu)
A data.frame: 6 × 7
|
|
date
|
country
|
announcement
|
vstoxx
|
euribor
|
eur_to_us
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-01
|
0
|
0
|
21.75
|
4.714
|
1.06349
|
1373.47
|
|
2
|
2001-02-02
|
DE
|
1
|
21.17
|
4.724
|
1.07135
|
1349.47
|
|
3
|
2001-02-05
|
0
|
0
|
21.53
|
4.728
|
1.06383
|
1354.31
|
|
4
|
2001-02-06
|
0
|
0
|
20.51
|
4.725
|
1.07354
|
1352.26
|
|
5
|
2001-02-07
|
0
|
0
|
20.78
|
4.727
|
1.07227
|
1340.89
|
|
6
|
2001-02-08
|
0
|
0
|
20.16
|
4.731
|
1.08849
|
1332.53
|
announcement_vstoxx_eu$log_sp500 <- log(announcement_vstoxx_eu$sp500)
announcement_vstoxx_eu <- announcement_vstoxx_eu[order(announcement_vstoxx_eu$date), ]
announcement_vstoxx_eu$lagged_vstoxx <- c(NA, announcement_vstoxx_eu$vstoxx[-nrow(announcement_vstoxx_eu)])
announcement_vstoxx_eu$lagged_euribor <- c(NA, announcement_vstoxx_eu$euribor[-nrow(announcement_vstoxx_eu)])
announcement_vstoxx_eu$lagged_eur_to_us <- c(NA, announcement_vstoxx_eu$eur_to_us[-nrow(announcement_vstoxx_eu)])
announcement_vstoxx_eu$lagged_sp500 <- c(NA, announcement_vstoxx_eu$log_sp500[-nrow(announcement_vstoxx_eu)])
announcement_vstoxx_eu <- announcement_vstoxx_eu %>%
group_by(date) %>%
mutate(sum_announcement = sum(announcement)) %>%
ungroup()
announcement_vstoxx_eu <- announcement_vstoxx_eu %>%
arrange(date) %>%
mutate(sum_1_day_announcement = rollapply(announcement, width = 1, FUN = sum, fill = NA, align = 'right'))
announcement_vstoxx_eu <- announcement_vstoxx_eu %>%
arrange(date) %>%
mutate(sum_2_day_announcement = rollapply(announcement, width = 2, FUN = sum, fill = NA, align = 'right'))
announcement_vstoxx_eu <- announcement_vstoxx_eu %>%
arrange(date) %>%
mutate(sum_3_day_announcement = rollapply(announcement, width = 3, FUN = sum, fill = NA, align = 'right'))
announcement_vstoxx_eu <- announcement_vstoxx_eu %>%
arrange(date) %>%
mutate(sum_4_day_announcement = rollapply(announcement, width = 4, FUN = sum, fill = NA, align = 'right'))
announcement_vstoxx_eu <- announcement_vstoxx_eu %>%
arrange(date) %>%
mutate(sum_5_day_announcement = rollapply(announcement, width = 5, FUN = sum, fill = NA, align = 'right'))
announcement_vstoxx_eu <- announcement_vstoxx_eu %>%
arrange(date) %>%
mutate(sum_10_day_announcement = rollapply(announcement, width = 10, FUN = sum, fill = NA, align = 'right'))
tail(announcement_vstoxx_eu, 10)
A tibble: 10 × 19
|
date
|
country
|
announcement
|
vstoxx
|
euribor
|
eur_to_us
|
sp500
|
log_sp500
|
lagged_vstoxx
|
lagged_euribor
|
lagged_eur_to_us
|
lagged_sp500
|
sum_announcement
|
sum_1_day_announcement
|
sum_2_day_announcement
|
sum_3_day_announcement
|
sum_4_day_announcement
|
sum_5_day_announcement
|
sum_10_day_announcement
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-10-16
|
0
|
0
|
19.92
|
3.975
|
0.94791
|
4373.63
|
8.383349
|
20.18
|
3.985
|
0.95206
|
8.372810
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
|
2023-10-17
|
0
|
0
|
19.87
|
3.972
|
0.94549
|
4373.20
|
8.383250
|
19.92
|
3.975
|
0.94791
|
8.383349
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-18
|
0
|
0
|
21.64
|
3.993
|
0.94890
|
4314.60
|
8.369760
|
19.87
|
3.972
|
0.94549
|
8.383250
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-19
|
0
|
0
|
22.30
|
4.002
|
0.94621
|
4278.00
|
8.361241
|
21.64
|
3.993
|
0.94890
|
8.369760
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-20
|
0
|
0
|
23.33
|
3.969
|
0.94442
|
4224.16
|
8.348576
|
22.30
|
4.002
|
0.94621
|
8.361241
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-23
|
0
|
0
|
21.94
|
3.956
|
0.94078
|
4217.04
|
8.346889
|
23.33
|
3.969
|
0.94442
|
8.348576
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
|
2023-10-24
|
0
|
0
|
20.99
|
3.941
|
0.94349
|
4247.68
|
8.354128
|
21.94
|
3.956
|
0.94078
|
8.346889
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-10-25
|
0
|
0
|
20.58
|
3.938
|
0.94460
|
4186.77
|
8.339685
|
20.99
|
3.941
|
0.94349
|
8.354128
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-10-26
|
0
|
0
|
21.50
|
3.952
|
0.94850
|
4137.23
|
8.327782
|
20.58
|
3.938
|
0.94460
|
8.339685
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-10-27
|
0
|
0
|
20.79
|
3.948
|
0.94527
|
4117.37
|
8.322970
|
21.50
|
3.952
|
0.94850
|
8.327782
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
Specification tests on the data
adf_result3 <- adf.test(announcement_vstoxx_eu$vstoxx, alternative = "stationary")
# Print the test results
print(adf_result3)
Warning message in adf.test(announcement_vstoxx_eu$vstoxx, alternative = "stationary"):
"p-value smaller than printed p-value"
Augmented Dickey-Fuller Test
data: announcement_vstoxx_eu$vstoxx
Dickey-Fuller = -5.7042, Lag order = 18, p-value = 0.01
alternative hypothesis: stationary
Based on the ADF test results, with a p-value of 0.01, you reject the
null hypothesis that the series has a unit root. This suggests that the
vstoxx series is stationary.
cor_matrix3 <- cor(announcement_vstoxx_eu[, c("vstoxx", "euribor", "eur_to_us", "sp500")])
# Visualize correlation matrix
library(corrplot)
corrplot(cor_matrix3, method = "circle")
png
announcement_vstoxx_eu_wo_uk <- announcement_vstoxx_eu %>%
filter(country != "UK")
vstoxx_var1 <- lm(vstoxx ~ sum_announcement + euribor + eur_to_us + log_sp500 + lagged_vstoxx, data = announcement_vstoxx_eu_wo_uk)
# Summary of the model
summary(vstoxx_var1)
Call:
lm(formula = vstoxx ~ sum_announcement + euribor + eur_to_us +
log_sp500 + lagged_vstoxx, data = announcement_vstoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-12.8026 -0.7967 -0.1480 0.5696 23.2948
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.519836 0.478079 3.179 0.00149 **
sum_announcement 0.036561 0.046313 0.789 0.42989
euribor 0.010979 0.016623 0.660 0.50899
eur_to_us 0.411636 0.225886 1.822 0.06846 .
log_sp500 -0.183643 0.062873 -2.921 0.00350 **
lagged_vstoxx 0.977917 0.002669 366.393 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.783 on 5880 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.9657, Adjusted R-squared: 0.9657
F-statistic: 3.313e+04 on 5 and 5880 DF, p-value: < 2.2e-16
Specification tests on the model
# Perform Durbin-Watson test
dwtest(vstoxx_var1)
Durbin-Watson test
data: vstoxx_var1
DW = 2.0779, p-value = 0.9983
alternative hypothesis: true autocorrelation is greater than 0
Based on the Durbin-Watson test results, with a DW statistic of
2.0779 and a p-value of 0.9983, I conclude that there is no significant
autocorrelation in the residuals of the model.
residuals <- residuals(vstoxx_var1)
# Perform Ljung-Box test on the residuals
Box.test(residuals, lag = 10, type = "Ljung-Box")
Box-Ljung test
data: residuals
X-squared = 39.747, df = 10, p-value = 1.878e-05
There is statistically significant evidence to suggest that
autocorrelation is present in the residuals of the model.
# Perform the Breusch-Pagan test
bp_test_result3 <- bptest(vstoxx_var1)
# Print the test results
print(bp_test_result3)
studentized Breusch-Pagan test
data: vstoxx_var1
BP = 552.46, df = 5, p-value < 2.2e-16
The result strongly suggests that there is statistically significant
evidence of heteroskedasticity in the residuals.
# Calculate VIF
vif_values <- car::vif(vstoxx_var1)
print(vif_values)
sum_announcement euribor eur_to_us log_sp500
1.032964 1.493731 1.147272 1.745464
lagged_vstoxx
1.222746
All the VIF scores are well below the threshold of concern, which
implies that there is no indication of severe multicollinearity in the
regression model.
vstoxx_var1_nw <- coeftest(vstoxx_var1, vcov = NeweyWest(vstoxx_var1)) #applying robust standard errors
print(vstoxx_var1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.5198362 0.3983178 3.8156 0.0001372 ***
sum_announcement 0.0365606 0.0336219 1.0874 0.2769022
euribor 0.0109788 0.0169596 0.6474 0.5174286
eur_to_us 0.4116365 0.2282884 1.8031 0.0714170 .
log_sp500 -0.1836432 0.0551277 -3.3312 0.0008700 ***
lagged_vstoxx 0.9779166 0.0032694 299.1100 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
vstoxx_var2 <- lm(vstoxx ~ sum_announcement + euribor + eur_to_us + log_sp500, data = announcement_vstoxx_eu_wo_uk)
# Summary of the model
summary(vstoxx_var2)
Call:
lm(formula = vstoxx ~ sum_announcement + euribor + eur_to_us +
log_sp500, data = announcement_vstoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-14.475 -5.997 -1.509 3.746 63.509
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 69.27685 2.15189 32.193 <2e-16 ***
sum_announcement 0.27758 0.22604 1.228 0.219
euribor -0.10486 0.08111 -1.293 0.196
eur_to_us 19.96562 1.07099 18.642 <2e-16 ***
log_sp500 -8.37477 0.28684 -29.197 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.701 on 5882 degrees of freedom
Multiple R-squared: 0.183, Adjusted R-squared: 0.1825
F-statistic: 329.4 on 4 and 5882 DF, p-value: < 2.2e-16
vstoxx_var2_nw <- coeftest(vstoxx_var2, vcov = NeweyWest(vstoxx_var2)) #applying robust standard errors
print(vstoxx_var2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 69.27685 12.65962 5.4723 4.627e-08 ***
sum_announcement 0.27758 0.37726 0.7358 0.46190
euribor -0.10486 0.53443 -0.1962 0.84445
eur_to_us 19.96562 9.42477 2.1184 0.03418 *
log_sp500 -8.37477 1.85909 -4.5048 6.773e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The effect of DIRECTION on yield
direction_yield_eu <- read.xlsx("direction_yield.xlsx", sheet = "Sheet2")
head(direction_yield_eu)
A data.frame: 6 × 9
|
|
date
|
country
|
direction
|
tightening
|
loosening
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
|
|
<dbl>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
36923
|
0
|
0
|
0
|
0
|
4.782
|
4.714
|
1.06349
|
1373.47
|
|
2
|
36924
|
DE
|
1
|
0
|
0
|
4.785
|
4.724
|
1.07135
|
1349.47
|
|
3
|
36927
|
0
|
0
|
0
|
0
|
4.768
|
4.728
|
1.06383
|
1354.31
|
|
4
|
36928
|
0
|
0
|
0
|
0
|
4.770
|
4.725
|
1.07354
|
1352.26
|
|
5
|
36929
|
0
|
0
|
0
|
0
|
4.750
|
4.727
|
1.07227
|
1340.89
|
|
6
|
36930
|
0
|
0
|
0
|
0
|
4.794
|
4.731
|
1.08849
|
1332.53
|
direction_yield_eu$date <- as.Date(direction_yield_eu$date, origin = "1899-12-30")
# Check the results
head(direction_yield_eu)
A data.frame: 6 × 9
|
|
date
|
country
|
direction
|
tightening
|
loosening
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-01
|
0
|
0
|
0
|
0
|
4.782
|
4.714
|
1.06349
|
1373.47
|
|
2
|
2001-02-02
|
DE
|
1
|
0
|
0
|
4.785
|
4.724
|
1.07135
|
1349.47
|
|
3
|
2001-02-05
|
0
|
0
|
0
|
0
|
4.768
|
4.728
|
1.06383
|
1354.31
|
|
4
|
2001-02-06
|
0
|
0
|
0
|
0
|
4.770
|
4.725
|
1.07354
|
1352.26
|
|
5
|
2001-02-07
|
0
|
0
|
0
|
0
|
4.750
|
4.727
|
1.07227
|
1340.89
|
|
6
|
2001-02-08
|
0
|
0
|
0
|
0
|
4.794
|
4.731
|
1.08849
|
1332.53
|
direction_yield_eu$log_sp500 <- log(direction_yield_eu$sp500)
direction_yield_eu <- direction_yield_eu[order(direction_yield_eu$date), ]
direction_yield_eu$lagged_eu_yield <- c(NA, direction_yield_eu$eu_yield[-nrow(direction_yield_eu)])
direction_yield_eu$lagged_euribor <- c(NA, direction_yield_eu$euribor[-nrow(direction_yield_eu)])
direction_yield_eu$lagged_eur_to_us <- c(NA, direction_yield_eu$eur_to_us[-nrow(direction_yield_eu)])
direction_yield_eu$lagged_sp500 <- c(NA, direction_yield_eu$log_sp500[-nrow(direction_yield_eu)])
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(
diff_yield_1 = c(rep(NA, 1), diff(eu_yield, lag = 1)),
diff_yield_2 = c(rep(NA, 2), diff(eu_yield, lag = 2)),
diff_yield_3 = c(rep(NA, 3), diff(eu_yield, lag = 3)),
diff_yield_4 = c(rep(NA, 4), diff(eu_yield, lag = 4)),
diff_yield_5 = c(rep(NA, 5), diff(eu_yield, lag = 5)),
diff_yield_10 = c(rep(NA, 10), diff(eu_yield, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_eur_to_us_1 = c(rep(NA, 1), diff(eur_to_us, lag = 1)),
diff_eur_to_us_2 = c(rep(NA, 2), diff(eur_to_us, lag = 2)),
diff_eur_to_us_3 = c(rep(NA, 3), diff(eur_to_us, lag = 3)),
diff_eur_to_us_4 = c(rep(NA, 4), diff(eur_to_us, lag = 4)),
diff_eur_to_us_5 = c(rep(NA, 5), diff(eur_to_us, lag = 5)),
diff_eur_to_us_10 = c(rep(NA, 10), diff(eur_to_us, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
direction_yield_eu <- direction_yield_eu %>%
group_by(date) %>%
mutate(sum_direction = sum(direction)) %>%
ungroup()
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_1_day_tightening = rollapply(tightening, width = 1, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_2_day_tightening = rollapply(tightening, width = 2, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_3_day_tightening = rollapply(tightening, width = 3, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_4_day_tightening = rollapply(tightening, width = 4, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_5_day_tightening = rollapply(tightening, width = 5, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_10_day_tightening = rollapply(tightening, width = 10, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_1_day_loosening = rollapply(loosening, width = 1, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_2_day_loosening = rollapply(loosening, width = 2, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_3_day_loosening = rollapply(loosening, width = 3, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_4_day_loosening = rollapply(loosening, width = 4, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_5_day_loosening = rollapply(loosening, width = 5, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu <- direction_yield_eu %>%
arrange(date) %>%
mutate(sum_10_day_loosening = rollapply(loosening, width = 10, FUN = sum, fill = NA, align = 'right'))
direction_yield_eu$lagged_eu_yield_1 <- c(NA, direction_yield_eu$diff_yield_1[-nrow(direction_yield_eu)])
direction_yield_eu$lagged_eu_yield_2 <- c(NA, direction_yield_eu$diff_yield_2[-nrow(direction_yield_eu)])
direction_yield_eu$lagged_eu_yield_3 <- c(NA, direction_yield_eu$diff_yield_3[-nrow(direction_yield_eu)])
direction_yield_eu$lagged_eu_yield_4 <- c(NA, direction_yield_eu$diff_yield_4[-nrow(direction_yield_eu)])
direction_yield_eu$lagged_eu_yield_5 <- c(NA, direction_yield_eu$diff_yield_5[-nrow(direction_yield_eu)])
direction_yield_eu$lagged_eu_yield_10 <- c(NA, direction_yield_eu$diff_yield_10[-nrow(direction_yield_eu)])
tail(direction_yield_eu)
A tibble: 6 × 57
|
date
|
country
|
direction
|
tightening
|
loosening
|
eu_yield
|
euribor
|
eur_to_us
|
sp500
|
log_sp500
|
⋯
|
sum_3_day_loosening
|
sum_4_day_loosening
|
sum_5_day_loosening
|
sum_10_day_loosening
|
lagged_eu_yield_1
|
lagged_eu_yield_2
|
lagged_eu_yield_3
|
lagged_eu_yield_4
|
lagged_eu_yield_5
|
lagged_eu_yield_10
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-10-20
|
0
|
0
|
0
|
0
|
2.882
|
3.969
|
0.94442
|
4224.16
|
8.348576
|
⋯
|
0
|
0
|
0
|
0
|
0.006
|
0.045
|
0.146
|
0.195
|
0.144
|
0.042
|
|
2023-10-23
|
0
|
0
|
0
|
0
|
2.866
|
3.956
|
0.94078
|
4217.04
|
8.346889
|
⋯
|
0
|
0
|
0
|
0
|
-0.045
|
-0.039
|
0.000
|
0.101
|
0.150
|
-0.009
|
|
2023-10-24
|
0
|
0
|
0
|
0
|
2.834
|
3.941
|
0.94349
|
4247.68
|
8.354128
|
⋯
|
0
|
0
|
0
|
0
|
-0.016
|
-0.061
|
-0.055
|
-0.016
|
0.085
|
0.101
|
|
2023-10-25
|
0
|
0
|
0
|
0
|
2.887
|
3.938
|
0.94460
|
4186.77
|
8.339685
|
⋯
|
0
|
0
|
0
|
0
|
-0.032
|
-0.048
|
-0.093
|
-0.087
|
-0.048
|
0.051
|
|
2023-10-26
|
0
|
0
|
0
|
0
|
2.851
|
3.952
|
0.94850
|
4137.23
|
8.327782
|
⋯
|
0
|
0
|
0
|
0
|
0.053
|
0.021
|
0.005
|
-0.040
|
-0.034
|
0.169
|
|
2023-10-27
|
0
|
0
|
0
|
0
|
2.835
|
3.948
|
0.94527
|
4117.37
|
8.322970
|
⋯
|
0
|
0
|
0
|
0
|
-0.036
|
0.017
|
-0.015
|
-0.031
|
-0.076
|
0.068
|
The whole EUROPE. Tightening and loosening together.
direction_yield_eu_wo_uk <- direction_yield_eu %>%
filter(country != "UK")
direction_eu_yield_day1 <- lm(diff_yield_1 ~ sum_1_day_tightening + sum_1_day_loosening + diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_eu_yield_1, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(direction_eu_yield_day1)
Call:
lm(formula = diff_yield_1 ~ sum_1_day_tightening + sum_1_day_loosening +
diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_eu_yield_1,
data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.33425 -0.02357 -0.00049 0.02177 0.24273
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0002260 0.0005693 -0.397 0.691
sum_1_day_tightening -0.0033641 0.0031161 -1.080 0.280
sum_1_day_loosening 0.0003516 0.0107345 0.033 0.974
diff_euribor_1 0.0155246 0.0402058 0.386 0.699
diff_eur_to_us_1 0.0445192 0.1172143 0.380 0.704
diff_sp500_1 0.7962677 0.0470712 16.916 <2e-16 ***
lagged_eu_yield_1 0.0136494 0.0130398 1.047 0.295
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.04287 on 5877 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.04675, Adjusted R-squared: 0.04578
F-statistic: 48.04 on 6 and 5877 DF, p-value: < 2.2e-16
direction_eu_yield_day1_nw <- coeftest(direction_eu_yield_day1, vcov = NeweyWest(direction_eu_yield_day1)) #applying robust standard errors
print(direction_eu_yield_day1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00022600 0.00056693 -0.3986 0.6902
sum_1_day_tightening -0.00336411 0.00290149 -1.1594 0.2463
sum_1_day_loosening 0.00035162 0.01460601 0.0241 0.9808
diff_euribor_1 0.01552462 0.08978089 0.1729 0.8627
diff_eur_to_us_1 0.04451924 0.22137235 0.2011 0.8406
diff_sp500_1 0.79626774 0.09105581 8.7448 <2e-16 ***
lagged_eu_yield_1 0.01364936 0.01754511 0.7780 0.4366
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_yield_day2 <- lm(diff_yield_2 ~ sum_2_day_tightening + sum_2_day_loosening + diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_eu_yield_2, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(direction_eu_yield_day2)
Call:
lm(formula = diff_yield_2 ~ sum_2_day_tightening + sum_2_day_loosening +
diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_eu_yield_2,
data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.33271 -0.02914 -0.00126 0.02815 0.27438
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.810e-04 7.069e-04 -0.680 0.4963
sum_2_day_tightening 2.208e-05 2.395e-03 0.009 0.9926
sum_2_day_loosening 4.118e-03 8.198e-03 0.502 0.6154
diff_euribor_2 2.736e-02 3.030e-02 0.903 0.3666
diff_eur_to_us_2 2.245e-01 1.016e-01 2.210 0.0271 *
diff_sp500_2 7.670e-01 4.289e-02 17.883 <2e-16 ***
lagged_eu_yield_2 4.882e-01 1.120e-02 43.579 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05231 on 5876 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.2926, Adjusted R-squared: 0.2919
F-statistic: 405.1 on 6 and 5876 DF, p-value: < 2.2e-16
direction_eu_yield_day2_nw <- coeftest(direction_eu_yield_day2, vcov = NeweyWest(direction_eu_yield_day2)) #applying robust standard errors
print(direction_eu_yield_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.8097e-04 6.8313e-04 -0.7041 0.4814
sum_2_day_tightening 2.2077e-05 2.2892e-03 0.0096 0.9923
sum_2_day_loosening 4.1184e-03 1.2798e-02 0.3218 0.7476
diff_euribor_2 2.7357e-02 4.7566e-02 0.5751 0.5652
diff_eur_to_us_2 2.2448e-01 1.7712e-01 1.2674 0.2051
diff_sp500_2 7.6698e-01 7.9320e-02 9.6694 <2e-16 ***
lagged_eu_yield_2 4.8819e-01 1.1776e-02 41.4556 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_yield_day3 <- lm(diff_yield_3 ~ sum_3_day_tightening + sum_3_day_loosening + diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_eu_yield_3, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(direction_eu_yield_day3)
Call:
lm(formula = diff_yield_3 ~ sum_3_day_tightening + sum_3_day_loosening +
diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_eu_yield_3,
data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.44012 -0.03122 -0.00165 0.03058 0.32555
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0003706 0.0007654 -0.484 0.62828
sum_3_day_tightening -0.0012657 0.0019457 -0.651 0.51536
sum_3_day_loosening 0.0067560 0.0070152 0.963 0.33556
diff_euribor_3 0.0183126 0.0237915 0.770 0.44150
diff_eur_to_us_3 0.2599537 0.0887701 2.928 0.00342 **
diff_sp500_3 0.6166731 0.0388193 15.886 < 2e-16 ***
lagged_eu_yield_3 0.6469390 0.0097798 66.151 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05578 on 5875 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.4659, Adjusted R-squared: 0.4653
F-statistic: 854 on 6 and 5875 DF, p-value: < 2.2e-16
direction_eu_yield_day3_nw <- coeftest(direction_eu_yield_day3, vcov = NeweyWest(direction_eu_yield_day3)) #applying robust standard errors
print(direction_eu_yield_day3_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00037059 0.00071140 -0.5209 0.6024
sum_3_day_tightening -0.00126574 0.00180930 -0.6996 0.4842
sum_3_day_loosening 0.00675596 0.01337848 0.5050 0.6136
diff_euribor_3 0.01831263 0.03878063 0.4722 0.6368
diff_eur_to_us_3 0.25995373 0.15864398 1.6386 0.1014
diff_sp500_3 0.61667307 0.07879528 7.8263 5.919e-15 ***
lagged_eu_yield_3 0.64693901 0.01190969 54.3204 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_yield_day4 <- lm(diff_yield_4 ~ sum_4_day_tightening + sum_4_day_loosening + diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_eu_yield_4, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(direction_eu_yield_day4)
Call:
lm(formula = diff_yield_4 ~ sum_4_day_tightening + sum_4_day_loosening +
diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_eu_yield_4,
data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.37671 -0.03125 -0.00151 0.03048 0.41899
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0002582 0.0007929 -0.326 0.74467
sum_4_day_tightening -0.0025976 0.0016427 -1.581 0.11387
sum_4_day_loosening 0.0142241 0.0060982 2.333 0.01971 *
diff_euribor_4 0.0241409 0.0194275 1.243 0.21406
diff_eur_to_us_4 0.2102103 0.0792630 2.652 0.00802 **
diff_sp500_4 0.4439310 0.0347696 12.768 < 2e-16 ***
lagged_eu_yield_4 0.7354333 0.0087054 84.480 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05699 on 5874 degrees of freedom
(5 observations deleted due to missingness)
Multiple R-squared: 0.5784, Adjusted R-squared: 0.578
F-statistic: 1343 on 6 and 5874 DF, p-value: < 2.2e-16
direction_eu_yield_day4_nw <- coeftest(direction_eu_yield_day4, vcov = NeweyWest(direction_eu_yield_day4)) #applying robust standard errors
print(direction_eu_yield_day4_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00025824 0.00070851 -0.3645 0.71551
sum_4_day_tightening -0.00259757 0.00151669 -1.7127 0.08683 .
sum_4_day_loosening 0.01422415 0.01236803 1.1501 0.25016
diff_euribor_4 0.02414089 0.03251052 0.7426 0.45778
diff_eur_to_us_4 0.21021029 0.14166111 1.4839 0.13789
diff_sp500_4 0.44393103 0.07290563 6.0891 1.207e-09 ***
lagged_eu_yield_4 0.73543332 0.01022553 71.9213 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_yield_day5 <- lm(diff_yield_5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_eu_yield_5, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(direction_eu_yield_day5)
Call:
lm(formula = diff_yield_5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_eu_yield_5,
data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.32486 -0.03185 -0.00021 0.03190 0.36500
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0004009 0.0008095 -0.495 0.62047
sum_5_day_tightening -0.0025366 0.0014325 -1.771 0.07666 .
sum_5_day_loosening 0.0172543 0.0053796 3.207 0.00135 **
diff_euribor_5 0.0147716 0.0164455 0.898 0.36911
diff_eur_to_us_5 0.2388497 0.0717664 3.328 0.00088 ***
diff_sp500_5 0.3878571 0.0316462 12.256 < 2e-16 ***
lagged_eu_yield_5 0.7899128 0.0078599 100.499 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05743 on 5873 degrees of freedom
(6 observations deleted due to missingness)
Multiple R-squared: 0.6563, Adjusted R-squared: 0.656
F-statistic: 1869 on 6 and 5873 DF, p-value: < 2.2e-16
direction_eu_yield_day5_nw <- coeftest(direction_eu_yield_day5, vcov = NeweyWest(direction_eu_yield_day5)) #applying robust standard errors
print(direction_eu_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00040088 0.00074205 -0.5402 0.58906
sum_5_day_tightening -0.00253659 0.00138504 -1.8314 0.06709 .
sum_5_day_loosening 0.01725426 0.01252547 1.3775 0.16840
diff_euribor_5 0.01477157 0.02762442 0.5347 0.59286
diff_eur_to_us_5 0.23884972 0.12341696 1.9353 0.05300 .
diff_sp500_5 0.38785711 0.06500219 5.9668 2.56e-09 ***
lagged_eu_yield_5 0.78991285 0.00947234 83.3915 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_yield_day10 <- lm(diff_yield_10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_eu_yield_10, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(direction_eu_yield_day10)
Call:
lm(formula = diff_yield_10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_eu_yield_10,
data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.43402 -0.03494 -0.00080 0.03349 0.36642
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0004940 0.0008861 -0.558 0.577
sum_10_day_tightening -0.0011431 0.0009189 -1.244 0.214
sum_10_day_loosening 0.0168440 0.0039345 4.281 1.89e-05 ***
diff_euribor_10 0.0145334 0.0099674 1.458 0.145
diff_eur_to_us_10 0.0657750 0.0537763 1.223 0.221
diff_sp500_10 0.1728610 0.0246076 7.025 2.39e-12 ***
lagged_eu_yield_10 0.8896346 0.0058750 151.427 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.06023 on 5868 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.8084, Adjusted R-squared: 0.8082
F-statistic: 4125 on 6 and 5868 DF, p-value: < 2.2e-16
direction_eu_yield_day10_nw <- coeftest(direction_eu_yield_day10, vcov = NeweyWest(direction_eu_yield_day10)) #applying robust standard errors
print(direction_eu_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00049401 0.00093184 -0.5301 0.59604
sum_10_day_tightening -0.00114307 0.00096220 -1.1880 0.23489
sum_10_day_loosening 0.01684404 0.00637508 2.6422 0.00826 **
diff_euribor_10 0.01453337 0.01578814 0.9205 0.35734
diff_eur_to_us_10 0.06577496 0.07039576 0.9344 0.35016
diff_sp500_10 0.17286104 0.03684003 4.6922 2.764e-06 ***
lagged_eu_yield_10 0.88963460 0.00813224 109.3960 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The whole EUROPE. Tightening and loosening separately. Robustness
Check.
The effect of tightening announcement on yield
tightening_eu_yield_day1 <- lm(diff_yield_1 ~ sum_1_day_tightening + diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_eu_yield_1, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(tightening_eu_yield_day1)
Call:
lm(formula = diff_yield_1 ~ sum_1_day_tightening + diff_euribor_1 +
diff_eur_to_us_1 + diff_sp500_1 + lagged_eu_yield_1, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.33425 -0.02357 -0.00049 0.02177 0.24273
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0002250 0.0005685 -0.396 0.692
sum_1_day_tightening -0.0033651 0.0031156 -1.080 0.280
diff_euribor_1 0.0155341 0.0402013 0.386 0.699
diff_eur_to_us_1 0.0445072 0.1172038 0.380 0.704
diff_sp500_1 0.7962481 0.0470634 16.919 <2e-16 ***
lagged_eu_yield_1 0.0136523 0.0130383 1.047 0.295
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.04287 on 5878 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.04675, Adjusted R-squared: 0.04594
F-statistic: 57.65 on 5 and 5878 DF, p-value: < 2.2e-16
tightening_eu_yield_day1_nw <- coeftest(tightening_eu_yield_day1, vcov = NeweyWest(tightening_eu_yield_day1)) #applying robust standard errors
print(tightening_eu_yield_day1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00022501 0.00057423 -0.3918 0.6952
sum_1_day_tightening -0.00336509 0.00289166 -1.1637 0.2446
diff_euribor_1 0.01553410 0.08937524 0.1738 0.8620
diff_eur_to_us_1 0.04450720 0.20902181 0.2129 0.8314
diff_sp500_1 0.79624812 0.08854193 8.9929 <2e-16 ***
lagged_eu_yield_1 0.01365228 0.01782476 0.7659 0.4438
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_yield_day2 <- lm(diff_yield_2 ~ sum_2_day_tightening + diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_eu_yield_2, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(tightening_eu_yield_day2)
Call:
lm(formula = diff_yield_2 ~ sum_2_day_tightening + diff_euribor_2 +
diff_eur_to_us_2 + diff_sp500_2 + lagged_eu_yield_2, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.33275 -0.02916 -0.00116 0.02812 0.27434
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.549e-04 7.049e-04 -0.645 0.519
sum_2_day_tightening 4.034e-05 2.395e-03 0.017 0.987
diff_euribor_2 2.743e-02 3.029e-02 0.905 0.365
diff_eur_to_us_2 2.247e-01 1.016e-01 2.213 0.027 *
diff_sp500_2 7.667e-01 4.288e-02 17.879 <2e-16 ***
lagged_eu_yield_2 4.882e-01 1.120e-02 43.585 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05231 on 5877 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.2926, Adjusted R-squared: 0.292
F-statistic: 486.1 on 5 and 5877 DF, p-value: < 2.2e-16
tightening_eu_yield_day2_nw <- coeftest(tightening_eu_yield_day2, vcov = NeweyWest(tightening_eu_yield_day2)) #applying robust standard errors
print(tightening_eu_yield_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.5488e-04 6.6936e-04 -0.6796 0.4968
sum_2_day_tightening 4.0343e-05 2.2406e-03 0.0180 0.9856
diff_euribor_2 2.7427e-02 4.6752e-02 0.5867 0.5575
diff_eur_to_us_2 2.2474e-01 1.8799e-01 1.1955 0.2320
diff_sp500_2 7.6670e-01 8.1080e-02 9.4560 <2e-16 ***
lagged_eu_yield_2 4.8822e-01 1.1615e-02 42.0352 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_yield_day3 <- lm(diff_yield_3 ~ sum_3_day_tightening + diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_eu_yield_3, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(tightening_eu_yield_day3)
Call:
lm(formula = diff_yield_3 ~ sum_3_day_tightening + diff_euribor_3 +
diff_eur_to_us_3 + diff_sp500_3 + lagged_eu_yield_3, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.44024 -0.03128 -0.00169 0.03052 0.32535
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0003107 0.0007629 -0.407 0.68383
sum_3_day_tightening -0.0011839 0.0019438 -0.609 0.54249
diff_euribor_3 0.0184100 0.0237912 0.774 0.43907
diff_eur_to_us_3 0.2603468 0.0887686 2.933 0.00337 **
diff_sp500_3 0.6157046 0.0388060 15.866 < 2e-16 ***
lagged_eu_yield_3 0.6470115 0.0097794 66.160 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05578 on 5876 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.4658, Adjusted R-squared: 0.4653
F-statistic: 1025 on 5 and 5876 DF, p-value: < 2.2e-16
tightening_eu_yield_day3_nw <- coeftest(tightening_eu_yield_day3, vcov = NeweyWest(tightening_eu_yield_day3)) #applying robust standard errors
print(tightening_eu_yield_day3_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00031069 0.00071060 -0.4372 0.6620
sum_3_day_tightening -0.00118393 0.00176746 -0.6698 0.5030
diff_euribor_3 0.01841001 0.03839533 0.4795 0.6316
diff_eur_to_us_3 0.26034675 0.17092405 1.5232 0.1278
diff_sp500_3 0.61570456 0.08321878 7.3986 1.569e-13 ***
lagged_eu_yield_3 0.64701151 0.01196744 54.0643 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_yield_day4 <- lm(diff_yield_4 ~ sum_4_day_tightening + diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_eu_yield_4, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(tightening_eu_yield_day4)
Call:
lm(formula = diff_yield_4 ~ sum_4_day_tightening + diff_euribor_4 +
diff_eur_to_us_4 + diff_sp500_4 + lagged_eu_yield_4, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.37686 -0.03123 -0.00165 0.03062 0.41898
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -9.217e-05 7.900e-04 -0.117 0.90712
sum_4_day_tightening -2.367e-03 1.640e-03 -1.443 0.14913
diff_euribor_4 2.442e-02 1.943e-02 1.256 0.20903
diff_eur_to_us_4 2.133e-01 7.928e-02 2.691 0.00715 **
diff_sp500_4 4.408e-01 3.476e-02 12.683 < 2e-16 ***
lagged_eu_yield_4 7.355e-01 8.709e-03 84.460 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05701 on 5875 degrees of freedom
(5 observations deleted due to missingness)
Multiple R-squared: 0.578, Adjusted R-squared: 0.5776
F-statistic: 1609 on 5 and 5875 DF, p-value: < 2.2e-16
tightening_eu_yield_day4_nw <- coeftest(tightening_eu_yield_day4, vcov = NeweyWest(tightening_eu_yield_day4)) #applying robust standard errors
print(tightening_eu_yield_day4_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -9.2168e-05 7.2586e-04 -0.1270 0.8990
sum_4_day_tightening -2.3667e-03 1.4880e-03 -1.5905 0.1118
diff_euribor_4 2.4417e-02 3.2598e-02 0.7490 0.4539
diff_eur_to_us_4 2.1332e-01 1.4511e-01 1.4701 0.1416
diff_sp500_4 4.4084e-01 7.6040e-02 5.7974 7.085e-09 ***
lagged_eu_yield_4 7.3553e-01 1.0412e-02 70.6406 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_yield_day5 <- lm(diff_yield_5 ~ sum_5_day_tightening + diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_eu_yield_5, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(tightening_eu_yield_day5)
Call:
lm(formula = diff_yield_5 ~ sum_5_day_tightening + diff_euribor_5 +
diff_eur_to_us_5 + diff_sp500_5 + lagged_eu_yield_5, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.32521 -0.03194 -0.00037 0.03175 0.36452
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0001378 0.0008060 -0.171 0.864212
sum_5_day_tightening -0.0022304 0.0014304 -1.559 0.118996
diff_euribor_5 0.0151208 0.0164582 0.919 0.358269
diff_eur_to_us_5 0.2436269 0.0718076 3.393 0.000696 ***
diff_sp500_5 0.3819526 0.0316175 12.080 < 2e-16 ***
lagged_eu_yield_5 0.7900402 0.0078660 100.437 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05748 on 5874 degrees of freedom
(6 observations deleted due to missingness)
Multiple R-squared: 0.6557, Adjusted R-squared: 0.6555
F-statistic: 2238 on 5 and 5874 DF, p-value: < 2.2e-16
tightening_eu_yield_day5_nw <- coeftest(tightening_eu_yield_day5, vcov = NeweyWest(tightening_eu_yield_day5)) #applying robust standard errors
print(tightening_eu_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00013784 0.00074153 -0.1859 0.85254
sum_5_day_tightening -0.00223040 0.00133846 -1.6664 0.09569 .
diff_euribor_5 0.01512079 0.02676065 0.5650 0.57207
diff_eur_to_us_5 0.24362685 0.13352382 1.8246 0.06811 .
diff_sp500_5 0.38195256 0.07022972 5.4386 5.586e-08 ***
lagged_eu_yield_5 0.79004019 0.00979205 80.6818 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_yield_day10 <- lm(diff_yield_10 ~ sum_10_day_tightening + diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_eu_yield_10, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(tightening_eu_yield_day10)
Call:
lm(formula = diff_yield_10 ~ sum_10_day_tightening + diff_euribor_10 +
diff_eur_to_us_10 + diff_sp500_10 + lagged_eu_yield_10, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.43471 -0.03494 -0.00050 0.03322 0.37454
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.840e-06 8.797e-04 0.006 0.996
sum_10_day_tightening -7.186e-04 9.149e-04 -0.786 0.432
diff_euribor_10 1.480e-02 9.982e-03 1.483 0.138
diff_eur_to_us_10 7.344e-02 5.383e-02 1.364 0.172
diff_sp500_10 1.621e-01 2.452e-02 6.612 4.12e-11 ***
lagged_eu_yield_10 8.900e-01 5.883e-03 151.290 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.06032 on 5869 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.8078, Adjusted R-squared: 0.8076
F-statistic: 4932 on 5 and 5869 DF, p-value: < 2.2e-16
tightening_eu_yield_day10_nw <- coeftest(tightening_eu_yield_day10, vcov = NeweyWest(tightening_eu_yield_day10)) #applying robust standard errors
print(tightening_eu_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.8401e-06 9.4040e-04 0.0051 0.9958936
sum_10_day_tightening -7.1865e-04 9.3461e-04 -0.7689 0.4419654
diff_euribor_10 1.4801e-02 1.5088e-02 0.9810 0.3266377
diff_eur_to_us_10 7.3444e-02 7.4055e-02 0.9918 0.3213602
diff_sp500_10 1.6210e-01 4.6336e-02 3.4984 0.0004715 ***
lagged_eu_yield_10 8.9003e-01 6.9444e-03 128.1660 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The effect of loosening announcement on yield
loosening_eu_yield_day1 <- lm(diff_yield_1 ~ sum_1_day_loosening + diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_eu_yield_1, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(loosening_eu_yield_day1)
Call:
lm(formula = diff_yield_1 ~ sum_1_day_loosening + diff_euribor_1 +
diff_eur_to_us_1 + diff_sp500_1 + lagged_eu_yield_1, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.33415 -0.02350 -0.00047 0.02179 0.24283
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0003383 0.0005598 -0.604 0.546
sum_1_day_loosening 0.0004620 0.0107342 0.043 0.966
diff_euribor_1 0.0148186 0.0402010 0.369 0.712
diff_eur_to_us_1 0.0439445 0.1172148 0.375 0.708
diff_sp500_1 0.7960043 0.0470712 16.911 <2e-16 ***
lagged_eu_yield_1 0.0140153 0.0130355 1.075 0.282
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.04287 on 5878 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.04656, Adjusted R-squared: 0.04575
F-statistic: 57.41 on 5 and 5878 DF, p-value: < 2.2e-16
loosening_eu_yield_day1_nw <- coeftest(loosening_eu_yield_day1, vcov = NeweyWest(loosening_eu_yield_day1)) #applying robust standard errors
print(loosening_eu_yield_day1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00033831 0.00054991 -0.6152 0.5384
sum_1_day_loosening 0.00046201 0.01457794 0.0317 0.9747
diff_euribor_1 0.01481860 0.08956999 0.1654 0.8686
diff_eur_to_us_1 0.04394452 0.23249274 0.1890 0.8501
diff_sp500_1 0.79600432 0.09363386 8.5012 <2e-16 ***
lagged_eu_yield_1 0.01401526 0.01731982 0.8092 0.4184
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_yield_day2 <- lm(diff_yield_2 ~ sum_2_day_loosening + diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_eu_yield_2, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(loosening_eu_yield_day2)
Call:
lm(formula = diff_yield_2 ~ sum_2_day_loosening + diff_euribor_2 +
diff_eur_to_us_2 + diff_sp500_2 + lagged_eu_yield_2, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.33271 -0.02913 -0.00126 0.02815 0.27437
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0004793 0.0006844 -0.700 0.4837
sum_2_day_loosening 0.0041195 0.0081964 0.503 0.6153
diff_euribor_2 0.0273610 0.0302905 0.903 0.3664
diff_eur_to_us_2 0.2244783 0.1015701 2.210 0.0271 *
diff_sp500_2 0.7669789 0.0428844 17.885 <2e-16 ***
lagged_eu_yield_2 0.4881902 0.0111959 43.604 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05231 on 5877 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.2926, Adjusted R-squared: 0.292
F-statistic: 486.2 on 5 and 5877 DF, p-value: < 2.2e-16
loosening_eu_yield_day2_nw <- coeftest(loosening_eu_yield_day2, vcov = NeweyWest(loosening_eu_yield_day2)) #applying robust standard errors
print(loosening_eu_yield_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00047934 0.00061264 -0.7824 0.4340
sum_2_day_loosening 0.00411954 0.01289850 0.3194 0.7494
diff_euribor_2 0.02736095 0.04636824 0.5901 0.5552
diff_eur_to_us_2 0.22447829 0.19997206 1.1225 0.2617
diff_sp500_2 0.76697887 0.08297262 9.2438 <2e-16 ***
lagged_eu_yield_2 0.48819023 0.01130332 43.1900 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_yield_day3 <- lm(diff_yield_3 ~ sum_3_day_loosening + diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_eu_yield_3, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(loosening_eu_yield_day3)
Call:
lm(formula = diff_yield_3 ~ sum_3_day_loosening + diff_euribor_3 +
diff_eur_to_us_3 + diff_sp500_3 + lagged_eu_yield_3, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.44000 -0.03111 -0.00165 0.03063 0.32565
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0005177 0.0007312 -0.708 0.47896
sum_3_day_loosening 0.0065567 0.0070081 0.936 0.34953
diff_euribor_3 0.0181377 0.0237888 0.762 0.44582
diff_eur_to_us_3 0.2605771 0.0887606 2.936 0.00334 **
diff_sp500_3 0.6165624 0.0388170 15.884 < 2e-16 ***
lagged_eu_yield_3 0.6471089 0.0097758 66.195 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05578 on 5876 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.4658, Adjusted R-squared: 0.4654
F-statistic: 1025 on 5 and 5876 DF, p-value: < 2.2e-16
loosening_eu_yield_day3_nw <- coeftest(loosening_eu_yield_day3, vcov = NeweyWest(loosening_eu_yield_day3)) #applying robust standard errors
print(loosening_eu_yield_day3_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00051771 0.00069654 -0.7433 0.45736
sum_3_day_loosening 0.00655670 0.01331565 0.4924 0.62245
diff_euribor_3 0.01813775 0.03958269 0.4582 0.64681
diff_eur_to_us_3 0.26057709 0.15278707 1.7055 0.08816 .
diff_sp500_3 0.61656237 0.07670547 8.0380 1.095e-15 ***
lagged_eu_yield_3 0.64710891 0.01176911 54.9837 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_yield_day4 <- lm(diff_yield_4 ~ sum_4_day_loosening + diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_eu_yield_4, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(loosening_eu_yield_day4)
Call:
lm(formula = diff_yield_4 ~ sum_4_day_loosening + diff_euribor_4 +
diff_eur_to_us_4 + diff_sp500_4 + lagged_eu_yield_4, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.3763 -0.0313 -0.0015 0.0304 0.4195
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0006706 0.0007489 -0.896 0.37054
sum_4_day_loosening 0.0136431 0.0060879 2.241 0.02506 *
diff_euribor_4 0.0238617 0.0194292 1.228 0.21945
diff_eur_to_us_4 0.2121727 0.0792634 2.677 0.00745 **
diff_sp500_4 0.4439133 0.0347740 12.766 < 2e-16 ***
lagged_eu_yield_4 0.7356667 0.0087053 84.508 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.057 on 5875 degrees of freedom
(5 observations deleted due to missingness)
Multiple R-squared: 0.5782, Adjusted R-squared: 0.5778
F-statistic: 1611 on 5 and 5875 DF, p-value: < 2.2e-16
loosening_eu_yield_day4_nw <- coeftest(loosening_eu_yield_day4, vcov = NeweyWest(loosening_eu_yield_day4)) #applying robust standard errors
print(loosening_eu_yield_day4_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00067062 0.00071061 -0.9437 0.3454
sum_4_day_loosening 0.01364315 0.01224744 1.1140 0.2653
diff_euribor_4 0.02386167 0.03327753 0.7171 0.4734
diff_eur_to_us_4 0.21217271 0.12897644 1.6451 0.1000
diff_sp500_4 0.44391328 0.06859618 6.4714 1.05e-10 ***
lagged_eu_yield_4 0.73566665 0.01047071 70.2594 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_yield_day5 <- lm(diff_yield_5 ~ sum_5_day_loosening + diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_eu_yield_5, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(loosening_eu_yield_day5)
Call:
lm(formula = diff_yield_5 ~ sum_5_day_loosening + diff_euribor_5 +
diff_eur_to_us_5 + diff_sp500_5 + lagged_eu_yield_5, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.32435 -0.03170 -0.00027 0.03181 0.36551
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0009111 0.0007566 -1.204 0.22860
sum_5_day_loosening 0.0166194 0.0053687 3.096 0.00197 **
diff_euribor_5 0.0144161 0.0164473 0.877 0.38079
diff_eur_to_us_5 0.2412532 0.0717666 3.362 0.00078 ***
diff_sp500_5 0.3877807 0.0316519 12.251 < 2e-16 ***
lagged_eu_yield_5 0.7901234 0.0078605 100.519 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.05744 on 5874 degrees of freedom
(6 observations deleted due to missingness)
Multiple R-squared: 0.6562, Adjusted R-squared: 0.6559
F-statistic: 2242 on 5 and 5874 DF, p-value: < 2.2e-16
loosening_eu_yield_day5_nw <- coeftest(loosening_eu_yield_day5, vcov = NeweyWest(loosening_eu_yield_day5)) #applying robust standard errors
print(loosening_eu_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00091105 0.00082766 -1.1008 0.27105
sum_5_day_loosening 0.01661943 0.01189839 1.3968 0.16253
diff_euribor_5 0.01441607 0.03048772 0.4728 0.63634
diff_eur_to_us_5 0.24125325 0.10734903 2.2474 0.02465 *
diff_sp500_5 0.38778066 0.05901613 6.5708 5.437e-11 ***
lagged_eu_yield_5 0.79012335 0.00994026 79.4872 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_yield_day10 <- lm(diff_yield_10 ~ sum_10_day_loosening + diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_eu_yield_10, data = direction_yield_eu_wo_uk)
# Summary of the model
summary(loosening_eu_yield_day10)
Call:
lm(formula = diff_yield_10 ~ sum_10_day_loosening + diff_euribor_10 +
diff_eur_to_us_10 + diff_sp500_10 + lagged_eu_yield_10, data = direction_yield_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.43355 -0.03510 -0.00088 0.03343 0.36472
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0009598 0.0008031 -1.195 0.232
sum_10_day_loosening 0.0163160 0.0039117 4.171 3.08e-05 ***
diff_euribor_10 0.0143632 0.0099669 1.441 0.150
diff_eur_to_us_10 0.0674437 0.0537621 1.254 0.210
diff_sp500_10 0.1721570 0.0246022 6.998 2.89e-12 ***
lagged_eu_yield_10 0.8897769 0.0058742 151.472 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.06023 on 5869 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.8083, Adjusted R-squared: 0.8081
F-statistic: 4949 on 5 and 5869 DF, p-value: < 2.2e-16
loosening_eu_yield_day10_nw <- coeftest(loosening_eu_yield_day10, vcov = NeweyWest(loosening_eu_yield_day10)) #applying robust standard errors
print(loosening_eu_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00095977 0.00077923 -1.2317 0.21812
sum_10_day_loosening 0.01631601 0.00839068 1.9445 0.05188 .
diff_euribor_10 0.01436315 0.01471766 0.9759 0.32915
diff_eur_to_us_10 0.06744365 0.07520274 0.8968 0.36985
diff_sp500_10 0.17215702 0.03980620 4.3249 1.551e-05 ***
lagged_eu_yield_10 0.88977686 0.00642328 138.5237 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The effect of DIRECTION on STOXX
direction_stoxx_eu <- read.xlsx("direction_stoxx.xlsx", sheet = "Sheet2")
head(direction_stoxx_eu)
A data.frame: 6 × 9
|
|
date
|
country
|
direction
|
tightening
|
loosening
|
stoxx
|
euribor
|
eur_to_us
|
sp500
|
|
|
<dbl>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
36923
|
0
|
0
|
0
|
0
|
358.621
|
4.714
|
1.06349
|
1373.47
|
|
2
|
36924
|
DE
|
1
|
0
|
0
|
356.860
|
4.724
|
1.07135
|
1349.47
|
|
3
|
36927
|
0
|
0
|
0
|
0
|
356.554
|
4.728
|
1.06383
|
1354.31
|
|
4
|
36928
|
0
|
0
|
0
|
0
|
358.603
|
4.725
|
1.07354
|
1352.26
|
|
5
|
36929
|
0
|
0
|
0
|
0
|
354.234
|
4.727
|
1.07227
|
1340.89
|
|
6
|
36930
|
0
|
0
|
0
|
0
|
354.998
|
4.731
|
1.08849
|
1332.53
|
direction_stoxx_eu$date <- as.Date(direction_stoxx_eu$date, origin = "1899-12-30")
# Check the results
head(direction_stoxx_eu)
A data.frame: 6 × 9
|
|
date
|
country
|
direction
|
tightening
|
loosening
|
stoxx
|
euribor
|
eur_to_us
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-01
|
0
|
0
|
0
|
0
|
358.621
|
4.714
|
1.06349
|
1373.47
|
|
2
|
2001-02-02
|
DE
|
1
|
0
|
0
|
356.860
|
4.724
|
1.07135
|
1349.47
|
|
3
|
2001-02-05
|
0
|
0
|
0
|
0
|
356.554
|
4.728
|
1.06383
|
1354.31
|
|
4
|
2001-02-06
|
0
|
0
|
0
|
0
|
358.603
|
4.725
|
1.07354
|
1352.26
|
|
5
|
2001-02-07
|
0
|
0
|
0
|
0
|
354.234
|
4.727
|
1.07227
|
1340.89
|
|
6
|
2001-02-08
|
0
|
0
|
0
|
0
|
354.998
|
4.731
|
1.08849
|
1332.53
|
direction_stoxx_eu$log_sp500 <- log(direction_stoxx_eu$sp500)
direction_stoxx_eu$log_stoxx <- log(direction_stoxx_eu$stoxx)
direction_stoxx_eu <- direction_stoxx_eu[order(direction_stoxx_eu$date), ]
direction_stoxx_eu$lagged_stoxx <- c(NA, direction_stoxx_eu$log_stoxx[-nrow(direction_stoxx_eu)])
direction_stoxx_eu$lagged_euribor <- c(NA, direction_stoxx_eu$euribor[-nrow(direction_stoxx_eu)])
direction_stoxx_eu$lagged_eur_to_us <- c(NA, direction_stoxx_eu$eur_to_us[-nrow(direction_stoxx_eu)])
direction_stoxx_eu$lagged_sp500 <- c(NA, direction_stoxx_eu$log_sp500[-nrow(direction_stoxx_eu)])
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(
diff_stoxx_1 = c(rep(NA, 1), diff(log_stoxx, lag = 1)),
diff_stoxx_2 = c(rep(NA, 2), diff(log_stoxx, lag = 2)),
diff_stoxx_3 = c(rep(NA, 3), diff(log_stoxx, lag = 3)),
diff_stoxx_4 = c(rep(NA, 4), diff(log_stoxx, lag = 4)),
diff_stoxx_5 = c(rep(NA, 5), diff(log_stoxx, lag = 5)),
diff_stoxx_10 = c(rep(NA, 10), diff(log_stoxx, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_eur_to_us_1 = c(rep(NA, 1), diff(eur_to_us, lag = 1)),
diff_eur_to_us_2 = c(rep(NA, 2), diff(eur_to_us, lag = 2)),
diff_eur_to_us_3 = c(rep(NA, 3), diff(eur_to_us, lag = 3)),
diff_eur_to_us_4 = c(rep(NA, 4), diff(eur_to_us, lag = 4)),
diff_eur_to_us_5 = c(rep(NA, 5), diff(eur_to_us, lag = 5)),
diff_eur_to_us_10 = c(rep(NA, 10), diff(eur_to_us, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
direction_stoxx_eu <- direction_stoxx_eu %>%
group_by(date) %>%
mutate(sum_direction = sum(direction)) %>%
ungroup()
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_1_day_tightening = rollapply(tightening, width = 1, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_2_day_tightening = rollapply(tightening, width = 2, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_3_day_tightening = rollapply(tightening, width = 3, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_4_day_tightening = rollapply(tightening, width = 4, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_5_day_tightening = rollapply(tightening, width = 5, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_10_day_tightening = rollapply(tightening, width = 10, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_1_day_loosening = rollapply(loosening, width = 1, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_2_day_loosening = rollapply(loosening, width = 2, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_3_day_loosening = rollapply(loosening, width = 3, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_4_day_loosening = rollapply(loosening, width = 4, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_5_day_loosening = rollapply(loosening, width = 5, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu <- direction_stoxx_eu %>%
arrange(date) %>%
mutate(sum_10_day_loosening = rollapply(loosening, width = 10, FUN = sum, fill = NA, align = 'right'))
direction_stoxx_eu$lagged_stoxx_1 <- c(NA, direction_stoxx_eu$diff_stoxx_1[-nrow(direction_stoxx_eu)])
direction_stoxx_eu$lagged_stoxx_2 <- c(NA, direction_stoxx_eu$diff_stoxx_2[-nrow(direction_stoxx_eu)])
direction_stoxx_eu$lagged_stoxx_3 <- c(NA, direction_stoxx_eu$diff_stoxx_3[-nrow(direction_stoxx_eu)])
direction_stoxx_eu$lagged_stoxx_4 <- c(NA, direction_stoxx_eu$diff_stoxx_4[-nrow(direction_stoxx_eu)])
direction_stoxx_eu$lagged_stoxx_5 <- c(NA, direction_stoxx_eu$diff_stoxx_5[-nrow(direction_stoxx_eu)])
direction_stoxx_eu$lagged_stoxx_10 <- c(NA, direction_stoxx_eu$diff_stoxx_10[-nrow(direction_stoxx_eu)])
The whole EUROPE. Tightening and loosening together
direction_stoxx_eu_wo_uk <- direction_stoxx_eu %>%
filter(country != "UK")
direction_eu_stoxx_day1 <- lm(diff_stoxx_1 ~ sum_1_day_tightening + sum_1_day_loosening + diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_stoxx_1, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(direction_eu_stoxx_day1)
Call:
lm(formula = diff_stoxx_1 ~ sum_1_day_tightening + sum_1_day_loosening +
diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_stoxx_1,
data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.073099 -0.004235 0.000121 0.004497 0.078049
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.325e-05 1.256e-04 -0.344 0.730534
sum_1_day_tightening -1.837e-04 6.871e-04 -0.267 0.789207
sum_1_day_loosening -9.763e-03 2.370e-03 -4.120 3.84e-05 ***
diff_euribor_1 1.670e-02 8.723e-03 1.915 0.055532 .
diff_eur_to_us_1 1.007e-01 2.587e-02 3.891 0.000101 ***
diff_sp500_1 5.843e-01 1.040e-02 56.178 < 2e-16 ***
lagged_stoxx_1 2.549e-02 1.055e-02 2.417 0.015696 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.009456 on 5877 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.3514, Adjusted R-squared: 0.3507
F-statistic: 530.6 on 6 and 5877 DF, p-value: < 2.2e-16
direction_eu_stoxx_day1_nw <- coeftest(direction_eu_stoxx_day1, vcov = NeweyWest(direction_eu_stoxx_day1)) #applying robust standard errors
print(direction_eu_stoxx_day1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.3252e-05 8.5248e-05 -0.5074 0.61192
sum_1_day_tightening -1.8368e-04 6.1173e-04 -0.3003 0.76398
sum_1_day_loosening -9.7632e-03 5.7854e-03 -1.6876 0.09155 .
diff_euribor_1 1.6705e-02 9.6280e-03 1.7350 0.08279 .
diff_eur_to_us_1 1.0066e-01 5.2833e-02 1.9053 0.05679 .
diff_sp500_1 5.8426e-01 1.5659e-02 37.3122 < 2e-16 ***
lagged_stoxx_1 2.5493e-02 1.7196e-02 1.4825 0.13827
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_stoxx_day2 <- lm(diff_stoxx_2 ~ sum_2_day_tightening + sum_2_day_loosening + diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_stoxx_2, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(direction_eu_stoxx_day2)
Call:
lm(formula = diff_stoxx_2 ~ sum_2_day_tightening + sum_2_day_loosening +
diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_stoxx_2,
data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.071632 -0.005094 -0.000155 0.005075 0.074064
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.485e-04 1.382e-04 -1.075 0.283
sum_2_day_tightening 4.328e-06 4.681e-04 0.009 0.993
sum_2_day_loosening -6.482e-03 1.606e-03 -4.037 5.48e-05 ***
diff_euribor_2 9.126e-03 5.838e-03 1.563 0.118
diff_eur_to_us_2 1.829e-01 1.986e-02 9.212 < 2e-16 ***
diff_sp500_2 6.587e-01 8.632e-03 76.312 < 2e-16 ***
lagged_stoxx_2 3.259e-01 8.394e-03 38.822 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01023 on 5876 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.6166, Adjusted R-squared: 0.6163
F-statistic: 1575 on 6 and 5876 DF, p-value: < 2.2e-16
direction_eu_stoxx_day2_nw <- coeftest(direction_eu_stoxx_day2, vcov = NeweyWest(direction_eu_stoxx_day2)) #applying robust standard errors
print(direction_eu_stoxx_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.4852e-04 1.0185e-04 -1.4582 0.14484
sum_2_day_tightening 4.3280e-06 4.3756e-04 0.0099 0.99211
sum_2_day_loosening -6.4823e-03 3.3497e-03 -1.9352 0.05302 .
diff_euribor_2 9.1262e-03 8.3853e-03 1.0884 0.27648
diff_eur_to_us_2 1.8295e-01 3.7404e-02 4.8911 1.029e-06 ***
diff_sp500_2 6.5871e-01 1.7264e-02 38.1561 < 2.2e-16 ***
lagged_stoxx_2 3.2588e-01 1.0366e-02 31.4379 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_stoxx_day3 <- lm(diff_stoxx_3 ~ sum_3_day_tightening + sum_3_day_loosening + diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_stoxx_3, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(direction_eu_stoxx_day3)
Call:
lm(formula = diff_stoxx_3 ~ sum_3_day_tightening + sum_3_day_loosening +
diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_stoxx_3,
data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.072323 -0.005498 -0.000091 0.005446 0.078681
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0002517 0.0001490 -1.689 0.091231 .
sum_3_day_tightening 0.0001843 0.0003786 0.487 0.626450
sum_3_day_loosening -0.0051944 0.0013688 -3.795 0.000149 ***
diff_euribor_3 0.0070053 0.0045673 1.534 0.125133
diff_eur_to_us_3 0.1952051 0.0172971 11.285 < 2e-16 ***
diff_sp500_3 0.6331584 0.0084407 75.012 < 2e-16 ***
lagged_stoxx_3 0.3730865 0.0079908 46.690 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01086 on 5875 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.7057, Adjusted R-squared: 0.7054
F-statistic: 2348 on 6 and 5875 DF, p-value: < 2.2e-16
direction_eu_stoxx_day3_nw <- coeftest(direction_eu_stoxx_day3, vcov = NeweyWest(direction_eu_stoxx_day3)) #applying robust standard errors
print(direction_eu_stoxx_day3_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00025168 0.00013032 -1.9312 0.05351 .
sum_3_day_tightening 0.00018429 0.00034068 0.5409 0.58857
sum_3_day_loosening -0.00519438 0.00253789 -2.0467 0.04073 *
diff_euribor_3 0.00700532 0.00532864 1.3147 0.18868
diff_eur_to_us_3 0.19520505 0.03230562 6.0424 1.611e-09 ***
diff_sp500_3 0.63315840 0.01693142 37.3955 < 2.2e-16 ***
lagged_stoxx_3 0.37308649 0.01400205 26.6451 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_stoxx_day4 <- lm(diff_stoxx_4 ~ sum_4_day_tightening + sum_4_day_loosening + diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_stoxx_4, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(direction_eu_stoxx_day4)
Call:
lm(formula = diff_stoxx_4 ~ sum_4_day_tightening + sum_4_day_loosening +
diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_stoxx_4,
data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.069552 -0.005860 -0.000021 0.005725 0.086875
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0003341 0.0001552 -2.153 0.031363 *
sum_4_day_tightening 0.0004180 0.0003215 1.300 0.193697
sum_4_day_loosening -0.0044176 0.0011979 -3.688 0.000228 ***
diff_euribor_4 0.0058749 0.0037524 1.566 0.117484
diff_eur_to_us_4 0.2003655 0.0155820 12.859 < 2e-16 ***
diff_sp500_4 0.5883312 0.0081930 71.809 < 2e-16 ***
lagged_stoxx_4 0.4259672 0.0077884 54.693 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01116 on 5874 degrees of freedom
(5 observations deleted due to missingness)
Multiple R-squared: 0.7631, Adjusted R-squared: 0.7629
F-statistic: 3154 on 6 and 5874 DF, p-value: < 2.2e-16
direction_eu_stoxx_day4_nw <- coeftest(direction_eu_stoxx_day4, vcov = NeweyWest(direction_eu_stoxx_day4)) #applying robust standard errors
print(direction_eu_stoxx_day4_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00033414 0.00015218 -2.1957 0.02815 *
sum_4_day_tightening 0.00041796 0.00032792 1.2746 0.20251
sum_4_day_loosening -0.00441761 0.00216323 -2.0421 0.04118 *
diff_euribor_4 0.00587492 0.00450839 1.3031 0.19259
diff_eur_to_us_4 0.20036548 0.03091988 6.4802 9.909e-11 ***
diff_sp500_4 0.58833124 0.01563858 37.6205 < 2.2e-16 ***
lagged_stoxx_4 0.42596723 0.01239960 34.3533 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_stoxx_day5 <- lm(diff_stoxx_5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_stoxx_5, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(direction_eu_stoxx_day5)
Call:
lm(formula = diff_stoxx_5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_stoxx_5,
data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.086120 -0.006004 0.000029 0.005899 0.082548
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0004401 0.0001660 -2.652 0.00803 **
sum_5_day_tightening 0.0005000 0.0002937 1.702 0.08876 .
sum_5_day_loosening -0.0035279 0.0011074 -3.186 0.00145 **
diff_euribor_5 0.0036150 0.0033254 1.087 0.27704
diff_eur_to_us_5 0.2077374 0.0148204 14.017 < 2e-16 ***
diff_sp500_5 0.5690716 0.0082431 69.036 < 2e-16 ***
lagged_stoxx_5 0.4467456 0.0077864 57.375 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01178 on 5873 degrees of freedom
(6 observations deleted due to missingness)
Multiple R-squared: 0.7878, Adjusted R-squared: 0.7876
F-statistic: 3634 on 6 and 5873 DF, p-value: < 2.2e-16
direction_eu_stoxx_day5_nw <- coeftest(direction_eu_stoxx_day5, vcov = NeweyWest(direction_eu_stoxx_day5)) #applying robust standard errors
print(direction_eu_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00044012 0.00018707 -2.3527 0.01867 *
sum_5_day_tightening 0.00049998 0.00030192 1.6560 0.09778 .
sum_5_day_loosening -0.00352791 0.00204774 -1.7228 0.08497 .
diff_euribor_5 0.00361501 0.00491788 0.7351 0.46232
diff_eur_to_us_5 0.20773744 0.02789259 7.4478 1.086e-13 ***
diff_sp500_5 0.56907164 0.01821690 31.2387 < 2.2e-16 ***
lagged_stoxx_5 0.44674562 0.01725929 25.8844 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
direction_eu_stoxx_day10 <- lm(diff_stoxx_10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_stoxx_10, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(direction_eu_stoxx_day10)
Call:
lm(formula = diff_stoxx_10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_stoxx_10,
data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.078105 -0.006998 -0.000024 0.006817 0.111356
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0006279 0.0001887 -3.328 0.000881 ***
sum_10_day_tightening 0.0001369 0.0001956 0.700 0.484182
sum_10_day_loosening -0.0020310 0.0008413 -2.414 0.015803 *
diff_euribor_10 0.0016350 0.0020853 0.784 0.433016
diff_eur_to_us_10 0.1823274 0.0116734 15.619 < 2e-16 ***
diff_sp500_10 0.4703944 0.0078520 59.907 < 2e-16 ***
lagged_stoxx_10 0.5568918 0.0072790 76.507 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01282 on 5868 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.8671, Adjusted R-squared: 0.867
F-statistic: 6383 on 6 and 5868 DF, p-value: < 2.2e-16
direction_eu_stoxx_day10_nw <- coeftest(direction_eu_stoxx_day10, vcov = NeweyWest(direction_eu_stoxx_day10)) #applying robust standard errors
print(direction_eu_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00062792 0.00027646 -2.2713 0.02316 *
sum_10_day_tightening 0.00013686 0.00027260 0.5020 0.61566
sum_10_day_loosening -0.00203095 0.00148755 -1.3653 0.17221
diff_euribor_10 0.00163504 0.00341593 0.4787 0.63220
diff_eur_to_us_10 0.18232745 0.02220499 8.2111 2.671e-16 ***
diff_sp500_10 0.47039439 0.02052307 22.9203 < 2.2e-16 ***
lagged_stoxx_10 0.55689183 0.01902253 29.2754 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The effect of tightening on STOXX
tightening_eu_stoxx_day1 <- lm(diff_stoxx_1 ~ sum_1_day_tightening + diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_stoxx_1, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(tightening_eu_stoxx_day1)
Call:
lm(formula = diff_stoxx_1 ~ sum_1_day_tightening + diff_euribor_1 +
diff_eur_to_us_1 + diff_sp500_1 + lagged_stoxx_1, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.073009 -0.004211 0.000133 0.004480 0.078042
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.096e-05 1.256e-04 -0.565 0.57202
sum_1_day_tightening -1.555e-04 6.879e-04 -0.226 0.82124
diff_euribor_1 1.634e-02 8.734e-03 1.870 0.06148 .
diff_eur_to_us_1 1.012e-01 2.590e-02 3.906 9.5e-05 ***
diff_sp500_1 5.849e-01 1.041e-02 56.173 < 2e-16 ***
lagged_stoxx_1 2.735e-02 1.055e-02 2.591 0.00959 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.009468 on 5878 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.3495, Adjusted R-squared: 0.349
F-statistic: 631.7 on 5 and 5878 DF, p-value: < 2.2e-16
tightening_eu_stoxx_day1_nw <- coeftest(tightening_eu_stoxx_day1, vcov = NeweyWest(tightening_eu_stoxx_day1)) #applying robust standard errors
print(tightening_eu_stoxx_day1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.0958e-05 9.3911e-05 -0.7556 0.44992
sum_1_day_tightening -1.5545e-04 6.0488e-04 -0.2570 0.79719
diff_euribor_1 1.6336e-02 1.0613e-02 1.5392 0.12380
diff_eur_to_us_1 1.0117e-01 4.5490e-02 2.2241 0.02618 *
diff_sp500_1 5.8493e-01 1.7633e-02 33.1730 < 2e-16 ***
lagged_stoxx_1 2.7348e-02 1.7100e-02 1.5993 0.10980
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_stoxx_day2 <- lm(diff_stoxx_2 ~ sum_2_day_tightening + diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_stoxx_2, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(tightening_eu_stoxx_day2)
Call:
lm(formula = diff_stoxx_2 ~ sum_2_day_tightening + diff_euribor_2 +
diff_eur_to_us_2 + diff_sp500_2 + lagged_stoxx_2, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.071547 -0.005084 -0.000167 0.005066 0.074137
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.895e-04 1.380e-04 -1.373 0.170
sum_2_day_tightening -2.412e-05 4.686e-04 -0.051 0.959
diff_euribor_2 8.916e-03 5.845e-03 1.525 0.127
diff_eur_to_us_2 1.825e-01 1.988e-02 9.180 <2e-16 ***
diff_sp500_2 6.586e-01 8.643e-03 76.204 <2e-16 ***
lagged_stoxx_2 3.279e-01 8.391e-03 39.076 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01024 on 5877 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.6156, Adjusted R-squared: 0.6153
F-statistic: 1882 on 5 and 5877 DF, p-value: < 2.2e-16
tightening_eu_stoxx_day2_nw <- coeftest(tightening_eu_stoxx_day2, vcov = NeweyWest(tightening_eu_stoxx_day2)) #applying robust standard errors
print(tightening_eu_stoxx_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.8951e-04 9.5069e-05 -1.9934 0.04626 *
sum_2_day_tightening -2.4122e-05 4.3008e-04 -0.0561 0.95527
diff_euribor_2 8.9157e-03 8.1429e-03 1.0949 0.27360
diff_eur_to_us_2 1.8254e-01 4.0933e-02 4.4594 8.373e-06 ***
diff_sp500_2 6.5864e-01 1.8885e-02 34.8769 < 2.2e-16 ***
lagged_stoxx_2 3.2788e-01 1.1180e-02 29.3272 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_stoxx_day3 <- lm(diff_stoxx_3 ~ sum_3_day_tightening + diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_stoxx_3, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(tightening_eu_stoxx_day3)
Call:
lm(formula = diff_stoxx_3 ~ sum_3_day_tightening + diff_euribor_3 +
diff_eur_to_us_3 + diff_sp500_3 + lagged_stoxx_3, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.072450 -0.005476 -0.000070 0.005462 0.078758
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0002973 0.0001487 -2.000 0.0456 *
sum_3_day_tightening 0.0001211 0.0003787 0.320 0.7490
diff_euribor_3 0.0068299 0.0045723 1.494 0.1353
diff_eur_to_us_3 0.1946935 0.0173163 11.243 <2e-16 ***
diff_sp500_3 0.6328623 0.0084500 74.895 <2e-16 ***
lagged_stoxx_3 0.3751817 0.0079808 47.011 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01087 on 5876 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.705, Adjusted R-squared: 0.7047
F-statistic: 2808 on 5 and 5876 DF, p-value: < 2.2e-16
tightening_eu_stoxx_day3_nw <- coeftest(tightening_eu_stoxx_day3, vcov = NeweyWest(tightening_eu_stoxx_day3)) #applying robust standard errors
print(tightening_eu_stoxx_day3_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00029733 0.00012509 -2.3770 0.01749 *
sum_3_day_tightening 0.00012115 0.00033454 0.3621 0.71727
diff_euribor_3 0.00682988 0.00510886 1.3369 0.18132
diff_eur_to_us_3 0.19469345 0.03430103 5.6760 1.445e-08 ***
diff_sp500_3 0.63286229 0.01794716 35.2625 < 2.2e-16 ***
lagged_stoxx_3 0.37518171 0.01445112 25.9621 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_stoxx_day4 <- lm(diff_stoxx_4 ~ sum_4_day_tightening + diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_stoxx_4, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(tightening_eu_stoxx_day4)
Call:
lm(formula = diff_stoxx_4 ~ sum_4_day_tightening + diff_euribor_4 +
diff_eur_to_us_4 + diff_sp500_4 + lagged_stoxx_4, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.073755 -0.005844 -0.000004 0.005760 0.087037
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0003848 0.0001548 -2.487 0.0129 *
sum_4_day_tightening 0.0003453 0.0003213 1.075 0.2826
diff_euribor_4 0.0057022 0.0037561 1.518 0.1290
diff_eur_to_us_4 0.1989546 0.0155940 12.758 <2e-16 ***
diff_sp500_4 0.5878137 0.0082006 71.679 <2e-16 ***
lagged_stoxx_4 0.4284020 0.0077687 55.145 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01117 on 5875 degrees of freedom
(5 observations deleted due to missingness)
Multiple R-squared: 0.7626, Adjusted R-squared: 0.7624
F-statistic: 3773 on 5 and 5875 DF, p-value: < 2.2e-16
tightening_eu_stoxx_day4_nw <- coeftest(tightening_eu_stoxx_day4, vcov = NeweyWest(tightening_eu_stoxx_day4)) #applying robust standard errors
print(tightening_eu_stoxx_day4_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00038480 0.00014914 -2.5802 0.009899 **
sum_4_day_tightening 0.00034528 0.00032207 1.0721 0.283737
diff_euribor_4 0.00570220 0.00445531 1.2799 0.200643
diff_eur_to_us_4 0.19895459 0.03052717 6.5173 7.755e-11 ***
diff_sp500_4 0.58781370 0.01565119 37.5571 < 2.2e-16 ***
lagged_stoxx_4 0.42840197 0.01228072 34.8841 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_stoxx_day5 <- lm(diff_stoxx_5 ~ sum_5_day_tightening + diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_stoxx_5, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(tightening_eu_stoxx_day5)
Call:
lm(formula = diff_stoxx_5 ~ sum_5_day_tightening + diff_euribor_5 +
diff_eur_to_us_5 + diff_sp500_5 + lagged_stoxx_5, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.085988 -0.006008 0.000013 0.005941 0.082697
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0004928 0.0001653 -2.982 0.00288 **
sum_5_day_tightening 0.0004367 0.0002933 1.489 0.13648
diff_euribor_5 0.0034699 0.0033277 1.043 0.29711
diff_eur_to_us_5 0.2062671 0.0148248 13.914 < 2e-16 ***
diff_sp500_5 0.5687930 0.0082491 68.952 < 2e-16 ***
lagged_stoxx_5 0.4489532 0.0077616 57.843 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01178 on 5874 degrees of freedom
(6 observations deleted due to missingness)
Multiple R-squared: 0.7874, Adjusted R-squared: 0.7873
F-statistic: 4352 on 5 and 5874 DF, p-value: < 2.2e-16
tightening_eu_stoxx_day5_nw <- coeftest(tightening_eu_stoxx_day5, vcov = NeweyWest(tightening_eu_stoxx_day5)) #applying robust standard errors
print(tightening_eu_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00049280 0.00018023 -2.7343 0.00627 **
sum_5_day_tightening 0.00043674 0.00029555 1.4777 0.13954
diff_euribor_5 0.00346989 0.00488990 0.7096 0.47798
diff_eur_to_us_5 0.20626705 0.02833332 7.2800 3.776e-13 ***
diff_sp500_5 0.56879302 0.01891393 30.0727 < 2.2e-16 ***
lagged_stoxx_5 0.44895317 0.01855021 24.2021 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tightening_eu_stoxx_day10 <- lm(diff_stoxx_10 ~ sum_10_day_tightening + diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_stoxx_10, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(tightening_eu_stoxx_day10)
Call:
lm(formula = diff_stoxx_10 ~ sum_10_day_tightening + diff_euribor_10 +
diff_eur_to_us_10 + diff_sp500_10 + lagged_stoxx_10, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.077915 -0.006975 -0.000027 0.006852 0.109572
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -6.864e-04 1.872e-04 -3.666 0.000248 ***
sum_10_day_tightening 8.606e-05 1.946e-04 0.442 0.658263
diff_euribor_10 1.558e-03 2.086e-03 0.747 0.455143
diff_eur_to_us_10 1.809e-01 1.166e-02 15.510 < 2e-16 ***
diff_sp500_10 4.703e-01 7.855e-03 59.875 < 2e-16 ***
lagged_stoxx_10 5.585e-01 7.250e-03 77.038 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01283 on 5869 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.867, Adjusted R-squared: 0.8669
F-statistic: 7652 on 5 and 5869 DF, p-value: < 2.2e-16
tightening_eu_stoxx_day10_nw <- coeftest(tightening_eu_stoxx_day10, vcov = NeweyWest(tightening_eu_stoxx_day10)) #applying robust standard errors
print(tightening_eu_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -6.8637e-04 2.7674e-04 -2.4802 0.01316 *
sum_10_day_tightening 8.6059e-05 2.7155e-04 0.3169 0.75132
diff_euribor_10 1.5580e-03 3.4024e-03 0.4579 0.64704
diff_eur_to_us_10 1.8090e-01 2.1843e-02 8.2821 < 2e-16 ***
diff_sp500_10 4.7033e-01 2.0661e-02 22.7645 < 2e-16 ***
lagged_stoxx_10 5.5853e-01 1.9243e-02 29.0251 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The effect of loosening on STOXX
loosening_eu_stoxx_day1 <- lm(diff_stoxx_1 ~ sum_1_day_loosening + diff_euribor_1 + diff_eur_to_us_1 + diff_sp500_1 + lagged_stoxx_1, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(loosening_eu_stoxx_day1)
Call:
lm(formula = diff_stoxx_1 ~ sum_1_day_loosening + diff_euribor_1 +
diff_eur_to_us_1 + diff_sp500_1 + lagged_stoxx_1, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.073093 -0.004240 0.000106 0.004490 0.078052
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.939e-05 1.234e-04 -0.400 0.689121
sum_1_day_loosening -9.757e-03 2.369e-03 -4.118 3.88e-05 ***
diff_euribor_1 1.668e-02 8.722e-03 1.912 0.055903 .
diff_eur_to_us_1 1.006e-01 2.587e-02 3.890 0.000101 ***
diff_sp500_1 5.842e-01 1.040e-02 56.182 < 2e-16 ***
lagged_stoxx_1 2.551e-02 1.055e-02 2.419 0.015611 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.009455 on 5878 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.3514, Adjusted R-squared: 0.3508
F-statistic: 636.9 on 5 and 5878 DF, p-value: < 2.2e-16
loosening_eu_stoxx_day1_nw <- coeftest(loosening_eu_stoxx_day1, vcov = NeweyWest(loosening_eu_stoxx_day1)) #applying robust standard errors
print(loosening_eu_stoxx_day1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.9388e-05 9.0274e-05 -0.5471 0.58434
sum_1_day_loosening -9.7569e-03 5.9378e-03 -1.6432 0.10040
diff_euribor_1 1.6677e-02 1.0575e-02 1.5770 0.11486
diff_eur_to_us_1 1.0063e-01 4.5441e-02 2.2145 0.02683 *
diff_sp500_1 5.8425e-01 1.7473e-02 33.4374 < 2e-16 ***
lagged_stoxx_1 2.5511e-02 1.6573e-02 1.5393 0.12378
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_stoxx_day2 <- lm(diff_stoxx_2 ~ sum_2_day_loosening + diff_euribor_2 + diff_eur_to_us_2 + diff_sp500_2 + lagged_stoxx_2, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(loosening_eu_stoxx_day2)
Call:
lm(formula = diff_stoxx_2 ~ sum_2_day_loosening + diff_euribor_2 +
diff_eur_to_us_2 + diff_sp500_2 + lagged_stoxx_2, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.071632 -0.005093 -0.000155 0.005075 0.074063
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0001482 0.0001338 -1.107 0.268
sum_2_day_loosening -0.0064821 0.0016054 -4.038 5.47e-05 ***
diff_euribor_2 0.0091266 0.0058373 1.564 0.118
diff_eur_to_us_2 0.1829450 0.0198571 9.213 < 2e-16 ***
diff_sp500_2 0.6587125 0.0086309 76.320 < 2e-16 ***
lagged_stoxx_2 0.3258838 0.0083937 38.825 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01023 on 5877 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.6166, Adjusted R-squared: 0.6163
F-statistic: 1891 on 5 and 5877 DF, p-value: < 2.2e-16
loosening_eu_stoxx_day2_nw <- coeftest(loosening_eu_stoxx_day2, vcov = NeweyWest(loosening_eu_stoxx_day2)) #applying robust standard errors
print(loosening_eu_stoxx_day2_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00014820 0.00010303 -1.4384 0.15036
sum_2_day_loosening -0.00648205 0.00333819 -1.9418 0.05221 .
diff_euribor_2 0.00912663 0.00865248 1.0548 0.29156
diff_eur_to_us_2 0.18294500 0.03442900 5.3137 1.114e-07 ***
diff_sp500_2 0.65871246 0.01638140 40.2110 < 2.2e-16 ***
lagged_stoxx_2 0.32588380 0.01077615 30.2412 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_stoxx_day3 <- lm(diff_stoxx_3 ~ sum_3_day_loosening + diff_euribor_3 + diff_eur_to_us_3 + diff_sp500_3 + lagged_stoxx_3, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(loosening_eu_stoxx_day3)
Call:
lm(formula = diff_stoxx_3 ~ sum_3_day_loosening + diff_euribor_3 +
diff_eur_to_us_3 + diff_sp500_3 + lagged_stoxx_3, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.072343 -0.005505 -0.000067 0.005465 0.078660
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0002302 0.0001423 -1.618 0.10577
sum_3_day_loosening -0.0051651 0.0013674 -3.777 0.00016 ***
diff_euribor_3 0.0070189 0.0045669 1.537 0.12437
diff_eur_to_us_3 0.1951148 0.0172950 11.282 < 2e-16 ***
diff_sp500_3 0.6331475 0.0084401 75.016 < 2e-16 ***
lagged_stoxx_3 0.3731191 0.0079900 46.698 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01086 on 5876 degrees of freedom
(4 observations deleted due to missingness)
Multiple R-squared: 0.7057, Adjusted R-squared: 0.7054
F-statistic: 2818 on 5 and 5876 DF, p-value: < 2.2e-16
loosening_eu_stoxx_day3_nw <- coeftest(loosening_eu_stoxx_day3, vcov = NeweyWest(loosening_eu_stoxx_day3)) #applying robust standard errors
print(loosening_eu_stoxx_day3_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00023023 0.00013590 -1.6942 0.09028 .
sum_3_day_loosening -0.00516510 0.00252985 -2.0417 0.04123 *
diff_euribor_3 0.00701893 0.00592630 1.1844 0.23631
diff_eur_to_us_3 0.19511481 0.02917984 6.6866 2.495e-11 ***
diff_sp500_3 0.63314753 0.01580417 40.0621 < 2.2e-16 ***
lagged_stoxx_3 0.37311907 0.01438278 25.9421 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_stoxx_day4 <- lm(diff_stoxx_4 ~ sum_4_day_loosening + diff_euribor_4 + diff_eur_to_us_4 + diff_sp500_4 + lagged_stoxx_4, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(loosening_eu_stoxx_day4)
Call:
lm(formula = diff_stoxx_4 ~ sum_4_day_loosening + diff_euribor_4 +
diff_eur_to_us_4 + diff_sp500_4 + lagged_stoxx_4, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.069712 -0.005853 0.000016 0.005719 0.086817
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0002677 0.0001466 -1.827 0.067791 .
sum_4_day_loosening -0.0043222 0.0011958 -3.615 0.000303 ***
diff_euribor_4 0.0059003 0.0037526 1.572 0.115928
diff_eur_to_us_4 0.2000235 0.0155807 12.838 < 2e-16 ***
diff_sp500_4 0.5882179 0.0081930 71.795 < 2e-16 ***
lagged_stoxx_4 0.4261271 0.0077879 54.717 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01116 on 5875 degrees of freedom
(5 observations deleted due to missingness)
Multiple R-squared: 0.763, Adjusted R-squared: 0.7628
F-statistic: 3784 on 5 and 5875 DF, p-value: < 2.2e-16
loosening_eu_stoxx_day4_nw <- coeftest(loosening_eu_stoxx_day4, vcov = NeweyWest(loosening_eu_stoxx_day4)) #applying robust standard errors
print(loosening_eu_stoxx_day4_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00026772 0.00016842 -1.5896 0.11198
sum_4_day_loosening -0.00432216 0.00211608 -2.0425 0.04114 *
diff_euribor_4 0.00590026 0.00529144 1.1151 0.26487
diff_eur_to_us_4 0.20002346 0.02582795 7.7445 1.123e-14 ***
diff_sp500_4 0.58821794 0.01408580 41.7596 < 2.2e-16 ***
lagged_stoxx_4 0.42612710 0.01251647 34.0453 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_stoxx_day5 <- lm(diff_stoxx_5 ~ sum_5_day_loosening + diff_euribor_5 + diff_eur_to_us_5 + diff_sp500_5 + lagged_stoxx_5, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(loosening_eu_stoxx_day5)
Call:
lm(formula = diff_stoxx_5 ~ sum_5_day_loosening + diff_euribor_5 +
diff_eur_to_us_5 + diff_sp500_5 + lagged_stoxx_5, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.086225 -0.006085 0.000032 0.005898 0.082447
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0003395 0.0001551 -2.188 0.0287 *
sum_5_day_loosening -0.0034005 0.0011050 -3.077 0.0021 **
diff_euribor_5 0.0036640 0.0033258 1.102 0.2706
diff_eur_to_us_5 0.2072254 0.0148198 13.983 <2e-16 ***
diff_sp500_5 0.5689378 0.0082441 69.012 <2e-16 ***
lagged_stoxx_5 0.4469366 0.0077869 57.396 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01178 on 5874 degrees of freedom
(6 observations deleted due to missingness)
Multiple R-squared: 0.7877, Adjusted R-squared: 0.7875
F-statistic: 4359 on 5 and 5874 DF, p-value: < 2.2e-16
loosening_eu_stoxx_day5_nw <- coeftest(loosening_eu_stoxx_day5, vcov = NeweyWest(loosening_eu_stoxx_day5)) #applying robust standard errors
print(loosening_eu_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00033946 0.00018343 -1.8506 0.06428 .
sum_5_day_loosening -0.00340051 0.00204383 -1.6638 0.09621 .
diff_euribor_5 0.00366397 0.00497185 0.7369 0.46119
diff_eur_to_us_5 0.20722536 0.02643544 7.8389 5.358e-15 ***
diff_sp500_5 0.56893776 0.01768428 32.1719 < 2.2e-16 ***
lagged_stoxx_5 0.44693660 0.01718041 26.0143 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_eu_stoxx_day10 <- lm(diff_stoxx_10 ~ sum_10_day_loosening + diff_euribor_10 + diff_eur_to_us_10 + diff_sp500_10 + lagged_stoxx_10, data = direction_stoxx_eu_wo_uk)
# Summary of the model
summary(loosening_eu_stoxx_day10)
Call:
lm(formula = diff_stoxx_10 ~ sum_10_day_loosening + diff_euribor_10 +
diff_eur_to_us_10 + diff_sp500_10 + lagged_stoxx_10, data = direction_stoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-0.078158 -0.006981 -0.000004 0.006844 0.111241
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0005721 0.0001710 -3.346 0.000825 ***
sum_10_day_loosening -0.0019676 0.0008364 -2.353 0.018674 *
diff_euribor_10 0.0016494 0.0020851 0.791 0.428956
diff_eur_to_us_10 0.1821223 0.0116692 15.607 < 2e-16 ***
diff_sp500_10 0.4704513 0.0078513 59.920 < 2e-16 ***
lagged_stoxx_10 0.5569152 0.0072786 76.514 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.01282 on 5869 degrees of freedom
(11 observations deleted due to missingness)
Multiple R-squared: 0.8671, Adjusted R-squared: 0.867
F-statistic: 7660 on 5 and 5869 DF, p-value: < 2.2e-16
loosening_eu_stoxx_day10_nw <- coeftest(loosening_eu_stoxx_day10, vcov = NeweyWest(loosening_eu_stoxx_day10)) #applying robust standard errors
print(loosening_eu_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00057208 0.00025745 -2.2221 0.02632 *
sum_10_day_loosening -0.00196764 0.00152028 -1.2943 0.19562
diff_euribor_10 0.00164936 0.00345793 0.4770 0.63339
diff_eur_to_us_10 0.18212228 0.02199684 8.2795 < 2e-16 ***
diff_sp500_10 0.47045126 0.02007569 23.4339 < 2e-16 ***
lagged_stoxx_10 0.55691521 0.01862613 29.8997 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The effect of DIRECTION on VSTOXX
direction_vstoxx_eu <- read.xlsx("direction_vstoxx.xlsx", sheet = "Sheet2")
direction_vstoxx_eu$date <- as.Date(direction_vstoxx_eu$date, origin = "1899-12-30")
# Check the results
head(direction_vstoxx_eu)
A data.frame: 6 × 9
|
|
date
|
country
|
direction
|
tightening
|
loosening
|
vstoxx
|
euribor
|
eur_to_us
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-01
|
0
|
0
|
0
|
0
|
21.75
|
4.714
|
1.06349
|
1373.47
|
|
2
|
2001-02-02
|
DE
|
1
|
0
|
0
|
21.17
|
4.724
|
1.07135
|
1349.47
|
|
3
|
2001-02-05
|
0
|
0
|
0
|
0
|
21.53
|
4.728
|
1.06383
|
1354.31
|
|
4
|
2001-02-06
|
0
|
0
|
0
|
0
|
20.51
|
4.725
|
1.07354
|
1352.26
|
|
5
|
2001-02-07
|
0
|
0
|
0
|
0
|
20.78
|
4.727
|
1.07227
|
1340.89
|
|
6
|
2001-02-08
|
0
|
0
|
0
|
0
|
20.16
|
4.731
|
1.08849
|
1332.53
|
direction_vstoxx_eu$log_sp500 <- log(direction_vstoxx_eu$sp500)
direction_vstoxx_eu <- direction_vstoxx_eu[order(direction_vstoxx_eu$date), ]
direction_vstoxx_eu$lagged_vstoxx <- c(NA, direction_vstoxx_eu$vstoxx[-nrow(direction_vstoxx_eu)])
direction_vstoxx_eu$lagged_euribor <- c(NA, direction_vstoxx_eu$euribor[-nrow(direction_vstoxx_eu)])
direction_vstoxx_eu$lagged_eur_to_us <- c(NA, direction_vstoxx_eu$eur_to_us[-nrow(direction_vstoxx_eu)])
direction_vstoxx_eu$lagged_sp500 <- c(NA, direction_vstoxx_eu$log_sp500[-nrow(direction_vstoxx_eu)])
direction_vstoxx_eu <- direction_vstoxx_eu %>%
arrange(date) %>%
mutate(
diff_vstoxx_1 = c(rep(NA, 1), diff(vstoxx, lag = 1)),
diff_vstoxx_2 = c(rep(NA, 2), diff(vstoxx, lag = 2)),
diff_vstoxx_3 = c(rep(NA, 3), diff(vstoxx, lag = 3)),
diff_vstoxx_4 = c(rep(NA, 4), diff(vstoxx, lag = 4)),
diff_vstoxx_5 = c(rep(NA, 5), diff(vstoxx, lag = 5)),
diff_vstoxx_10 = c(rep(NA, 10), diff(vstoxx, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_eur_to_us_1 = c(rep(NA, 1), diff(eur_to_us, lag = 1)),
diff_eur_to_us_2 = c(rep(NA, 2), diff(eur_to_us, lag = 2)),
diff_eur_to_us_3 = c(rep(NA, 3), diff(eur_to_us, lag = 3)),
diff_eur_to_us_4 = c(rep(NA, 4), diff(eur_to_us, lag = 4)),
diff_eur_to_us_5 = c(rep(NA, 5), diff(eur_to_us, lag = 5)),
diff_eur_to_us_10 = c(rep(NA, 10), diff(eur_to_us, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
direction_vstoxx_eu <- direction_vstoxx_eu %>%
group_by(date) %>%
mutate(sum_direction = sum(direction)) %>%
ungroup()
direction_vstoxx_eu <- direction_vstoxx_eu %>%
group_by(date) %>%
mutate(sum_tightening = sum(tightening)) %>%
ungroup()
direction_vstoxx_eu <- direction_vstoxx_eu %>%
group_by(date) %>%
mutate(sum_loosening = sum(loosening)) %>%
ungroup()
The whole EUROPE. Tightening and loosening together
direction_vstoxx_eu_wo_uk <- direction_vstoxx_eu %>%
filter(country != "UK")
direction_vstoxx_var1 <- lm(vstoxx ~ sum_tightening + sum_loosening + euribor + eur_to_us + log_sp500 + lagged_vstoxx, data = direction_vstoxx_eu_wo_uk)
# Summary of the model
summary(direction_vstoxx_var1)
Call:
lm(formula = vstoxx ~ sum_tightening + sum_loosening + euribor +
eur_to_us + log_sp500 + lagged_vstoxx, data = direction_vstoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-12.7757 -0.7983 -0.1370 0.5706 23.3097
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.588164 0.476727 3.331 0.000869 ***
sum_tightening 0.001799 0.084333 0.021 0.982978
sum_loosening 1.656851 0.382638 4.330 1.52e-05 ***
euribor 0.010554 0.016486 0.640 0.522065
eur_to_us 0.425548 0.225525 1.887 0.059220 .
log_sp500 -0.192901 0.062766 -3.073 0.002126 **
lagged_vstoxx 0.977432 0.002668 366.343 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.78 on 5878 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.9658, Adjusted R-squared: 0.9658
F-statistic: 2.769e+04 on 6 and 5878 DF, p-value: < 2.2e-16
direction_vstoxx_var1_nw <- coeftest(direction_vstoxx_var1, vcov = NeweyWest(direction_vstoxx_var1)) #applying robust standard errors
print(direction_vstoxx_var1_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.5881641 0.3852306 4.1226 3.797e-05 ***
sum_tightening 0.0017994 0.0606202 0.0297 0.9763209
sum_loosening 1.6568510 1.0288300 1.6104 0.1073593
euribor 0.0105543 0.0170705 0.6183 0.5364163
eur_to_us 0.4255479 0.2303479 1.8474 0.0647374 .
log_sp500 -0.1929010 0.0541181 -3.5644 0.0003675 ***
lagged_vstoxx 0.9774323 0.0031309 312.1914 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Tightening and Loosening Separately
tightening_vstoxx <- lm(vstoxx ~ sum_tightening + euribor + eur_to_us + log_sp500 + lagged_vstoxx, data = direction_vstoxx_eu_wo_uk)
# Summary of the model
summary(tightening_vstoxx)
Call:
lm(formula = vstoxx ~ sum_tightening + euribor + eur_to_us +
log_sp500 + lagged_vstoxx, data = direction_vstoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-12.8054 -0.7958 -0.1413 0.5676 23.2934
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.544698 0.477340 3.236 0.00122 **
sum_tightening 0.036320 0.084082 0.432 0.66578
euribor 0.009412 0.016509 0.570 0.56863
eur_to_us 0.407137 0.225825 1.803 0.07146 .
log_sp500 -0.185949 0.062840 -2.959 0.00310 **
lagged_vstoxx 0.977984 0.002669 366.416 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.783 on 5879 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.9657, Adjusted R-squared: 0.9657
F-statistic: 3.312e+04 on 5 and 5879 DF, p-value: < 2.2e-16
tightening_vstoxx_nw <- coeftest(tightening_vstoxx, vcov = NeweyWest(tightening_vstoxx)) #applying robust standard errors
print(tightening_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.5446976 0.3932243 3.9283 8.653e-05 ***
sum_tightening 0.0363203 0.0507718 0.7154 0.4744135
euribor 0.0094116 0.0170308 0.5526 0.5805447
eur_to_us 0.4071365 0.2277963 1.7873 0.0739432 .
log_sp500 -0.1859486 0.0548608 -3.3895 0.0007049 ***
lagged_vstoxx 0.9779842 0.0032916 297.1170 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
loosening_vstoxx <- lm(vstoxx ~ sum_loosening + euribor + eur_to_us + log_sp500 + lagged_vstoxx, data = direction_vstoxx_eu_wo_uk)
# Summary of the model
summary(loosening_vstoxx)
Call:
lm(formula = vstoxx ~ sum_loosening + euribor + eur_to_us + log_sp500 +
lagged_vstoxx, data = direction_vstoxx_eu_wo_uk)
Residuals:
Min 1Q Median 3Q Max
-12.7757 -0.7984 -0.1350 0.5704 23.3097
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.588786 0.475794 3.339 0.000845 ***
sum_loosening 1.657623 0.380892 4.352 1.37e-05 ***
euribor 0.010517 0.016389 0.642 0.521108
eur_to_us 0.425375 0.225360 1.888 0.059138 .
log_sp500 -0.192944 0.062727 -3.076 0.002108 **
lagged_vstoxx 0.977432 0.002668 366.380 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.78 on 5879 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.9658, Adjusted R-squared: 0.9658
F-statistic: 3.323e+04 on 5 and 5879 DF, p-value: < 2.2e-16
loosening_vstoxx_nw <- coeftest(loosening_vstoxx, vcov = NeweyWest(loosening_vstoxx)) #applying robust standard errors
print(loosening_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.5887862 0.3855930 4.1204 3.835e-05 ***
sum_loosening 1.6576228 1.0203181 1.6246 0.1042985
euribor 0.0105165 0.0169231 0.6214 0.5343412
eur_to_us 0.4253753 0.2302430 1.8475 0.0647241 .
log_sp500 -0.1929443 0.0541444 -3.5635 0.0003688 ***
lagged_vstoxx 0.9774320 0.0031325 312.0338 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Country by Country results
Specification tests on data
adf_result_country1 <- adf.test(country_announcement_yield$yield, alternative = "stationary")
# Print the test results
print(adf_result_country1)
Warning message in adf.test(country_announcement_yield$yield, alternative = "stationary"):
"p-value smaller than printed p-value"
Augmented Dickey-Fuller Test
data: country_announcement_yield$yield
Dickey-Fuller = -6.5449, Lag order = 7, p-value = 0.01
alternative hypothesis: stationary
The results suggest time series is stationary.
cor_matrix <- cor(country_announcement_yield[, c("yield", "euribor", "ex_rate", "sp500")])
# Visualize correlation matrix
library(corrplot)
corrplot(cor_matrix, method = "circle")
png
country_announcement_yield$log_sp500 <- log(country_announcement_yield$sp500)
country_announcement_yield <- country_announcement_yield[order(country_announcement_yield$date), ]
country_announcement_yield$lagged_yield <- c(NA, country_announcement_yield$yield[-nrow(country_announcement_yield)])
country_announcement_yield$lagged_euribor <- c(NA, country_announcement_yield$euribor[-nrow(country_announcement_yield)])
country_announcement_yield$lagged_ex_rate <- c(NA, country_announcement_yield$ex_rate[-nrow(country_announcement_yield)])
country_announcement_yield$lagged_sp500 <- c(NA, country_announcement_yield$log_sp500[-nrow(country_announcement_yield)])
country_announcement_yield <- country_announcement_yield %>%
arrange(date) %>%
mutate(
diff_yield_1 = c(rep(NA, 1), diff(yield, lag = 1)),
diff_yield_2 = c(rep(NA, 2), diff(yield, lag = 2)),
diff_yield_3 = c(rep(NA, 3), diff(yield, lag = 3)),
diff_yield_4 = c(rep(NA, 4), diff(yield, lag = 4)),
diff_yield_5 = c(rep(NA, 5), diff(yield, lag = 5)),
diff_yield_10 = c(rep(NA, 10), diff(yield, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_ex_rate_1 = c(rep(NA, 1), diff(ex_rate, lag = 1)),
diff_ex_rate_2 = c(rep(NA, 2), diff(ex_rate, lag = 2)),
diff_ex_rate_3 = c(rep(NA, 3), diff(ex_rate, lag = 3)),
diff_ex_rate_4 = c(rep(NA, 4), diff(ex_rate, lag = 4)),
diff_ex_rate_5 = c(rep(NA, 5), diff(ex_rate, lag = 5)),
diff_ex_rate_10 = c(rep(NA, 10), diff(ex_rate, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
country_announcement_yield <- country_announcement_yield %>%
group_by(date, country) %>%
mutate(sum_announcement = sum(announcement)) %>%
ungroup()
country_announcement_yield <- country_announcement_yield %>%
arrange(date, country) %>%
mutate(sum_1_day_announcement = rollapply(announcement, width = 1, FUN = sum, fill = NA, align = 'right'))
country_announcement_yield <- country_announcement_yield %>%
arrange(date, country) %>%
mutate(sum_2_day_announcement = rollapply(announcement, width = 2, FUN = sum, fill = NA, align = 'right'))
country_announcement_yield <- country_announcement_yield %>%
arrange(date, country) %>%
mutate(sum_3_day_announcement = rollapply(announcement, width = 3, FUN = sum, fill = NA, align = 'right'))
country_announcement_yield <- country_announcement_yield %>%
arrange(date, country) %>%
mutate(sum_4_day_announcement = rollapply(announcement, width = 4, FUN = sum, fill = NA, align = 'right'))
country_announcement_yield <- country_announcement_yield %>%
arrange(date, country) %>%
mutate(sum_5_day_announcement = rollapply(announcement, width = 5, FUN = sum, fill = NA, align = 'right'))
country_announcement_yield <- country_announcement_yield %>%
arrange(date, country) %>%
mutate(sum_10_day_announcement = rollapply(announcement, width = 10, FUN = sum, fill = NA, align = 'right'))
tail(country_announcement_yield)
A tibble: 6 × 43
|
date
|
country
|
announcement
|
yield
|
euribor
|
ex_rate
|
sp500
|
log_sp500
|
lagged_yield
|
lagged_euribor
|
⋯
|
diff_sp500_4
|
diff_sp500_5
|
diff_sp500_10
|
sum_announcement
|
sum_1_day_announcement
|
sum_2_day_announcement
|
sum_3_day_announcement
|
sum_4_day_announcement
|
sum_5_day_announcement
|
sum_10_day_announcement
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-05-23
|
SE
|
0
|
2.387
|
3.422
|
10.62255
|
4145.58
|
8.329798
|
2.351
|
3.177
|
⋯
|
0.04302727
|
0.04302727
|
0.12300157
|
0
|
0
|
1
|
1
|
2
|
3
|
6
|
|
2023-06-07
|
IE
|
1
|
2.845
|
3.459
|
0.93392
|
4267.52
|
8.358788
|
2.387
|
3.422
|
⋯
|
0.05781006
|
0.07201743
|
0.12669636
|
1
|
1
|
1
|
2
|
2
|
3
|
6
|
|
2023-06-19
|
CZ
|
1
|
4.351
|
3.551
|
21.73740
|
4409.59
|
8.391537
|
2.845
|
3.459
|
⋯
|
0.07061663
|
0.09055891
|
0.09069547
|
1
|
1
|
2
|
2
|
3
|
3
|
6
|
|
2023-07-12
|
UK
|
0
|
4.513
|
3.657
|
0.76940
|
4472.16
|
8.405627
|
4.351
|
3.551
|
⋯
|
0.07567444
|
0.08470643
|
0.14243850
|
0
|
0
|
1
|
2
|
2
|
3
|
6
|
|
2023-08-02
|
UK
|
0
|
4.404
|
3.733
|
0.78810
|
4513.39
|
8.414804
|
4.513
|
3.657
|
⋯
|
0.08500583
|
0.08485146
|
0.15748040
|
0
|
0
|
0
|
1
|
2
|
2
|
6
|
|
2023-10-10
|
UK
|
1
|
4.430
|
3.988
|
0.81590
|
4358.24
|
8.379824
|
4.404
|
3.733
|
⋯
|
0.02103544
|
0.05002560
|
0.09305287
|
1
|
1
|
1
|
1
|
2
|
3
|
6
|
country_announcement_yield$lagged_yield_1 <- c(NA, country_announcement_yield$diff_yield_1[-nrow(country_announcement_yield)])
country_announcement_yield$lagged_yield_2 <- c(NA, country_announcement_yield$diff_yield_2[-nrow(country_announcement_yield)])
country_announcement_yield$lagged_yield_3 <- c(NA, country_announcement_yield$diff_yield_3[-nrow(country_announcement_yield)])
country_announcement_yield$lagged_yield_4 <- c(NA, country_announcement_yield$diff_yield_4[-nrow(country_announcement_yield)])
country_announcement_yield$lagged_yield_5 <- c(NA, country_announcement_yield$diff_yield_5[-nrow(country_announcement_yield)])
country_announcement_yield$lagged_yield_10 <- c(NA, country_announcement_yield$diff_yield_10[-nrow(country_announcement_yield)])
tail(country_announcement_yield)
A tibble: 6 × 49
|
date
|
country
|
announcement
|
yield
|
euribor
|
ex_rate
|
sp500
|
log_sp500
|
lagged_yield
|
lagged_euribor
|
⋯
|
sum_3_day_announcement
|
sum_4_day_announcement
|
sum_5_day_announcement
|
sum_10_day_announcement
|
lagged_yield_1
|
lagged_yield_2
|
lagged_yield_3
|
lagged_yield_4
|
lagged_yield_5
|
lagged_yield_10
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-05-23
|
SE
|
0
|
2.387
|
3.422
|
10.62255
|
4145.58
|
8.329798
|
2.351
|
3.177
|
⋯
|
1
|
2
|
3
|
6
|
-2.230
|
0.123
|
-0.833
|
-2.216
|
-1.020
|
0.763
|
|
2023-06-07
|
IE
|
1
|
2.845
|
3.459
|
0.93392
|
4267.52
|
8.358788
|
2.387
|
3.422
|
⋯
|
2
|
2
|
3
|
6
|
0.036
|
-2.194
|
0.159
|
-0.797
|
-2.180
|
-1.518
|
|
2023-06-19
|
CZ
|
1
|
4.351
|
3.551
|
21.73740
|
4409.59
|
8.391537
|
2.845
|
3.459
|
⋯
|
2
|
3
|
3
|
6
|
0.458
|
0.494
|
-1.736
|
0.617
|
-0.339
|
-0.554
|
|
2023-07-12
|
UK
|
0
|
4.513
|
3.657
|
0.76940
|
4472.16
|
8.405627
|
4.351
|
3.551
|
⋯
|
2
|
2
|
3
|
6
|
1.506
|
1.964
|
2.000
|
-0.230
|
2.123
|
2.091
|
|
2023-08-02
|
UK
|
0
|
4.404
|
3.733
|
0.78810
|
4513.39
|
8.414804
|
4.513
|
3.657
|
⋯
|
1
|
2
|
2
|
6
|
0.162
|
1.668
|
2.126
|
2.162
|
-0.068
|
0.938
|
|
2023-10-10
|
UK
|
1
|
4.430
|
3.988
|
0.81590
|
4358.24
|
8.379824
|
4.404
|
3.733
|
⋯
|
1
|
2
|
3
|
6
|
-0.109
|
0.053
|
1.559
|
2.017
|
2.053
|
1.033
|
country_announcement_stoxx <- read.xlsx("country_announcement_stoxx.xlsx")
country_announcement_stoxx$date <- as.Date(country_announcement_stoxx$date, origin = "1899-12-30")
# Check the results
head(country_announcement_stoxx)
A data.frame: 6 × 7
|
|
date
|
country
|
announcement
|
stoxx
|
euribor
|
ex_rate
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-02
|
DE
|
0
|
4813.99
|
4.724
|
1.07135
|
1349.47
|
|
2
|
2001-04-30
|
FR
|
1
|
3838.15
|
4.802
|
1.12790
|
1249.46
|
|
3
|
2006-05-29
|
DE
|
0
|
8294.47
|
2.919
|
0.78398
|
1280.16
|
|
4
|
2008-09-17
|
DE
|
0
|
7497.52
|
4.973
|
0.70455
|
1156.39
|
|
5
|
2008-10-28
|
UK
|
0
|
5699.26
|
4.860
|
0.64140
|
940.50
|
|
6
|
2009-01-27
|
UK
|
1
|
6258.57
|
2.130
|
0.70570
|
845.71
|
Specification tests on data
adf_result_country2 <- adf.test(country_announcement_stoxx$stoxx, alternative = "stationary")
# Print the test results
print(adf_result_country2)
Warning message in adf.test(country_announcement_stoxx$stoxx, alternative = "stationary"):
"p-value smaller than printed p-value"
Augmented Dickey-Fuller Test
data: country_announcement_stoxx$stoxx
Dickey-Fuller = -6.5799, Lag order = 7, p-value = 0.01
alternative hypothesis: stationary
The results suggest stationarity of time series.
cor_matrix <- cor(country_announcement_stoxx[, c("stoxx", "euribor", "ex_rate", "sp500")])
# Visualize correlation matrix
library(corrplot)
corrplot(cor_matrix, method = "circle")
png
country_announcement_stoxx$log_sp500 <- log(country_announcement_stoxx$sp500)
country_announcement_stoxx$log_stoxx <- log(country_announcement_stoxx$stoxx)
country_announcement_stoxx <- country_announcement_stoxx[order(country_announcement_stoxx$date), ]
country_announcement_stoxx$lagged_stoxx <- c(NA, country_announcement_stoxx$log_stoxx[-nrow(country_announcement_stoxx)])
country_announcement_stoxx$lagged_euribor <- c(NA, country_announcement_stoxx$euribor[-nrow(country_announcement_stoxx)])
country_announcement_stoxx$lagged_ex_rate <- c(NA, country_announcement_stoxx$ex_rate[-nrow(country_announcement_stoxx)])
country_announcement_stoxx$lagged_sp500 <- c(NA, country_announcement_stoxx$log_sp500[-nrow(country_announcement_stoxx)])
country_announcement_stoxx <- country_announcement_stoxx %>%
arrange(date) %>%
mutate(
diff_stoxx_1 = c(rep(NA, 1), diff(log_stoxx, lag = 1)),
diff_stoxx_2 = c(rep(NA, 2), diff(log_stoxx, lag = 2)),
diff_stoxx_3 = c(rep(NA, 3), diff(log_stoxx, lag = 3)),
diff_stoxx_4 = c(rep(NA, 4), diff(log_stoxx, lag = 4)),
diff_stoxx_5 = c(rep(NA, 5), diff(log_stoxx, lag = 5)),
diff_stoxx_10 = c(rep(NA, 10), diff(log_stoxx, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_ex_rate_1 = c(rep(NA, 1), diff(ex_rate, lag = 1)),
diff_ex_rate_2 = c(rep(NA, 2), diff(ex_rate, lag = 2)),
diff_ex_rate_3 = c(rep(NA, 3), diff(ex_rate, lag = 3)),
diff_ex_rate_4 = c(rep(NA, 4), diff(ex_rate, lag = 4)),
diff_ex_rate_5 = c(rep(NA, 5), diff(ex_rate, lag = 5)),
diff_ex_rate_10 = c(rep(NA, 10), diff(ex_rate, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
country_announcement_stoxx <- country_announcement_stoxx %>%
group_by(date, country) %>%
mutate(sum_announcement = sum(announcement)) %>%
ungroup()
country_announcement_stoxx <- country_announcement_stoxx %>%
arrange(date, country) %>%
mutate(sum_1_day_announcement = rollapply(announcement, width = 1, FUN = sum, fill = NA, align = 'right'))
country_announcement_stoxx <- country_announcement_stoxx %>%
arrange(date, country) %>%
mutate(sum_2_day_announcement = rollapply(announcement, width = 2, FUN = sum, fill = NA, align = 'right'))
country_announcement_stoxx <- country_announcement_stoxx %>%
arrange(date, country) %>%
mutate(sum_3_day_announcement = rollapply(announcement, width = 3, FUN = sum, fill = NA, align = 'right'))
country_announcement_stoxx <- country_announcement_stoxx %>%
arrange(date, country) %>%
mutate(sum_4_day_announcement = rollapply(announcement, width = 4, FUN = sum, fill = NA, align = 'right'))
country_announcement_stoxx <- country_announcement_stoxx %>%
arrange(date, country) %>%
mutate(sum_5_day_announcement = rollapply(announcement, width = 5, FUN = sum, fill = NA, align = 'right'))
country_announcement_stoxx <- country_announcement_stoxx %>%
arrange(date, country) %>%
mutate(sum_10_day_announcement = rollapply(announcement, width = 10, FUN = sum, fill = NA, align = 'right'))
country_announcement_stoxx$lagged_stoxx_1 <- c(NA, country_announcement_stoxx$diff_stoxx_1[-nrow(country_announcement_stoxx)])
country_announcement_stoxx$lagged_stoxx_2 <- c(NA, country_announcement_stoxx$diff_stoxx_2[-nrow(country_announcement_stoxx)])
country_announcement_stoxx$lagged_stoxx_3 <- c(NA, country_announcement_stoxx$diff_stoxx_3[-nrow(country_announcement_stoxx)])
country_announcement_stoxx$lagged_stoxx_4 <- c(NA, country_announcement_stoxx$diff_stoxx_4[-nrow(country_announcement_stoxx)])
country_announcement_stoxx$lagged_stoxx_5 <- c(NA, country_announcement_stoxx$diff_stoxx_5[-nrow(country_announcement_stoxx)])
country_announcement_stoxx$lagged_stoxx_10 <- c(NA, country_announcement_stoxx$diff_stoxx_10[-nrow(country_announcement_stoxx)])
country_announcement_vstoxx <- read.xlsx("country_announcement_vstoxx.xlsx")
country_announcement_vstoxx$date <- as.Date(country_announcement_vstoxx$date, origin = "1899-12-30")
# Check the results
head(country_announcement_vstoxx)
A data.frame: 6 × 7
|
|
date
|
country
|
announcement
|
vstoxx
|
euribor
|
ex_rate
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-02
|
DE
|
0
|
21.17
|
4.724
|
1.07135
|
1349.47
|
|
2
|
2001-04-30
|
FR
|
1
|
21.21
|
4.802
|
1.12790
|
1249.46
|
|
3
|
2006-05-29
|
DE
|
0
|
20.99
|
2.919
|
0.78398
|
1280.16
|
|
4
|
2008-09-17
|
DE
|
0
|
37.53
|
4.973
|
0.70455
|
1156.39
|
|
5
|
2008-10-28
|
UK
|
0
|
74.69
|
4.860
|
0.64140
|
940.50
|
|
6
|
2009-01-27
|
UK
|
1
|
44.60
|
2.130
|
0.70570
|
845.71
|
Specification tests on data
adf_result_country3 <- adf.test(country_announcement_vstoxx$vstoxx, alternative = "stationary")
# Print the test results
print(adf_result_country3)
Warning message in adf.test(country_announcement_vstoxx$vstoxx, alternative = "stationary"):
"p-value smaller than printed p-value"
Augmented Dickey-Fuller Test
data: country_announcement_vstoxx$vstoxx
Dickey-Fuller = -5.0647, Lag order = 7, p-value = 0.01
alternative hypothesis: stationary
The results suggest stationarity of time series.
cor_matrix <- cor(country_announcement_vstoxx[, c("vstoxx", "euribor", "ex_rate", "sp500")])
# Visualize correlation matrix
library(corrplot)
corrplot(cor_matrix, method = "circle")
png
country_announcement_vstoxx$log_sp500 <- log(country_announcement_vstoxx$sp500)
country_announcement_vstoxx <- country_announcement_vstoxx[order(country_announcement_vstoxx$date), ]
country_announcement_vstoxx$lagged_vstoxx <- c(NA, country_announcement_vstoxx$vstoxx[-nrow(country_announcement_vstoxx)])
country_announcement_vstoxx$lagged_euribor <- c(NA, country_announcement_vstoxx$euribor[-nrow(country_announcement_vstoxx)])
country_announcement_vstoxx$lagged_ex_rate <- c(NA, country_announcement_vstoxx$ex_rate[-nrow(country_announcement_vstoxx)])
country_announcement_vstoxx$lagged_sp500 <- c(NA, country_announcement_vstoxx$log_sp500[-nrow(country_announcement_vstoxx)])
country_announcement_vstoxx <- country_announcement_vstoxx %>%
group_by(date, country) %>%
mutate(sum_announcement = sum(announcement)) %>%
ungroup()
country_announcement_vstoxx <- country_announcement_vstoxx %>%
arrange(date, country) %>%
mutate(sum_1_day_announcement = rollapply(announcement, width = 1, FUN = sum, fill = NA, align = 'right'))
country_announcement_vstoxx <- country_announcement_vstoxx %>%
arrange(date, country) %>%
mutate(sum_2_day_announcement = rollapply(announcement, width = 2, FUN = sum, fill = NA, align = 'right'))
country_announcement_vstoxx <- country_announcement_vstoxx %>%
arrange(date, country) %>%
mutate(sum_3_day_announcement = rollapply(announcement, width = 3, FUN = sum, fill = NA, align = 'right'))
country_announcement_vstoxx <- country_announcement_vstoxx %>%
arrange(date, country) %>%
mutate(sum_4_day_announcement = rollapply(announcement, width = 4, FUN = sum, fill = NA, align = 'right'))
country_announcement_vstoxx <- country_announcement_vstoxx %>%
arrange(date, country) %>%
mutate(sum_5_day_announcement = rollapply(announcement, width = 5, FUN = sum, fill = NA, align = 'right'))
country_announcement_vstoxx <- country_announcement_vstoxx %>%
arrange(date, country) %>%
mutate(sum_10_day_announcement = rollapply(announcement, width = 10, FUN = sum, fill = NA, align = 'right'))
DIRECTION on Yield
country_direction_yield <- read.xlsx("country_direction_yield.xlsx")
country_direction_yield$date <- as.Date(country_direction_yield$date, origin = "1899-12-30")
# Check the results
head(country_direction_yield)
A data.frame: 6 × 9
|
|
date
|
country
|
direction
|
tightening
|
loosening
|
yield
|
euribor
|
ex_rate
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-02
|
DE
|
0
|
0
|
0
|
4.785
|
4.724
|
1.07135
|
1349.47
|
|
2
|
2001-04-30
|
FR
|
1
|
1
|
0
|
5.185
|
4.802
|
1.12790
|
1249.46
|
|
3
|
2006-05-29
|
DE
|
0
|
0
|
0
|
3.891
|
2.919
|
0.78398
|
1280.16
|
|
4
|
2008-09-17
|
DE
|
0
|
0
|
0
|
4.017
|
4.973
|
0.70455
|
1156.39
|
|
5
|
2008-10-28
|
UK
|
0
|
0
|
0
|
4.392
|
4.860
|
0.64140
|
940.50
|
|
6
|
2009-01-27
|
UK
|
1
|
1
|
0
|
3.671
|
2.130
|
0.70570
|
845.71
|
country_direction_yield$log_sp500 <- log(country_direction_yield$sp500)
country_direction_yield <- country_direction_yield[order(country_direction_yield$date), ]
country_direction_yield$lagged_yield <- c(NA, country_direction_yield$yield[-nrow(country_direction_yield)])
country_direction_yield$lagged_euribor <- c(NA, country_direction_yield$euribor[-nrow(country_direction_yield)])
country_direction_yield$lagged_ex_rate <- c(NA, country_direction_yield$ex_rate[-nrow(country_direction_yield)])
country_direction_yield$lagged_sp500 <- c(NA, country_direction_yield$log_sp500[-nrow(country_direction_yield)])
country_direction_yield <- country_direction_yield %>%
arrange(date) %>%
mutate(
diff_yield_1 = c(rep(NA, 1), diff(yield, lag = 1)),
diff_yield_2 = c(rep(NA, 2), diff(yield, lag = 2)),
diff_yield_3 = c(rep(NA, 3), diff(yield, lag = 3)),
diff_yield_4 = c(rep(NA, 4), diff(yield, lag = 4)),
diff_yield_5 = c(rep(NA, 5), diff(yield, lag = 5)),
diff_yield_10 = c(rep(NA, 10), diff(yield, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_ex_rate_1 = c(rep(NA, 1), diff(ex_rate, lag = 1)),
diff_ex_rate_2 = c(rep(NA, 2), diff(ex_rate, lag = 2)),
diff_ex_rate_3 = c(rep(NA, 3), diff(ex_rate, lag = 3)),
diff_ex_rate_4 = c(rep(NA, 4), diff(ex_rate, lag = 4)),
diff_ex_rate_5 = c(rep(NA, 5), diff(ex_rate, lag = 5)),
diff_ex_rate_10 = c(rep(NA, 10), diff(ex_rate, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
country_direction_yield <- country_direction_yield %>%
group_by(date, country) %>%
mutate(sum_announcement = sum(direction)) %>%
ungroup()
country_direction_yield <- country_direction_yield %>%
group_by(date, country) %>%
mutate(sum_tightening = sum(tightening)) %>%
ungroup()
country_direction_yield <- country_direction_yield %>%
group_by(date, country) %>%
mutate(sum_loosening = sum(loosening)) %>%
ungroup()
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_1_day_tightening = rollapply(tightening, width = 1, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_2_day_tightening = rollapply(tightening, width = 2, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_3_day_tightening = rollapply(tightening, width = 3, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_4_day_tightening = rollapply(tightening, width = 4, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_5_day_tightening = rollapply(tightening, width = 5, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_10_day_tightening = rollapply(tightening, width = 10, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_1_day_loosening = rollapply(loosening, width = 1, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_2_day_loosening = rollapply(loosening, width = 2, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_3_day_loosening = rollapply(loosening, width = 3, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_4_day_loosening = rollapply(loosening, width = 4, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_5_day_loosening = rollapply(loosening, width = 5, FUN = sum, fill = NA, align = 'right'))
country_direction_yield <- country_direction_yield %>%
arrange(date, country) %>%
mutate(sum_10_day_loosening = rollapply(loosening, width = 10, FUN = sum, fill = NA, align = 'right'))
country_direction_yield$lagged_yield_1 <- c(NA, country_direction_yield$diff_yield_1[-nrow(country_direction_yield)])
country_direction_yield$lagged_yield_2 <- c(NA, country_direction_yield$diff_yield_2[-nrow(country_direction_yield)])
country_direction_yield$lagged_yield_3 <- c(NA, country_direction_yield$diff_yield_3[-nrow(country_direction_yield)])
country_direction_yield$lagged_yield_4 <- c(NA, country_direction_yield$diff_yield_4[-nrow(country_direction_yield)])
country_direction_yield$lagged_yield_5 <- c(NA, country_direction_yield$diff_yield_5[-nrow(country_direction_yield)])
country_direction_yield$lagged_yield_10 <- c(NA, country_direction_yield$diff_yield_10[-nrow(country_direction_yield)])
tail(country_direction_yield, 10)
A tibble: 10 × 59
|
date
|
country
|
direction
|
tightening
|
loosening
|
yield
|
euribor
|
ex_rate
|
sp500
|
log_sp500
|
⋯
|
sum_3_day_loosening
|
sum_4_day_loosening
|
sum_5_day_loosening
|
sum_10_day_loosening
|
lagged_yield_1
|
lagged_yield_2
|
lagged_yield_3
|
lagged_yield_4
|
lagged_yield_5
|
lagged_yield_10
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-03-24
|
ES
|
1
|
1
|
0
|
3.184
|
3.025
|
0.92915
|
3970.99
|
8.286771
|
⋯
|
0
|
0
|
0
|
0
|
1.196
|
0.992
|
2.307
|
1.168
|
0.662
|
2.254
|
|
2023-03-29
|
SE
|
1
|
1
|
0
|
2.228
|
3.015
|
10.41275
|
4027.81
|
8.300978
|
⋯
|
0
|
0
|
0
|
0
|
-1.383
|
-0.187
|
-0.391
|
0.924
|
-0.215
|
1.199
|
|
2023-04-11
|
CZ
|
0
|
0
|
0
|
4.581
|
3.108
|
21.52855
|
4108.94
|
8.320920
|
⋯
|
0
|
0
|
0
|
0
|
-0.956
|
-2.339
|
-1.143
|
-1.347
|
-0.032
|
-2.461
|
|
2023-04-13
|
SE
|
1
|
1
|
0
|
2.351
|
3.177
|
10.28425
|
4146.22
|
8.329952
|
⋯
|
0
|
0
|
0
|
0
|
2.353
|
1.397
|
0.014
|
1.210
|
1.006
|
0.006
|
|
2023-05-23
|
SE
|
0
|
0
|
0
|
2.387
|
3.422
|
10.62255
|
4145.58
|
8.329798
|
⋯
|
0
|
0
|
0
|
0
|
-2.230
|
0.123
|
-0.833
|
-2.216
|
-1.020
|
0.763
|
|
2023-06-07
|
IE
|
1
|
1
|
0
|
2.845
|
3.459
|
0.93392
|
4267.52
|
8.358788
|
⋯
|
0
|
0
|
0
|
0
|
0.036
|
-2.194
|
0.159
|
-0.797
|
-2.180
|
-1.518
|
|
2023-06-19
|
CZ
|
1
|
1
|
0
|
4.351
|
3.551
|
21.73740
|
4409.59
|
8.391537
|
⋯
|
0
|
0
|
0
|
0
|
0.458
|
0.494
|
-1.736
|
0.617
|
-0.339
|
-0.554
|
|
2023-07-12
|
UK
|
0
|
0
|
0
|
4.513
|
3.657
|
0.76940
|
4472.16
|
8.405627
|
⋯
|
0
|
0
|
0
|
0
|
1.506
|
1.964
|
2.000
|
-0.230
|
2.123
|
2.091
|
|
2023-08-02
|
UK
|
0
|
0
|
0
|
4.404
|
3.733
|
0.78810
|
4513.39
|
8.414804
|
⋯
|
0
|
0
|
0
|
0
|
0.162
|
1.668
|
2.126
|
2.162
|
-0.068
|
0.938
|
|
2023-10-10
|
UK
|
1
|
1
|
0
|
4.430
|
3.988
|
0.81590
|
4358.24
|
8.379824
|
⋯
|
0
|
0
|
0
|
0
|
-0.109
|
0.053
|
1.559
|
2.017
|
2.053
|
1.033
|
DIRECTION on STOXX
country_direction_stoxx <- read.xlsx("country_direction_stoxx.xlsx")
country_direction_stoxx$date <- as.Date(country_direction_stoxx$date, origin = "1899-12-30")
# Check the results
head(country_direction_stoxx)
A data.frame: 6 × 9
|
|
date
|
country
|
direction
|
tightening
|
loosening
|
stoxx
|
euribor
|
ex_rate
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-02
|
DE
|
0
|
0
|
0
|
4813.99
|
4.724
|
1.07135
|
1349.47
|
|
2
|
2001-04-30
|
FR
|
1
|
1
|
0
|
3838.15
|
4.802
|
1.12790
|
1249.46
|
|
3
|
2006-05-29
|
DE
|
0
|
0
|
0
|
8294.47
|
2.919
|
0.78398
|
1280.16
|
|
4
|
2008-09-17
|
DE
|
0
|
0
|
0
|
7497.52
|
4.973
|
0.70455
|
1156.39
|
|
5
|
2008-10-28
|
UK
|
0
|
0
|
0
|
5699.26
|
4.860
|
0.64140
|
940.50
|
|
6
|
2009-01-27
|
UK
|
1
|
1
|
0
|
6258.57
|
2.130
|
0.70570
|
845.71
|
country_direction_stoxx$log_stoxx <- log(country_direction_stoxx$stoxx)
country_direction_stoxx$log_sp500 <- log(country_direction_stoxx$sp500)
country_direction_stoxx <- country_direction_stoxx[order(country_direction_stoxx$date), ]
country_direction_stoxx$lagged_stoxx <- c(NA, country_direction_stoxx$log_stoxx[-nrow(country_direction_stoxx)])
country_direction_stoxx$lagged_euribor <- c(NA, country_direction_stoxx$euribor[-nrow(country_direction_stoxx)])
country_direction_stoxx$lagged_ex_rate <- c(NA, country_direction_stoxx$ex_rate[-nrow(country_direction_stoxx)])
country_direction_stoxx$lagged_sp500 <- c(NA, country_direction_stoxx$log_sp500[-nrow(country_direction_stoxx)])
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date) %>%
mutate(
diff_stoxx_1 = c(rep(NA, 1), diff(log_stoxx, lag = 1)),
diff_stoxx_2 = c(rep(NA, 2), diff(log_stoxx, lag = 2)),
diff_stoxx_3 = c(rep(NA, 3), diff(log_stoxx, lag = 3)),
diff_stoxx_4 = c(rep(NA, 4), diff(log_stoxx, lag = 4)),
diff_stoxx_5 = c(rep(NA, 5), diff(log_stoxx, lag = 5)),
diff_stoxx_10 = c(rep(NA, 10), diff(log_stoxx, lag = 10)),
diff_euribor_1 = c(rep(NA, 1), diff(euribor, lag = 1)),
diff_euribor_2 = c(rep(NA, 2), diff(euribor, lag = 2)),
diff_euribor_3 = c(rep(NA, 3), diff(euribor, lag = 3)),
diff_euribor_4 = c(rep(NA, 4), diff(euribor, lag = 4)),
diff_euribor_5 = c(rep(NA, 5), diff(euribor, lag = 5)),
diff_euribor_10 = c(rep(NA, 10), diff(euribor, lag = 10)),
diff_ex_rate_1 = c(rep(NA, 1), diff(ex_rate, lag = 1)),
diff_ex_rate_2 = c(rep(NA, 2), diff(ex_rate, lag = 2)),
diff_ex_rate_3 = c(rep(NA, 3), diff(ex_rate, lag = 3)),
diff_ex_rate_4 = c(rep(NA, 4), diff(ex_rate, lag = 4)),
diff_ex_rate_5 = c(rep(NA, 5), diff(ex_rate, lag = 5)),
diff_ex_rate_10 = c(rep(NA, 10), diff(ex_rate, lag = 10)),
diff_sp500_1 = c(rep(NA, 1), diff(log_sp500, lag = 1)),
diff_sp500_2 = c(rep(NA, 2), diff(log_sp500, lag = 2)),
diff_sp500_3 = c(rep(NA, 3), diff(log_sp500, lag = 3)),
diff_sp500_4 = c(rep(NA, 4), diff(log_sp500, lag = 4)),
diff_sp500_5 = c(rep(NA, 5), diff(log_sp500, lag = 5)),
diff_sp500_10 = c(rep(NA, 10), diff(log_sp500, lag = 10))
)
country_direction_stoxx <- country_direction_stoxx %>%
group_by(date, country) %>%
mutate(sum_direction = sum(direction)) %>%
ungroup()
country_direction_stoxx <- country_direction_stoxx %>%
group_by(date, country) %>%
mutate(sum_tightening = sum(tightening)) %>%
ungroup()
country_direction_stoxx <- country_direction_stoxx %>%
group_by(date, country) %>%
mutate(sum_loosening = sum(loosening)) %>%
ungroup()
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_1_day_tightening = rollapply(tightening, width = 1, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_2_day_tightening = rollapply(tightening, width = 2, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_3_day_tightening = rollapply(tightening, width = 3, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_4_day_tightening = rollapply(tightening, width = 4, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_5_day_tightening = rollapply(tightening, width = 5, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_10_day_tightening = rollapply(tightening, width = 10, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_1_day_loosening = rollapply(loosening, width = 1, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_2_day_loosening = rollapply(loosening, width = 2, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_3_day_loosening = rollapply(loosening, width = 3, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_4_day_loosening = rollapply(loosening, width = 4, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_5_day_loosening = rollapply(loosening, width = 5, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx <- country_direction_stoxx %>%
arrange(date, country) %>%
mutate(sum_10_day_loosening = rollapply(loosening, width = 10, FUN = sum, fill = NA, align = 'right'))
country_direction_stoxx$lagged_stoxx_1 <- c(NA, country_direction_stoxx$diff_stoxx_1[-nrow(country_direction_stoxx)])
country_direction_stoxx$lagged_stoxx_2 <- c(NA, country_direction_stoxx$diff_stoxx_2[-nrow(country_direction_stoxx)])
country_direction_stoxx$lagged_stoxx_3 <- c(NA, country_direction_stoxx$diff_stoxx_3[-nrow(country_direction_stoxx)])
country_direction_stoxx$lagged_stoxx_4 <- c(NA, country_direction_stoxx$diff_stoxx_4[-nrow(country_direction_stoxx)])
country_direction_stoxx$lagged_stoxx_5 <- c(NA, country_direction_stoxx$diff_stoxx_5[-nrow(country_direction_stoxx)])
country_direction_stoxx$lagged_stoxx_10 <- c(NA, country_direction_stoxx$diff_stoxx_10[-nrow(country_direction_stoxx)])
tail(country_direction_stoxx,10)
A tibble: 10 × 60
|
date
|
country
|
direction
|
tightening
|
loosening
|
stoxx
|
euribor
|
ex_rate
|
sp500
|
log_stoxx
|
⋯
|
sum_3_day_loosening
|
sum_4_day_loosening
|
sum_5_day_loosening
|
sum_10_day_loosening
|
lagged_stoxx_1
|
lagged_stoxx_2
|
lagged_stoxx_3
|
lagged_stoxx_4
|
lagged_stoxx_5
|
lagged_stoxx_10
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-03-24
|
ES
|
1
|
1
|
0
|
8792.50
|
3.025
|
0.92915
|
3970.99
|
9.081654
|
⋯
|
0
|
0
|
0
|
0
|
-2.680044056
|
-2.68209082
|
-1.73935296
|
-2.6472504
|
-2.60068783
|
-1.6294159945
|
|
2023-03-29
|
SE
|
1
|
1
|
0
|
813.95
|
3.015
|
10.41275
|
4027.81
|
6.701899
|
⋯
|
0
|
0
|
0
|
0
|
1.918753118
|
-0.76129094
|
-0.76333770
|
0.1794002
|
-0.72849731
|
2.4685789185
|
|
2023-04-11
|
CZ
|
0
|
0
|
0
|
1405.30
|
3.108
|
21.52855
|
4108.94
|
7.248006
|
⋯
|
0
|
0
|
0
|
0
|
-2.379755425
|
-0.46100231
|
-3.14104636
|
-3.1430931
|
-2.20035527
|
-0.4029926149
|
|
2023-04-13
|
SE
|
1
|
1
|
0
|
848.86
|
3.177
|
10.28425
|
4146.22
|
6.743894
|
⋯
|
0
|
0
|
0
|
0
|
0.546107143
|
-1.83364828
|
0.08510484
|
-2.5949392
|
-2.59698599
|
0.1474922352
|
|
2023-05-23
|
SE
|
0
|
0
|
0
|
851.31
|
3.422
|
10.62255
|
4145.58
|
6.746776
|
⋯
|
0
|
0
|
0
|
0
|
-0.504111809
|
0.04199533
|
-2.33776009
|
-0.4190070
|
-3.09905103
|
-2.1400426022
|
|
2023-06-07
|
IE
|
1
|
1
|
0
|
8585.99
|
3.459
|
0.93392
|
4267.52
|
9.057887
|
⋯
|
0
|
0
|
0
|
0
|
0.002882067
|
-0.50122974
|
0.04487740
|
-2.3348780
|
-0.41612491
|
-3.0168127363
|
|
2023-06-19
|
CZ
|
1
|
1
|
0
|
1326.10
|
3.551
|
21.73740
|
4409.59
|
7.189998
|
⋯
|
0
|
0
|
0
|
0
|
2.311110745
|
2.31399281
|
1.80988100
|
2.3559881
|
-0.02376728
|
-0.7522645884
|
|
2023-07-12
|
UK
|
0
|
0
|
0
|
18579.54
|
3.657
|
0.76940
|
4472.16
|
9.829816
|
⋯
|
0
|
0
|
0
|
0
|
-1.867889501
|
0.44322124
|
0.44610331
|
-0.0580085
|
0.48809864
|
-1.7122566287
|
|
2023-08-02
|
UK
|
0
|
0
|
0
|
18812.88
|
3.733
|
0.78810
|
4513.39
|
9.842297
|
⋯
|
0
|
0
|
0
|
0
|
2.639818672
|
0.77192917
|
3.08303991
|
3.0859220
|
2.58181017
|
-0.0151758145
|
|
2023-10-10
|
UK
|
1
|
1
|
0
|
17967.67
|
3.988
|
0.81590
|
4358.24
|
9.796329
|
⋯
|
0
|
0
|
0
|
0
|
0.012480766
|
2.65229944
|
0.78440994
|
3.0955207
|
3.09840275
|
-0.0006482817
|
DIRECTION on VSTOXX
country_direction_vstoxx <- read.xlsx("country_direction_vstoxx.xlsx")
country_direction_vstoxx$date <- as.Date(country_direction_vstoxx$date, origin = "1899-12-30")
# Check the results
head(country_direction_vstoxx)
A data.frame: 6 × 9
|
|
date
|
country
|
direction
|
tightening
|
loosening
|
vstoxx
|
euribor
|
ex_rate
|
sp500
|
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
1
|
2001-02-02
|
DE
|
0
|
0
|
0
|
21.17
|
4.724
|
1.07135
|
1349.47
|
|
2
|
2001-04-30
|
FR
|
1
|
1
|
0
|
21.21
|
4.802
|
1.12790
|
1249.46
|
|
3
|
2006-05-29
|
DE
|
0
|
0
|
0
|
20.99
|
2.919
|
0.78398
|
1280.16
|
|
4
|
2008-09-17
|
DE
|
0
|
0
|
0
|
37.53
|
4.973
|
0.70455
|
1156.39
|
|
5
|
2008-10-28
|
UK
|
0
|
0
|
0
|
74.69
|
4.860
|
0.64140
|
940.50
|
|
6
|
2009-01-27
|
UK
|
1
|
1
|
0
|
44.60
|
2.130
|
0.70570
|
845.71
|
country_direction_vstoxx$log_sp500 <- log(country_direction_vstoxx$sp500)
country_direction_vstoxx <- country_direction_vstoxx[order(country_direction_vstoxx$date), ]
country_direction_vstoxx$lagged_vstoxx <- c(NA, country_direction_vstoxx$vstoxx[-nrow(country_direction_vstoxx)])
country_direction_vstoxx$lagged_euribor <- c(NA, country_direction_vstoxx$euribor[-nrow(country_direction_vstoxx)])
country_direction_vstoxx$lagged_ex_rate <- c(NA, country_direction_vstoxx$ex_rate[-nrow(country_direction_vstoxx)])
country_direction_vstoxx$lagged_sp500 <- c(NA, country_direction_vstoxx$log_sp500[-nrow(country_direction_vstoxx)])
country_direction_vstoxx <- country_direction_vstoxx %>%
group_by(date, country) %>%
mutate(sum_direction = sum(direction)) %>%
ungroup()
country_direction_vstoxx <- country_direction_vstoxx %>%
group_by(date, country) %>%
mutate(sum_tightening = sum(tightening)) %>%
ungroup()
country_direction_vstoxx <- country_direction_vstoxx %>%
group_by(date, country) %>%
mutate(sum_loosening = sum(loosening)) %>%
ungroup()
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_1_day_tightening = rollapply(tightening, width = 1, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_2_day_tightening = rollapply(tightening, width = 2, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_3_day_tightening = rollapply(tightening, width = 3, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_4_day_tightening = rollapply(tightening, width = 4, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_5_day_tightening = rollapply(tightening, width = 5, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_10_day_tightening = rollapply(tightening, width = 10, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_1_day_loosening = rollapply(loosening, width = 1, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_2_day_loosening = rollapply(loosening, width = 2, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_3_day_loosening = rollapply(loosening, width = 3, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_4_day_loosening = rollapply(loosening, width = 4, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_5_day_loosening = rollapply(loosening, width = 5, FUN = sum, fill = NA, align = 'right'))
country_direction_vstoxx <- country_direction_vstoxx %>%
arrange(date, country) %>%
mutate(sum_10_day_loosening = rollapply(loosening, width = 10, FUN = sum, fill = NA, align = 'right'))
tail(country_direction_vstoxx,10)
A tibble: 10 × 29
|
date
|
country
|
direction
|
tightening
|
loosening
|
vstoxx
|
euribor
|
ex_rate
|
sp500
|
log_sp500
|
⋯
|
sum_3_day_tightening
|
sum_4_day_tightening
|
sum_5_day_tightening
|
sum_10_day_tightening
|
sum_1_day_loosening
|
sum_2_day_loosening
|
sum_3_day_loosening
|
sum_4_day_loosening
|
sum_5_day_loosening
|
sum_10_day_loosening
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2023-03-24
|
ES
|
1
|
1
|
0
|
24.88
|
3.025
|
0.92915
|
3970.99
|
8.286771
|
⋯
|
2
|
2
|
3
|
6
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-03-29
|
SE
|
1
|
1
|
0
|
20.40
|
3.015
|
10.41275
|
4027.81
|
8.300978
|
⋯
|
3
|
3
|
3
|
7
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-04-11
|
CZ
|
0
|
0
|
0
|
18.82
|
3.108
|
21.52855
|
4108.94
|
8.320920
|
⋯
|
2
|
3
|
3
|
6
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-04-13
|
SE
|
1
|
1
|
0
|
17.64
|
3.177
|
10.28425
|
4146.22
|
8.329952
|
⋯
|
2
|
3
|
4
|
7
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-05-23
|
SE
|
0
|
0
|
0
|
17.67
|
3.422
|
10.62255
|
4145.58
|
8.329798
|
⋯
|
1
|
2
|
3
|
6
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-06-07
|
IE
|
1
|
1
|
0
|
15.33
|
3.459
|
0.93392
|
4267.52
|
8.358788
|
⋯
|
2
|
2
|
3
|
6
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-06-19
|
CZ
|
1
|
1
|
0
|
14.22
|
3.551
|
21.73740
|
4409.59
|
8.391537
|
⋯
|
2
|
3
|
3
|
6
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-07-12
|
UK
|
0
|
0
|
0
|
15.18
|
3.657
|
0.76940
|
4472.16
|
8.405627
|
⋯
|
2
|
2
|
3
|
6
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-08-02
|
UK
|
0
|
0
|
0
|
19.71
|
3.733
|
0.78810
|
4513.39
|
8.414804
|
⋯
|
1
|
2
|
2
|
6
|
0
|
0
|
0
|
0
|
0
|
0
|
|
2023-10-10
|
UK
|
1
|
1
|
0
|
18.61
|
3.988
|
0.81590
|
4358.24
|
8.379824
|
⋯
|
1
|
2
|
3
|
6
|
0
|
0
|
0
|
0
|
0
|
0
|
Country by Country results. Model testing.
ANNOUNCEMENT and YIELD
country_announcement_yield_cz <- country_announcement_yield %>%
filter(country == "CZ")
tail(country_announcement_yield_cz, 5)
A tibble: 5 × 49
|
date
|
country
|
announcement
|
yield
|
euribor
|
ex_rate
|
sp500
|
log_sp500
|
lagged_yield
|
lagged_euribor
|
⋯
|
sum_3_day_announcement
|
sum_4_day_announcement
|
sum_5_day_announcement
|
sum_10_day_announcement
|
lagged_yield_1
|
lagged_yield_2
|
lagged_yield_3
|
lagged_yield_4
|
lagged_yield_5
|
lagged_yield_10
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2022-07-01
|
CZ
|
0
|
4.689
|
-0.176
|
23.82135
|
3825.33
|
8.249400
|
1.985
|
-0.169
|
⋯
|
1
|
1
|
2
|
4
|
-0.328
|
-0.537
|
0.434
|
1.468
|
1.468
|
2.107
|
|
2022-07-04
|
CZ
|
1
|
4.575
|
-0.165
|
23.74040
|
3825.33
|
8.249400
|
4.689
|
-0.176
|
⋯
|
1
|
2
|
2
|
5
|
2.704
|
2.376
|
2.167
|
3.138
|
4.172
|
4.447
|
|
2023-03-24
|
CZ
|
1
|
4.567
|
3.025
|
22.01210
|
3970.99
|
8.286771
|
3.371
|
2.957
|
⋯
|
1
|
2
|
3
|
5
|
-0.204
|
1.111
|
-0.028
|
-0.534
|
1.783
|
0.849
|
|
2023-04-11
|
CZ
|
0
|
4.581
|
3.108
|
21.52855
|
4108.94
|
8.320920
|
2.228
|
3.015
|
⋯
|
2
|
3
|
3
|
6
|
-0.956
|
-2.339
|
-1.143
|
-1.347
|
-0.032
|
-2.461
|
|
2023-06-19
|
CZ
|
1
|
4.351
|
3.551
|
21.73740
|
4409.59
|
8.391537
|
2.845
|
3.459
|
⋯
|
2
|
3
|
3
|
6
|
0.458
|
0.494
|
-1.736
|
0.617
|
-0.339
|
-0.554
|
colnames(country_announcement_yield_cz)[colnames(country_announcement_yield_cz)=="diff_yield_5"] <- "CZ5"
colnames(country_announcement_yield_cz)[colnames(country_announcement_yield_cz)=="diff_yield_10"] <- "CZ10"
cz_announcement_yield_day5 <- lm(CZ5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_cz)
# Summary of the model
summary(cz_announcement_yield_day5)
Call:
lm(formula = CZ5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_cz)
Residuals:
Min 1Q Median 3Q Max
-2.2416 -0.4555 -0.1452 0.4327 2.5253
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.4268962 0.5281959 0.808 0.425
sum_5_day_announcement 0.0008382 0.1623495 0.005 0.996
diff_euribor_5 0.3200441 0.5845785 0.547 0.588
diff_ex_rate_5 0.0137682 0.0198844 0.692 0.494
diff_sp500_5 -0.8911731 1.9454889 -0.458 0.650
lagged_yield_5 0.3965328 0.1795176 2.209 0.035 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.019 on 30 degrees of freedom
Multiple R-squared: 0.234, Adjusted R-squared: 0.1063
F-statistic: 1.832 on 5 and 30 DF, p-value: 0.1365
cz_announcement_yield_day5_nw <- coeftest(cz_announcement_yield_day5, vcov = NeweyWest(cz_announcement_yield_day5)) #applying robust standard errors
print(cz_announcement_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.42689616 0.50286284 0.8489 0.40264
sum_5_day_announcement 0.00083825 0.22785674 0.0037 0.99709
diff_euribor_5 0.32004412 0.59285205 0.5398 0.59329
diff_ex_rate_5 0.01376820 0.01712538 0.8040 0.42774
diff_sp500_5 -0.89117313 2.26600601 -0.3933 0.69689
lagged_yield_5 0.39653276 0.14893600 2.6624 0.01235 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cz_announcement_yield_day10 <- lm(CZ10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_cz)
# Summary of the model
summary(cz_announcement_yield_day10)
Call:
lm(formula = CZ10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_cz)
Residuals:
Min 1Q Median 3Q Max
-1.43414 -0.62008 0.02038 0.34357 2.29269
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.26370 0.62444 0.422 0.675817
sum_10_day_announcement 0.02191 0.09796 0.224 0.824572
diff_euribor_10 0.43605 0.20111 2.168 0.038208 *
diff_ex_rate_10 0.01840 0.01823 1.009 0.320872
diff_sp500_10 0.13472 1.14478 0.118 0.907107
lagged_yield_10 0.58611 0.13528 4.333 0.000152 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.9012 on 30 degrees of freedom
Multiple R-squared: 0.4365, Adjusted R-squared: 0.3426
F-statistic: 4.647 on 5 and 30 DF, p-value: 0.002934
cz_announcement_yield_day10_nw <- coeftest(cz_announcement_yield_day10, vcov = NeweyWest(cz_announcement_yield_day10)) #applying robust standard errors
print(cz_announcement_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.2637016 0.5842866 0.4513 0.6550030
sum_10_day_announcement 0.0219052 0.1076567 0.2035 0.8401391
diff_euribor_10 0.4360470 0.1073686 4.0612 0.0003226 ***
diff_ex_rate_10 0.0183979 0.0098641 1.8651 0.0719698 .
diff_sp500_10 0.1347158 0.6975463 0.1931 0.8481602
lagged_yield_10 0.5861092 0.1707870 3.4318 0.0017689 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_yield_de <- country_announcement_yield %>%
filter(country == "DE")
colnames(country_announcement_yield_de)[colnames(country_announcement_yield_de)=="diff_yield_5"] <- "DE5"
colnames(country_announcement_yield_de)[colnames(country_announcement_yield_de)=="diff_yield_10"] <- "DE10"
de_announcement_yield_day5 <- lm(DE5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_de)
# Summary of the model
summary(de_announcement_yield_day5)
Call:
lm(formula = DE5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_de)
Residuals:
Min 1Q Median 3Q Max
-3.2596 -0.6188 0.0373 0.7722 3.4324
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.83687 0.62289 -1.344 0.20047
sum_5_day_announcement -0.06515 0.32651 -0.200 0.84471
diff_euribor_5 -1.17968 5.32480 -0.222 0.82787
diff_ex_rate_5 0.11794 0.10831 1.089 0.29456
diff_sp500_5 9.90642 7.26087 1.364 0.19399
lagged_yield_5 0.53172 0.12514 4.249 0.00081 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.552 on 14 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.6185, Adjusted R-squared: 0.4823
F-statistic: 4.54 on 5 and 14 DF, p-value: 0.0114
de_announcement_yield_day5_nw <- coeftest(de_announcement_yield_day5, vcov = NeweyWest(de_announcement_yield_day5)) #applying robust standard errors
print(de_announcement_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.836873 0.271597 -3.0813 0.0081286 **
sum_5_day_announcement -0.065154 0.112922 -0.5770 0.5731097
diff_euribor_5 -1.179684 1.932925 -0.6103 0.5514355
diff_ex_rate_5 0.117941 0.122217 0.9650 0.3509142
diff_sp500_5 9.906421 11.099919 0.8925 0.3872207
lagged_yield_5 0.531724 0.108661 4.8934 0.0002372 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
de_announcement_yield_day10 <- lm(DE10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_de)
# Summary of the model
summary(de_announcement_yield_day10)
Call:
lm(formula = DE10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_de)
Residuals:
Min 1Q Median 3Q Max
-1.09327 -0.25539 0.02547 0.28542 0.69333
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.54585 0.29845 -1.829 0.0888 .
sum_10_day_announcement -0.06058 0.06991 -0.867 0.4008
diff_euribor_10 -0.33700 0.57385 -0.587 0.5664
diff_ex_rate_10 -0.02967 0.04914 -0.604 0.5557
diff_sp500_10 0.50162 1.03346 0.485 0.6349
lagged_yield_10 0.07404 0.04329 1.710 0.1092
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5334 on 14 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.323, Adjusted R-squared: 0.08121
F-statistic: 1.336 on 5 and 14 DF, p-value: 0.3057
de_announcement_yield_day10_nw <- coeftest(de_announcement_yield_day10, vcov = NeweyWest(de_announcement_yield_day10)) #applying robust standard errors
print(de_announcement_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.545853 0.245947 -2.2194 0.04349 *
sum_10_day_announcement -0.060578 0.053258 -1.1374 0.27445
diff_euribor_10 -0.336996 0.235058 -1.4337 0.17362
diff_ex_rate_10 -0.029669 0.039595 -0.7493 0.46608
diff_sp500_10 0.501615 0.528649 0.9489 0.35878
lagged_yield_10 0.074041 0.042987 1.7224 0.10701
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_yield_es <- country_announcement_yield %>%
filter(country == "ES")
colnames(country_announcement_yield_es)[colnames(country_announcement_yield_es)=="diff_yield_5"] <- "ES5"
colnames(country_announcement_yield_es)[colnames(country_announcement_yield_es)=="diff_yield_10"] <- "ES10"
es_announcement_yield_day5 <- lm(ES5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_es)
# Summary of the model
summary(es_announcement_yield_day5)
Call:
lm(formula = ES5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_es)
Residuals:
Min 1Q Median 3Q Max
-2.4083 -0.9955 -0.4293 0.5812 4.7133
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.51410 0.98278 -1.541 0.13989
sum_5_day_announcement 0.83191 0.38249 2.175 0.04247 *
diff_euribor_5 -0.58601 1.32223 -0.443 0.66263
diff_ex_rate_5 0.04438 0.05096 0.871 0.39474
diff_sp500_5 12.85175 6.12031 2.100 0.04933 *
lagged_yield_5 0.46596 0.15997 2.913 0.00892 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.736 on 19 degrees of freedom
Multiple R-squared: 0.539, Adjusted R-squared: 0.4176
F-statistic: 4.442 on 5 and 19 DF, p-value: 0.007547
es_announcement_yield_day5_nw <- coeftest(es_announcement_yield_day5, vcov = NeweyWest(es_announcement_yield_day5)) #applying robust standard errors
print(es_announcement_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.514104 0.605373 -2.5011 0.02169 *
sum_5_day_announcement 0.831910 0.333898 2.4915 0.02213 *
diff_euribor_5 -0.586007 1.098827 -0.5333 0.60001
diff_ex_rate_5 0.044379 0.021896 2.0268 0.05695 .
diff_sp500_5 12.851752 7.643729 1.6813 0.10906
lagged_yield_5 0.465958 0.398297 1.1699 0.25652
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
es_announcement_yield_day10 <- lm(ES10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_es)
# Summary of the model
summary(es_announcement_yield_day10)
Call:
lm(formula = ES10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_es)
Residuals:
Min 1Q Median 3Q Max
-5.5758 -1.1611 0.3667 1.1160 3.0188
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.545180 1.442529 -3.844 0.00109 **
sum_10_day_announcement 1.047394 0.276100 3.794 0.00123 **
diff_euribor_10 -0.632165 0.748205 -0.845 0.40868
diff_ex_rate_10 0.008955 0.053303 0.168 0.86836
diff_sp500_10 5.547056 3.952448 1.403 0.17662
lagged_yield_10 0.673069 0.409091 1.645 0.11635
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.174 on 19 degrees of freedom
Multiple R-squared: 0.5489, Adjusted R-squared: 0.4302
F-statistic: 4.623 on 5 and 19 DF, p-value: 0.006281
es_announcement_yield_day10_nw <- coeftest(es_announcement_yield_day10, vcov = NeweyWest(es_announcement_yield_day10)) #applying robust standard errors
print(es_announcement_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.5451801 3.5151741 -1.5775 0.131185
sum_10_day_announcement 1.0473938 0.5085359 2.0596 0.053403 .
diff_euribor_10 -0.6321653 0.6683133 -0.9459 0.356069
diff_ex_rate_10 0.0089546 0.0460203 0.1946 0.847787
diff_sp500_10 5.5470564 9.3381264 0.5940 0.559504
lagged_yield_10 0.6730688 0.2342928 2.8728 0.009744 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_yield_fr <- country_announcement_yield %>%
filter(country == "FR")
colnames(country_announcement_yield_fr)[colnames(country_announcement_yield_fr)=="diff_yield_5"] <- "FR5"
colnames(country_announcement_yield_fr)[colnames(country_announcement_yield_fr)=="diff_yield_10"] <- "FR10"
fr_announcement_yield_day5 <- lm(FR5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_fr)
# Summary of the model
summary(fr_announcement_yield_day5)
Call:
lm(formula = FR5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_fr)
Residuals:
Min 1Q Median 3Q Max
-6.5309 -0.3825 0.3656 1.0786 2.1330
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.01227 2.27606 -1.323 0.21831
sum_5_day_announcement 0.79104 0.84811 0.933 0.37532
diff_euribor_5 -9.69547 16.34687 -0.593 0.56771
diff_ex_rate_5 -0.11504 0.09172 -1.254 0.24135
diff_sp500_5 -9.70356 9.50416 -1.021 0.33392
lagged_yield_5 1.06028 0.23406 4.530 0.00143 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.532 on 9 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.7322, Adjusted R-squared: 0.5834
F-statistic: 4.921 on 5 and 9 DF, p-value: 0.01903
fr_announcement_yield_day5_nw <- coeftest(fr_announcement_yield_day5, vcov = NeweyWest(fr_announcement_yield_day5)) #applying robust standard errors
print(fr_announcement_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.012271 1.408566 -2.1385 0.061167 .
sum_5_day_announcement 0.791038 0.351455 2.2508 0.050941 .
diff_euribor_5 -9.695468 6.435148 -1.5066 0.166169
diff_ex_rate_5 -0.115041 0.036530 -3.1493 0.011752 *
diff_sp500_5 -9.703561 2.113352 -4.5916 0.001306 **
lagged_yield_5 1.060284 0.081696 12.9783 3.939e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
fr_announcement_yield_day10 <- lm(FR10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_fr)
# Summary of the model
summary(fr_announcement_yield_day10)
Call:
lm(formula = FR10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_fr)
Residuals:
Min 1Q Median 3Q Max
-1.7341 -0.8707 -0.1050 0.6519 1.9353
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.457026 1.198578 -0.381 0.712
sum_10_day_announcement -0.059485 0.240622 -0.247 0.810
diff_euribor_10 -3.134788 4.616491 -0.679 0.514
diff_ex_rate_10 -0.004971 0.049826 -0.100 0.923
diff_sp500_10 -3.213379 2.338675 -1.374 0.203
lagged_yield_10 1.175392 0.174524 6.735 8.51e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.498 on 9 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.8557, Adjusted R-squared: 0.7755
F-statistic: 10.67 on 5 and 9 DF, p-value: 0.001414
fr_announcement_yield_day10_nw <- coeftest(fr_announcement_yield_day10, vcov = NeweyWest(fr_announcement_yield_day10)) #applying robust standard errors
print(fr_announcement_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.4570256 0.4694279 -0.9736 0.355704
sum_10_day_announcement -0.0594849 0.0936473 -0.6352 0.541108
diff_euribor_10 -3.1347885 0.8859007 -3.5385 0.006329 **
diff_ex_rate_10 -0.0049709 0.0210045 -0.2367 0.818220
diff_sp500_10 -3.2133790 0.8654741 -3.7129 0.004824 **
lagged_yield_10 1.1753923 0.1258787 9.3375 6.312e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_yield_gr <- country_announcement_yield %>%
filter(country == "GR")
colnames(country_announcement_yield_gr)[colnames(country_announcement_yield_gr)=="diff_yield_5"] <- "GR5"
colnames(country_announcement_yield_gr)[colnames(country_announcement_yield_gr)=="diff_yield_10"] <- "GR10"
gr_announcement_yield_day5 <- lm(GR5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_gr)
# Summary of the model
summary(gr_announcement_yield_day5)
Call:
lm(formula = GR5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_gr)
Residuals:
Min 1Q Median 3Q Max
-10.6477 -6.0751 0.2374 3.5753 15.6142
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.92446 4.43348 1.787 0.0917 .
sum_5_day_announcement 0.23154 1.91626 0.121 0.9052
diff_euribor_5 -40.97327 17.63592 -2.323 0.0328 *
diff_ex_rate_5 1.05457 0.55814 1.889 0.0760 .
diff_sp500_5 44.98990 39.75373 1.132 0.2735
lagged_yield_5 0.08972 0.22770 0.394 0.6985
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.225 on 17 degrees of freedom
Multiple R-squared: 0.4896, Adjusted R-squared: 0.3395
F-statistic: 3.261 on 5 and 17 DF, p-value: 0.03025
gr_announcement_yield_day5_nw <- coeftest(gr_announcement_yield_day5, vcov = NeweyWest(gr_announcement_yield_day5)) #applying robust standard errors
print(gr_announcement_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.924455 4.891005 1.6202 0.123587
sum_5_day_announcement 0.231535 1.771663 0.1307 0.897556
diff_euribor_5 -40.973273 13.656315 -3.0003 0.008049 **
diff_ex_rate_5 1.054569 0.309206 3.4106 0.003331 **
diff_sp500_5 44.989898 26.762559 1.6811 0.111027
lagged_yield_5 0.089718 0.105123 0.8535 0.405272
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
gr_announcement_yield_day10 <- lm(GR10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_gr)
# Summary of the model
summary(gr_announcement_yield_day10)
Call:
lm(formula = GR10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_gr)
Residuals:
Min 1Q Median 3Q Max
-13.3797 -4.9976 -0.2441 2.6293 17.6905
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.8065 5.2765 0.911 0.375
sum_10_day_announcement 1.1905 1.4055 0.847 0.409
diff_euribor_10 -23.9072 15.5964 -1.533 0.144
diff_ex_rate_10 0.5230 0.9580 0.546 0.592
diff_sp500_10 -7.6991 42.3270 -0.182 0.858
lagged_yield_10 0.2256 0.2442 0.924 0.369
Residual standard error: 9.037 on 17 degrees of freedom
Multiple R-squared: 0.2842, Adjusted R-squared: 0.07372
F-statistic: 1.35 on 5 and 17 DF, p-value: 0.2913
gr_announcement_yield_day10_nw <- coeftest(gr_announcement_yield_day10, vcov = NeweyWest(gr_announcement_yield_day10)) #applying robust standard errors
print(gr_announcement_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.80653 4.66389 1.0306 0.31718
sum_10_day_announcement 1.19051 1.04405 1.1403 0.26998
diff_euribor_10 -23.90718 18.85885 -1.2677 0.22200
diff_ex_rate_10 0.52299 0.52143 1.0030 0.32992
diff_sp500_10 -7.69910 20.77753 -0.3705 0.71555
lagged_yield_10 0.22557 0.10353 2.1788 0.04371 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_yield_ie <- country_announcement_yield %>%
filter(country == "IE")
colnames(country_announcement_yield_ie)[colnames(country_announcement_yield_ie)=="diff_yield_5"] <- "IE5"
colnames(country_announcement_yield_ie)[colnames(country_announcement_yield_ie)=="diff_yield_10"] <- "IE10"
ie_announcement_yield_day5 <- lm(IE5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_ie)
# Summary of the model
summary(ie_announcement_yield_day5)
Call:
lm(formula = IE5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_ie)
Residuals:
Min 1Q Median 3Q Max
-2.1475 -0.6775 -0.0542 0.6370 3.4563
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.54097 0.56634 -0.955 0.35213
sum_5_day_announcement 0.18599 0.21643 0.859 0.40144
diff_euribor_5 -1.41408 0.84681 -1.670 0.11224
diff_ex_rate_5 0.03816 0.05660 0.674 0.50876
diff_sp500_5 -0.69553 2.66543 -0.261 0.79710
lagged_yield_5 0.77280 0.20989 3.682 0.00171 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.309 on 18 degrees of freedom
Multiple R-squared: 0.5149, Adjusted R-squared: 0.3802
F-statistic: 3.821 on 5 and 18 DF, p-value: 0.01555
ie_announcement_yield_day5_nw <- coeftest(ie_announcement_yield_day5, vcov = NeweyWest(ie_announcement_yield_day5)) #applying robust standard errors
print(ie_announcement_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.540968 0.426795 -1.2675 0.221124
sum_5_day_announcement 0.185990 0.292805 0.6352 0.533289
diff_euribor_5 -1.414079 0.542590 -2.6062 0.017866 *
diff_ex_rate_5 0.038160 0.035232 1.0831 0.293055
diff_sp500_5 -0.695534 1.839108 -0.3782 0.709712
lagged_yield_5 0.772803 0.233014 3.3166 0.003838 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ie_announcement_yield_day10 <- lm(IE10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_ie)
# Summary of the model
summary(ie_announcement_yield_day10)
Call:
lm(formula = IE10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_ie)
Residuals:
Min 1Q Median 3Q Max
-1.6127 -0.8430 -0.0996 0.4352 3.3840
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.37017 0.69097 -1.983 0.0628 .
sum_10_day_announcement 0.26560 0.13573 1.957 0.0661 .
diff_euribor_10 0.13023 0.49299 0.264 0.7946
diff_ex_rate_10 0.01579 0.03732 0.423 0.6771
diff_sp500_10 0.25285 2.09402 0.121 0.9052
lagged_yield_10 0.44996 0.21842 2.060 0.0541 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.346 on 18 degrees of freedom
Multiple R-squared: 0.3844, Adjusted R-squared: 0.2134
F-statistic: 2.248 on 5 and 18 DF, p-value: 0.09379
ie_announcement_yield_day10_nw <- coeftest(ie_announcement_yield_day10, vcov = NeweyWest(ie_announcement_yield_day10)) #applying robust standard errors
print(ie_announcement_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.370168 0.389531 -3.5175 0.002459 **
sum_10_day_announcement 0.265602 0.116728 2.2754 0.035341 *
diff_euribor_10 0.130235 0.170348 0.7645 0.454463
diff_ex_rate_10 0.015795 0.018743 0.8427 0.410457
diff_sp500_10 0.252851 2.031124 0.1245 0.902308
lagged_yield_10 0.449960 0.179009 2.5136 0.021685 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_yield_se <- country_announcement_yield %>%
filter(country == "SE")
colnames(country_announcement_yield_se)[colnames(country_announcement_yield_se)=="diff_yield_5"] <- "SE5"
colnames(country_announcement_yield_se)[colnames(country_announcement_yield_se)=="diff_yield_10"] <- "SE10"
se_announcement_yield_day5 <- lm(SE5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_se)
# Summary of the model
summary(se_announcement_yield_day5)
Call:
lm(formula = SE5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_se)
Residuals:
Min 1Q Median 3Q Max
-9.6830 -0.3817 0.2371 0.5541 1.8063
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.729509 0.481737 -1.514 0.136
sum_5_day_announcement 0.204031 0.166700 1.224 0.227
diff_euribor_5 0.012667 1.222421 0.010 0.992
diff_ex_rate_5 -0.002343 0.039364 -0.060 0.953
diff_sp500_5 -3.509143 4.777527 -0.735 0.466
lagged_yield_5 0.043888 0.161244 0.272 0.787
Residual standard error: 1.624 on 49 degrees of freedom
Multiple R-squared: 0.04139, Adjusted R-squared: -0.05643
F-statistic: 0.4231 on 5 and 49 DF, p-value: 0.8303
se_announcement_yield_day5_nw <- coeftest(se_announcement_yield_day5, vcov = NeweyWest(se_announcement_yield_day5)) #applying robust standard errors
print(se_announcement_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.729509 0.802650 -0.9089 0.3679
sum_5_day_announcement 0.204031 0.216965 0.9404 0.3516
diff_euribor_5 0.012667 1.158706 0.0109 0.9913
diff_ex_rate_5 -0.002343 0.049864 -0.0470 0.9627
diff_sp500_5 -3.509143 2.603476 -1.3479 0.1839
lagged_yield_5 0.043888 0.143613 0.3056 0.7612
se_announcement_yield_day10 <- lm(SE10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_se)
# Summary of the model
summary(se_announcement_yield_day10)
Call:
lm(formula = SE10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_se)
Residuals:
Min 1Q Median 3Q Max
-10.7270 -0.3990 0.0429 0.8054 2.5263
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.851774 0.824706 -1.033 0.307
sum_10_day_announcement 0.084893 0.140660 0.604 0.549
diff_euribor_10 -0.205284 0.407715 -0.503 0.617
diff_ex_rate_10 0.004026 0.044459 0.091 0.928
diff_sp500_10 0.018941 4.427178 0.004 0.997
lagged_yield_10 0.064140 0.166922 0.384 0.702
Residual standard error: 1.834 on 49 degrees of freedom
Multiple R-squared: 0.01656, Adjusted R-squared: -0.08379
F-statistic: 0.165 on 5 and 49 DF, p-value: 0.9742
se_announcement_yield_day10_nw <- coeftest(se_announcement_yield_day10, vcov = NeweyWest(se_announcement_yield_day10)) #applying robust standard errors
print(se_announcement_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.8517740 0.5337876 -1.5957 0.1170
sum_10_day_announcement 0.0848932 0.0707253 1.2003 0.2358
diff_euribor_10 -0.2052842 0.1532249 -1.3398 0.1865
diff_ex_rate_10 0.0040259 0.0191891 0.2098 0.8347
diff_sp500_10 0.0189409 4.3484674 0.0044 0.9965
lagged_yield_10 0.0641404 0.1727427 0.3713 0.7120
country_announcement_yield_uk <- country_announcement_yield %>%
filter(country == "UK")
colnames(country_announcement_yield_uk)[colnames(country_announcement_yield_uk)=="diff_yield_5"] <- "UK5"
colnames(country_announcement_yield_uk)[colnames(country_announcement_yield_uk)=="diff_yield_10"] <- "UK10"
uk_announcement_yield_day5 <- lm(UK5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_uk)
# Summary of the model
summary(uk_announcement_yield_day5)
Call:
lm(formula = UK5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_announcement_yield_uk)
Residuals:
Min 1Q Median 3Q Max
-34.706 0.226 0.466 0.797 11.835
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.72243 0.54468 -1.326 0.186
sum_5_day_announcement 0.10386 0.19896 0.522 0.602
diff_euribor_5 0.45179 0.54793 0.825 0.410
diff_ex_rate_5 -0.02904 0.04894 -0.593 0.553
diff_sp500_5 0.93255 3.29416 0.283 0.777
lagged_yield_5 0.29381 0.05509 5.333 2.31e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.709 on 230 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.1184, Adjusted R-squared: 0.09922
F-statistic: 6.177 on 5 and 230 DF, p-value: 2.151e-05
uk_announcement_yield_day5_nw <- coeftest(uk_announcement_yield_day5, vcov = NeweyWest(uk_announcement_yield_day5)) #applying robust standard errors
print(uk_announcement_yield_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.722427 0.706075 -1.0232 0.30731
sum_5_day_announcement 0.103856 0.221556 0.4688 0.63969
diff_euribor_5 0.451793 0.236759 1.9082 0.05761 .
diff_ex_rate_5 -0.029043 0.025400 -1.1434 0.25405
diff_sp500_5 0.932547 1.686026 0.5531 0.58073
lagged_yield_5 0.293806 0.136254 2.1563 0.03210 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
uk_announcement_yield_day10 <- lm(UK10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_uk)
# Summary of the model
summary(uk_announcement_yield_day10)
Call:
lm(formula = UK10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_announcement_yield_uk)
Residuals:
Min 1Q Median 3Q Max
-34.284 0.201 0.557 0.956 14.046
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.00133 0.70469 -1.421 0.157
sum_10_day_announcement 0.08615 0.13457 0.640 0.523
diff_euribor_10 0.63953 0.45525 1.405 0.161
diff_ex_rate_10 -0.02878 0.05504 -0.523 0.602
diff_sp500_10 1.61306 2.75719 0.585 0.559
lagged_yield_10 0.34379 0.05448 6.311 1.46e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.809 on 225 degrees of freedom
(7 observations deleted due to missingness)
Multiple R-squared: 0.1751, Adjusted R-squared: 0.1568
F-statistic: 9.554 on 5 and 225 DF, p-value: 2.787e-08
uk_announcement_yield_day10_nw <- coeftest(uk_announcement_yield_day10, vcov = NeweyWest(uk_announcement_yield_day10)) #applying robust standard errors
print(uk_announcement_yield_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.001332 0.827255 -1.2104 0.227385
sum_10_day_announcement 0.086151 0.148206 0.5813 0.561623
diff_euribor_10 0.639534 0.447626 1.4287 0.154471
diff_ex_rate_10 -0.028776 0.024604 -1.1696 0.243413
diff_sp500_10 1.613056 1.801250 0.8955 0.371466
lagged_yield_10 0.343794 0.115867 2.9671 0.003331 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ANNOUNCEMENT on STOXX. Country by country.
country_announcement_stoxx_cz <- country_announcement_stoxx %>%
filter(country == "CZ")
colnames(country_announcement_stoxx_cz)[colnames(country_announcement_stoxx_cz)=="diff_stoxx_5"] <- "CZ5"
colnames(country_announcement_stoxx_cz)[colnames(country_announcement_stoxx_cz)=="diff_stoxx_10"] <- "CZ10"
cz_stoxx_day5 <- lm(CZ5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_cz)
# Summary of the model
summary(cz_stoxx_day5)
Call:
lm(formula = CZ5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_cz)
Residuals:
Min 1Q Median 3Q Max
-1.2553 -0.5054 -0.1619 0.4483 1.7521
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.08092 0.45430 0.178 0.8598
sum_5_day_announcement 0.17154 0.14109 1.216 0.2335
diff_euribor_5 -0.30053 0.48748 -0.616 0.5422
diff_ex_rate_5 -0.10311 0.01737 -5.937 1.66e-06 ***
diff_sp500_5 -0.30285 1.65320 -0.183 0.8559
lagged_stoxx_5 0.17059 0.09917 1.720 0.0957 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8754 on 30 degrees of freedom
Multiple R-squared: 0.6233, Adjusted R-squared: 0.5605
F-statistic: 9.926 on 5 and 30 DF, p-value: 1.121e-05
cz_announcement_stoxx_day5_nw <- coeftest(cz_stoxx_day5, vcov = NeweyWest(cz_stoxx_day5)) #applying robust standard errors
print(cz_announcement_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.080924 0.380919 0.2124 0.83320
sum_5_day_announcement 0.171543 0.102438 1.6746 0.10441
diff_euribor_5 -0.300530 0.332159 -0.9048 0.37279
diff_ex_rate_5 -0.103108 0.011289 -9.1332 3.617e-10 ***
diff_sp500_5 -0.302845 1.767137 -0.1714 0.86508
lagged_stoxx_5 0.170591 0.084087 2.0287 0.05144 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cz_stoxx_day10 <- lm(CZ10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_cz)
# Summary of the model
summary(cz_stoxx_day10)
Call:
lm(formula = CZ10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_cz)
Residuals:
Min 1Q Median 3Q Max
-1.45327 -0.53727 -0.04222 0.43731 1.76183
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.07343 0.62818 0.117 0.9077
sum_10_day_announcement 0.05048 0.09795 0.515 0.6100
diff_euribor_10 -0.06700 0.20167 -0.332 0.7420
diff_ex_rate_10 -0.09679 0.01935 -5.002 2.32e-05 ***
diff_sp500_10 1.49686 1.15324 1.298 0.2042
lagged_stoxx_10 0.18165 0.08885 2.044 0.0498 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.9097 on 30 degrees of freedom
Multiple R-squared: 0.6354, Adjusted R-squared: 0.5747
F-statistic: 10.46 on 5 and 30 DF, p-value: 7.027e-06
cz_announcement_stoxx_day10_nw <- coeftest(cz_stoxx_day10, vcov = NeweyWest(cz_stoxx_day10)) #applying robust standard errors
print(cz_announcement_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.073435 0.656505 0.1119 0.911682
sum_10_day_announcement 0.050485 0.101584 0.4970 0.622828
diff_euribor_10 -0.066999 0.101883 -0.6576 0.515802
diff_ex_rate_10 -0.096791 0.017103 -5.6594 3.625e-06 ***
diff_sp500_10 1.496859 0.543560 2.7538 0.009908 **
lagged_stoxx_10 0.181649 0.113526 1.6001 0.120065
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_stoxx_de <- country_announcement_stoxx %>%
filter(country == "DE")
colnames(country_announcement_stoxx_de)[colnames(country_announcement_stoxx_de)=="diff_stoxx_5"] <- "DE5"
colnames(country_announcement_stoxx_de)[colnames(country_announcement_stoxx_de)=="diff_stoxx_10"] <- "DE10"
de_stoxx_day5 <- lm(DE5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_de)
# Summary of the model
summary(de_stoxx_day5)
Call:
lm(formula = DE5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_de)
Residuals:
Min 1Q Median 3Q Max
-0.84218 -0.42015 -0.06868 0.38954 1.00968
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.05650 0.23979 4.406 0.000598 ***
sum_5_day_announcement -0.19584 0.13164 -1.488 0.159007
diff_euribor_5 -0.07776 2.12062 -0.037 0.971265
diff_ex_rate_5 -0.37975 0.04258 -8.918 3.78e-07 ***
diff_sp500_5 -13.45415 2.82240 -4.767 0.000301 ***
lagged_stoxx_5 -0.01261 0.09618 -0.131 0.897538
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6081 on 14 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.8735, Adjusted R-squared: 0.8283
F-statistic: 19.33 on 5 and 14 DF, p-value: 7.743e-06
de_announcement_stoxx_day5_nw <- coeftest(de_stoxx_day5, vcov = NeweyWest(de_stoxx_day5)) #applying robust standard errors
print(de_announcement_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.056505 0.152927 6.9086 7.225e-06 ***
sum_5_day_announcement -0.195842 0.122159 -1.6032 0.131211
diff_euribor_5 -0.077764 1.509472 -0.0515 0.959641
diff_ex_rate_5 -0.379752 0.073972 -5.1337 0.000152 ***
diff_sp500_5 -13.454153 3.351098 -4.0148 0.001278 **
lagged_stoxx_5 -0.012612 0.099912 -0.1262 0.901347
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
de_stoxx_day10 <- lm(DE10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_de)
# Summary of the model
summary(de_stoxx_day10)
Call:
lm(formula = DE10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_de)
Residuals:
Min 1Q Median 3Q Max
-0.98234 -0.26105 -0.01184 0.27375 0.86954
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.02962 0.32408 3.177 0.00672 **
sum_10_day_announcement -0.12906 0.07568 -1.705 0.11023
diff_euribor_10 -0.46644 0.61448 -0.759 0.46039
diff_ex_rate_10 -0.40218 0.05185 -7.756 1.96e-06 ***
diff_sp500_10 3.28485 1.07763 3.048 0.00868 **
lagged_stoxx_10 -0.04240 0.07701 -0.551 0.59056
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5803 on 14 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.858, Adjusted R-squared: 0.8073
F-statistic: 16.92 on 5 and 14 DF, p-value: 1.7e-05
de_announcement_stoxx_day10_nw <- coeftest(de_stoxx_day10, vcov = NeweyWest(de_stoxx_day10)) #applying robust standard errors
print(de_announcement_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.029623 0.302359 3.4053 0.004268 **
sum_10_day_announcement -0.129056 0.055348 -2.3317 0.035167 *
diff_euribor_10 -0.466444 0.178775 -2.6091 0.020608 *
diff_ex_rate_10 -0.402178 0.059167 -6.7973 8.635e-06 ***
diff_sp500_10 3.284846 0.369759 8.8837 3.963e-07 ***
lagged_stoxx_10 -0.042403 0.064832 -0.6540 0.523681
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_stoxx_es <- country_announcement_stoxx %>%
filter(country == "ES")
colnames(country_announcement_stoxx_es)[colnames(country_announcement_stoxx_es)=="diff_stoxx_5"] <- "ES5"
colnames(country_announcement_stoxx_es)[colnames(country_announcement_stoxx_es)=="diff_stoxx_10"] <- "ES10"
es_stoxx_day5 <- lm(ES5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_es)
# Summary of the model
summary(es_stoxx_day5)
Call:
lm(formula = ES5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_es)
Residuals:
Min 1Q Median 3Q Max
-1.78279 -0.47142 -0.07058 0.16567 2.37362
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.15504 0.56321 0.275 0.786068
sum_5_day_announcement -0.01416 0.22140 -0.064 0.949680
diff_euribor_5 -0.04154 0.80798 -0.051 0.959538
diff_ex_rate_5 -0.11919 0.02962 -4.024 0.000726 ***
diff_sp500_5 2.29969 3.39948 0.676 0.506887
lagged_stoxx_5 0.10813 0.16402 0.659 0.517660
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.01 on 19 degrees of freedom
Multiple R-squared: 0.501, Adjusted R-squared: 0.3696
F-statistic: 3.815 on 5 and 19 DF, p-value: 0.01463
es_announcement_stoxx_day5_nw <- coeftest(es_stoxx_day5, vcov = NeweyWest(es_stoxx_day5)) #applying robust standard errors
print(es_announcement_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.155043 0.372210 0.4165 0.6817
sum_5_day_announcement -0.014158 0.134618 -0.1052 0.9173
diff_euribor_5 -0.041536 0.733891 -0.0566 0.9555
diff_ex_rate_5 -0.119190 0.016363 -7.2842 6.55e-07 ***
diff_sp500_5 2.299690 1.449332 1.5867 0.1291
lagged_stoxx_5 0.108126 0.086774 1.2461 0.2279
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
es_stoxx_day10 <- lm(ES10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_es)
# Summary of the model
summary(es_stoxx_day10)
Call:
lm(formula = ES10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_es)
Residuals:
Min 1Q Median 3Q Max
-1.4691 -0.3749 -0.2000 0.2597 1.4974
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.43333 0.54629 2.624 0.01672 *
sum_10_day_announcement -0.14286 0.10447 -1.368 0.18741
diff_euribor_10 0.40746 0.28187 1.446 0.16460
diff_ex_rate_10 -0.08306 0.02278 -3.646 0.00172 **
diff_sp500_10 -0.13347 1.48490 -0.090 0.92932
lagged_stoxx_10 -0.01065 0.14289 -0.075 0.94138
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8299 on 19 degrees of freedom
Multiple R-squared: 0.5284, Adjusted R-squared: 0.4043
F-statistic: 4.258 on 5 and 19 DF, p-value: 0.009129
es_announcement_stoxx_day10_nw <- coeftest(es_stoxx_day10, vcov = NeweyWest(es_stoxx_day10)) #applying robust standard errors
print(es_announcement_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.433333 0.283940 5.0480 7.143e-05 ***
sum_10_day_announcement -0.142864 0.083551 -1.7099 0.10356
diff_euribor_10 0.407460 0.170644 2.3878 0.02749 *
diff_ex_rate_10 -0.083061 0.030606 -2.7139 0.01377 *
diff_sp500_10 -0.133468 0.784122 -0.1702 0.86664
lagged_stoxx_10 -0.010647 0.191983 -0.0555 0.95635
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_stoxx_fr <- country_announcement_stoxx %>%
filter(country == "FR")
colnames(country_announcement_stoxx_fr)[colnames(country_announcement_stoxx_fr)=="diff_stoxx_5"] <- "FR5"
colnames(country_announcement_stoxx_fr)[colnames(country_announcement_stoxx_fr)=="diff_stoxx_10"] <- "FR10"
fr_stoxx_day5 <- lm(FR5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_fr)
# Summary of the model
summary(fr_stoxx_day5)
Call:
lm(formula = FR5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_fr)
Residuals:
Min 1Q Median 3Q Max
-1.30121 -0.61544 -0.05797 0.82259 1.02829
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.44607 0.90790 -0.491 0.6350
sum_5_day_announcement -0.04705 0.34097 -0.138 0.8933
diff_euribor_5 -0.42873 6.56538 -0.065 0.9494
diff_ex_rate_5 -0.08869 0.03687 -2.406 0.0395 *
diff_sp500_5 -0.86464 3.73109 -0.232 0.8219
lagged_stoxx_5 -0.00470 0.20508 -0.023 0.9822
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.017 on 9 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.4362, Adjusted R-squared: 0.123
F-statistic: 1.393 on 5 and 9 DF, p-value: 0.3132
fr_announcement_stoxx_day5_nw <- coeftest(fr_stoxx_day5, vcov = NeweyWest(fr_stoxx_day5)) #applying robust standard errors
print(fr_announcement_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.446071 0.587226 -0.7596 0.4669
sum_5_day_announcement -0.047049 0.229441 -0.2051 0.8421
diff_euribor_5 -0.428734 2.581485 -0.1661 0.8718
diff_ex_rate_5 -0.088690 0.012013 -7.3825 4.18e-05 ***
diff_sp500_5 -0.864637 1.789644 -0.4831 0.6405
lagged_stoxx_5 -0.004700 0.069982 -0.0672 0.9479
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
fr_stoxx_day10 <- lm(FR10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_fr)
# Summary of the model
summary(fr_stoxx_day10)
Call:
lm(formula = FR10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_fr)
Residuals:
Min 1Q Median 3Q Max
-0.60785 -0.29809 -0.03654 0.17442 1.55804
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.47255 0.48856 -0.967 0.358695
sum_10_day_announcement -0.16389 0.09832 -1.667 0.129898
diff_euribor_10 1.44954 2.05843 0.704 0.499126
diff_ex_rate_10 -0.11507 0.02137 -5.385 0.000442 ***
diff_sp500_10 3.42012 0.98614 3.468 0.007069 **
lagged_stoxx_10 0.07052 0.08375 0.842 0.421576
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6418 on 9 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.8414, Adjusted R-squared: 0.7533
F-statistic: 9.549 on 5 and 9 DF, p-value: 0.002117
fr_announcement_stoxx_day10_nw <- coeftest(fr_stoxx_day10, vcov = NeweyWest(fr_stoxx_day10)) #applying robust standard errors
print(fr_announcement_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.472552 0.349180 -1.3533 0.208964
sum_10_day_announcement -0.163889 0.036523 -4.4873 0.001516 **
diff_euribor_10 1.449537 1.067520 1.3579 0.207574
diff_ex_rate_10 -0.115070 0.015042 -7.6500 3.159e-05 ***
diff_sp500_10 3.420123 0.433318 7.8929 2.465e-05 ***
lagged_stoxx_10 0.070521 0.122244 0.5769 0.578157
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_stoxx_gr <- country_announcement_stoxx %>%
filter(country == "GR")
colnames(country_announcement_stoxx_gr)[colnames(country_announcement_stoxx_gr)=="diff_stoxx_5"] <- "GR5"
colnames(country_announcement_stoxx_gr)[colnames(country_announcement_stoxx_gr)=="diff_stoxx_10"] <- "GR10"
gr_stoxx_day5 <- lm(GR5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_gr)
# Summary of the model
summary(gr_stoxx_day5)
Call:
lm(formula = GR5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_gr)
Residuals:
Min 1Q Median 3Q Max
-1.4327 -0.6127 -0.1731 0.5986 2.3302
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.50255 0.57014 -2.635 0.0174 *
sum_5_day_announcement 0.27860 0.24698 1.128 0.2750
diff_euribor_5 1.21199 2.19329 0.553 0.5877
diff_ex_rate_5 -0.03479 0.07256 -0.479 0.6378
diff_sp500_5 5.22949 5.16179 1.013 0.3252
lagged_stoxx_5 -0.19060 0.17342 -1.099 0.2871
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.073 on 17 degrees of freedom
Multiple R-squared: 0.3478, Adjusted R-squared: 0.156
F-statistic: 1.813 on 5 and 17 DF, p-value: 0.1639
gr_announcement_stoxx_day5_nw <- coeftest(gr_stoxx_day5, vcov = NeweyWest(gr_stoxx_day5)) #applying robust standard errors
print(gr_announcement_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.502547 0.669997 -2.2426 0.03854 *
sum_5_day_announcement 0.278604 0.254273 1.0957 0.28850
diff_euribor_5 1.211986 2.257736 0.5368 0.59835
diff_ex_rate_5 -0.034785 0.090719 -0.3834 0.70614
diff_sp500_5 5.229491 6.869040 0.7613 0.45690
lagged_stoxx_5 -0.190602 0.120314 -1.5842 0.13157
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
gr_stoxx_day10 <- lm(GR10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_gr)
# Summary of the model
summary(gr_stoxx_day10)
Call:
lm(formula = GR10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_gr)
Residuals:
Min 1Q Median 3Q Max
-1.16281 -0.34620 -0.00931 0.19135 1.32036
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.46739 0.35953 -6.863 2.75e-06 ***
sum_10_day_announcement 0.32342 0.09304 3.476 0.00289 **
diff_euribor_10 -0.09422 0.93782 -0.100 0.92115
diff_ex_rate_10 -0.62193 0.06214 -10.008 1.53e-08 ***
diff_sp500_10 6.46742 2.78108 2.326 0.03268 *
lagged_stoxx_10 0.12512 0.08425 1.485 0.15583
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5948 on 17 degrees of freedom
Multiple R-squared: 0.8676, Adjusted R-squared: 0.8286
F-statistic: 22.27 on 5 and 17 DF, p-value: 6.526e-07
gr_announcement_stoxx_day10_nw <- coeftest(gr_stoxx_day10, vcov = NeweyWest(gr_stoxx_day10)) #applying robust standard errors
print(gr_announcement_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.467387 0.566683 -4.3541 0.0004317 ***
sum_10_day_announcement 0.323416 0.152141 2.1258 0.0484761 *
diff_euribor_10 -0.094224 2.339741 -0.0403 0.9683462
diff_ex_rate_10 -0.621928 0.084853 -7.3295 1.177e-06 ***
diff_sp500_10 6.467424 8.322299 0.7771 0.4477677
lagged_stoxx_10 0.125123 0.134011 0.9337 0.3635451
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_stoxx_ie <- country_announcement_stoxx %>%
filter(country == "IE")
colnames(country_announcement_stoxx_ie)[colnames(country_announcement_stoxx_ie)=="diff_stoxx_5"] <- "IE5"
colnames(country_announcement_stoxx_ie)[colnames(country_announcement_stoxx_ie)=="diff_stoxx_10"] <- "IE10"
ie_stoxx_day5 <- lm(IE5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_ie)
# Summary of the model
summary(ie_stoxx_day5)
Call:
lm(formula = IE5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_ie)
Residuals:
Min 1Q Median 3Q Max
-0.7012 -0.4496 -0.1261 0.2577 1.3478
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.84884 0.27159 -3.125 0.005844 **
sum_5_day_announcement 0.08608 0.10879 0.791 0.439103
diff_euribor_5 -0.22450 0.37720 -0.595 0.559142
diff_ex_rate_5 -0.11494 0.02598 -4.425 0.000327 ***
diff_sp500_5 4.39610 1.36453 3.222 0.004731 **
lagged_stoxx_5 -0.06725 0.08122 -0.828 0.418513
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6003 on 18 degrees of freedom
Multiple R-squared: 0.6978, Adjusted R-squared: 0.6138
F-statistic: 8.312 on 5 and 18 DF, p-value: 0.0003224
ie_announcement_stoxx_day5_nw <- coeftest(ie_stoxx_day5, vcov = NeweyWest(ie_stoxx_day5)) #applying robust standard errors
print(ie_announcement_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.8488435 0.1746276 -4.8609 0.0001256 ***
sum_5_day_announcement 0.0860799 0.0672698 1.2796 0.2169263
diff_euribor_5 -0.2244993 0.1279899 -1.7540 0.0964336 .
diff_ex_rate_5 -0.1149389 0.0069313 -16.5826 2.380e-12 ***
diff_sp500_5 4.3960989 0.8337439 5.2727 5.165e-05 ***
lagged_stoxx_5 -0.0672473 0.0494773 -1.3592 0.1908844
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ie_stoxx_day10 <- lm(IE10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_ie)
# Summary of the model
summary(ie_stoxx_day10)
Call:
lm(formula = IE10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_ie)
Residuals:
Min 1Q Median 3Q Max
-0.6640 -0.3445 -0.1822 0.1862 1.9735
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.703820 0.320977 -2.193 0.0417 *
sum_10_day_announcement -0.004904 0.063263 -0.078 0.9391
diff_euribor_10 0.160252 0.218026 0.735 0.4718
diff_ex_rate_10 -0.126745 0.018494 -6.853 2.06e-06 ***
diff_sp500_10 -0.943891 0.978289 -0.965 0.3474
lagged_stoxx_10 0.098327 0.065427 1.503 0.1502
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6261 on 18 degrees of freedom
Multiple R-squared: 0.8059, Adjusted R-squared: 0.752
F-statistic: 14.95 on 5 and 18 DF, p-value: 7.225e-06
ie_announcement_stoxx_day10_nw <- coeftest(ie_stoxx_day10, vcov = NeweyWest(ie_stoxx_day10)) #applying robust standard errors
print(ie_announcement_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.7038196 0.1250803 -5.6269 2.441e-05 ***
sum_10_day_announcement -0.0049044 0.0194398 -0.2523 0.80368
diff_euribor_10 0.1602517 0.0588416 2.7234 0.01394 *
diff_ex_rate_10 -0.1267449 0.0145648 -8.7021 7.248e-08 ***
diff_sp500_10 -0.9438907 0.5452534 -1.7311 0.10054
lagged_stoxx_10 0.0983269 0.1014319 0.9694 0.34520
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_stoxx_se <- country_announcement_stoxx %>%
filter(country == "SE")
colnames(country_announcement_stoxx_se)[colnames(country_announcement_stoxx_se)=="diff_stoxx_5"] <- "SE5"
colnames(country_announcement_stoxx_se)[colnames(country_announcement_stoxx_se)=="diff_stoxx_10"] <- "SE10"
se_stoxx_day5 <- lm(SE5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_se)
# Summary of the model
summary(se_stoxx_day5)
Call:
lm(formula = SE5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_se)
Residuals:
Min 1Q Median 3Q Max
-1.7135 -0.6128 -0.1819 0.7159 1.9468
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.94098 0.29097 -3.234 0.00219 **
sum_5_day_announcement -0.29696 0.10283 -2.888 0.00576 **
diff_euribor_5 0.58460 0.72926 0.802 0.42663
diff_ex_rate_5 -0.17216 0.02334 -7.376 1.74e-09 ***
diff_sp500_5 -1.35600 2.85241 -0.475 0.63662
lagged_stoxx_5 -0.13666 0.06461 -2.115 0.03952 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.9672 on 49 degrees of freedom
Multiple R-squared: 0.5831, Adjusted R-squared: 0.5406
F-statistic: 13.71 on 5 and 49 DF, p-value: 2.238e-08
se_announcement_stoxx_day5_nw <- coeftest(se_stoxx_day5, vcov = NeweyWest(se_stoxx_day5)) #applying robust standard errors
print(se_announcement_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.940979 0.292215 -3.2202 0.002277 **
sum_5_day_announcement -0.296962 0.106965 -2.7762 0.007767 **
diff_euribor_5 0.584603 0.446548 1.3092 0.196586
diff_ex_rate_5 -0.172161 0.031190 -5.5197 1.274e-06 ***
diff_sp500_5 -1.355998 1.166687 -1.1623 0.250758
lagged_stoxx_5 -0.136658 0.069927 -1.9543 0.056386 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
se_stoxx_day10 <- lm(SE10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_se)
# Summary of the model
summary(se_stoxx_day10)
Call:
lm(formula = SE10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_se)
Residuals:
Min 1Q Median 3Q Max
-0.7653 -0.4162 -0.2005 0.1049 2.3821
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.047352 0.288212 -7.104 4.58e-09 ***
sum_10_day_announcement -0.053048 0.051611 -1.028 0.3091
diff_euribor_10 0.286261 0.152656 1.875 0.0667 .
diff_ex_rate_10 -0.135789 0.017054 -7.963 2.18e-10 ***
diff_sp500_10 1.033603 1.666654 0.620 0.5380
lagged_stoxx_10 -0.002652 0.054749 -0.048 0.9616
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6858 on 49 degrees of freedom
Multiple R-squared: 0.6358, Adjusted R-squared: 0.5986
F-statistic: 17.11 on 5 and 49 DF, p-value: 9.238e-10
se_announcement_stoxx_day10_nw <- coeftest(se_stoxx_day10, vcov = NeweyWest(se_stoxx_day10)) #applying robust standard errors
print(se_announcement_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.0473517 0.3611952 -5.6683 7.561e-07 ***
sum_10_day_announcement -0.0530479 0.0509342 -1.0415 0.3027559
diff_euribor_10 0.2862610 0.0768746 3.7237 0.0005072 ***
diff_ex_rate_10 -0.1357895 0.0113682 -11.9446 4.007e-16 ***
diff_sp500_10 1.0336029 1.2353239 0.8367 0.4068200
lagged_stoxx_10 -0.0026516 0.0466277 -0.0569 0.9548823
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_stoxx_uk <- country_announcement_stoxx %>%
filter(country == "UK")
colnames(country_announcement_stoxx_uk)[colnames(country_announcement_stoxx_uk)=="diff_stoxx_5"] <- "UK5"
colnames(country_announcement_stoxx_uk)[colnames(country_announcement_stoxx_uk)=="diff_stoxx_10"] <- "UK10"
uk_stoxx_day5 <- lm(UK5 ~ sum_5_day_announcement + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_uk)
# Summary of the model
summary(uk_stoxx_day5)
Call:
lm(formula = UK5 ~ sum_5_day_announcement + diff_euribor_5 +
diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_announcement_stoxx_uk)
Residuals:
Min 1Q Median 3Q Max
-1.7479 -0.4064 -0.2652 0.1603 2.5688
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.52088 0.12182 4.276 2.79e-05 ***
sum_5_day_announcement -0.06940 0.04438 -1.564 0.1193
diff_euribor_5 0.09175 0.12190 0.753 0.4524
diff_ex_rate_5 -0.16735 0.01098 -15.243 < 2e-16 ***
diff_sp500_5 0.24432 0.73240 0.334 0.7390
lagged_stoxx_5 0.07431 0.03625 2.050 0.0415 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8246 on 230 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.5471, Adjusted R-squared: 0.5372
F-statistic: 55.56 on 5 and 230 DF, p-value: < 2.2e-16
uk_announcement_stoxx_day5_nw <- coeftest(uk_stoxx_day5, vcov = NeweyWest(uk_stoxx_day5)) #applying robust standard errors
print(uk_announcement_stoxx_day5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.520884 0.120125 4.3362 2.17e-05 ***
sum_5_day_announcement -0.069402 0.039960 -1.7368 0.08377 .
diff_euribor_5 0.091752 0.058687 1.5634 0.11933
diff_ex_rate_5 -0.167350 0.021498 -7.7843 2.37e-13 ***
diff_sp500_5 0.244324 0.468493 0.5215 0.60251
lagged_stoxx_5 0.074306 0.036818 2.0182 0.04473 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
uk_stoxx_day10 <- lm(UK10 ~ sum_10_day_announcement + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_uk)
# Summary of the model
summary(uk_stoxx_day10)
Call:
lm(formula = UK10 ~ sum_10_day_announcement + diff_euribor_10 +
diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_announcement_stoxx_uk)
Residuals:
Min 1Q Median 3Q Max
-1.7966 -0.4608 -0.3114 0.1836 2.4230
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.65835 0.16128 4.082 6.21e-05 ***
sum_10_day_announcement -0.04786 0.03082 -1.553 0.1218
diff_euribor_10 0.04740 0.10282 0.461 0.6452
diff_ex_rate_10 -0.17828 0.01261 -14.139 < 2e-16 ***
diff_sp500_10 -0.14089 0.63061 -0.223 0.8234
lagged_stoxx_10 0.09543 0.03719 2.566 0.0109 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8704 on 225 degrees of freedom
(7 observations deleted due to missingness)
Multiple R-squared: 0.508, Adjusted R-squared: 0.497
F-statistic: 46.46 on 5 and 225 DF, p-value: < 2.2e-16
uk_announcement_stoxx_day10_nw <- coeftest(uk_stoxx_day10, vcov = NeweyWest(uk_stoxx_day10)) #applying robust standard errors
print(uk_announcement_stoxx_day10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.658350 0.214500 3.0692 0.00241 **
sum_10_day_announcement -0.047857 0.038229 -1.2518 0.21193
diff_euribor_10 0.047402 0.061985 0.7647 0.44523
diff_ex_rate_10 -0.178282 0.031844 -5.5986 6.263e-08 ***
diff_sp500_10 -0.140895 0.546288 -0.2579 0.79671
lagged_stoxx_10 0.095431 0.043980 2.1699 0.03106 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Announcements on VSTOXX. Country by country.
country_announcement_vstoxx_cz <- country_announcement_vstoxx %>%
filter(country == "CZ")
colnames(country_announcement_vstoxx_cz)[colnames(country_announcement_vstoxx_cz)=="vstoxx"] <- "CZ"
cz_vstoxx <- lm(CZ ~ sum_1_day_announcement + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_cz)
# Summary of the model
summary(cz_vstoxx)
Call:
lm(formula = CZ ~ sum_1_day_announcement + euribor + ex_rate +
log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_cz)
Residuals:
Min 1Q Median 3Q Max
-6.284 -2.510 -1.258 2.189 18.897
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 20.947519 26.210254 0.799 0.430
sum_1_day_announcement 1.377188 1.676008 0.822 0.418
euribor -0.003779 0.896364 -0.004 0.997
ex_rate -0.102480 0.631619 -0.162 0.872
log_sp500 -1.474896 3.413181 -0.432 0.669
lagged_vstoxx 0.585092 0.073029 8.012 6.08e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 4.71 on 30 degrees of freedom
Multiple R-squared: 0.7254, Adjusted R-squared: 0.6796
F-statistic: 15.85 on 5 and 30 DF, p-value: 1.201e-07
cz_announcement_vstoxx_nw <- coeftest(cz_vstoxx, vcov = NeweyWest(cz_vstoxx)) #applying robust standard errors
print(cz_announcement_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 20.9475189 10.7017566 1.9574 0.05966 .
sum_1_day_announcement 1.3771880 1.7387717 0.7920 0.43455
euribor -0.0037787 0.3528144 -0.0107 0.99153
ex_rate -0.1024798 0.3482852 -0.2942 0.77060
log_sp500 -1.4748957 1.6668210 -0.8849 0.38327
lagged_vstoxx 0.5850920 0.0218766 26.7452 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_vstoxx_de <- country_announcement_vstoxx %>%
filter(country == "DE")
colnames(country_announcement_vstoxx_de)[colnames(country_announcement_vstoxx_de)=="vstoxx"] <- "DE"
de_vstoxx <- lm(DE ~ sum_1_day_announcement + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_de)
# Summary of the model
summary(de_vstoxx)
Call:
lm(formula = DE ~ sum_1_day_announcement + euribor + ex_rate +
log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_de)
Residuals:
Min 1Q Median 3Q Max
-7.8226 -2.0751 -0.1683 2.5291 6.8475
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 27.5303 36.7900 0.748 0.4651
sum_1_day_announcement 5.8156 2.0975 2.773 0.0136 *
euribor 2.8162 1.0410 2.705 0.0156 *
ex_rate 28.4751 18.6921 1.523 0.1472
log_sp500 -5.7211 5.1399 -1.113 0.2821
lagged_vstoxx 0.5502 0.2266 2.428 0.0273 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.967 on 16 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.8268, Adjusted R-squared: 0.7727
F-statistic: 15.27 on 5 and 16 DF, p-value: 1.333e-05
de_announcement_vstoxx_nw <- coeftest(de_vstoxx, vcov = NeweyWest(de_vstoxx)) #applying robust standard errors
print(de_announcement_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 27.53032 24.29183 1.1333 0.273779
sum_1_day_announcement 5.81559 3.67309 1.5833 0.132918
euribor 2.81618 0.46204 6.0951 1.549e-05 ***
ex_rate 28.47507 17.75661 1.6036 0.128350
log_sp500 -5.72108 4.46640 -1.2809 0.218480
lagged_vstoxx 0.55025 0.17644 3.1186 0.006617 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_vstoxx_es <- country_announcement_vstoxx %>%
filter(country == "ES")
colnames(country_announcement_vstoxx_es)[colnames(country_announcement_vstoxx_es)=="vstoxx"] <- "ES"
es_vstoxx <- lm(ES ~ sum_1_day_announcement + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_es)
# Summary of the model
summary(es_vstoxx)
Call:
lm(formula = ES ~ sum_1_day_announcement + euribor + ex_rate +
log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_es)
Residuals:
Min 1Q Median 3Q Max
-4.3120 -1.0823 0.3906 0.7663 5.2370
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 19.09236 11.70603 1.631 0.1194
sum_1_day_announcement 1.15002 1.14875 1.001 0.3294
euribor -0.06211 0.74930 -0.083 0.9348
ex_rate 20.90674 12.30075 1.700 0.1055
log_sp500 -4.38659 2.35855 -1.860 0.0785 .
lagged_vstoxx 0.83499 0.10342 8.074 1.46e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.511 on 19 degrees of freedom
Multiple R-squared: 0.8359, Adjusted R-squared: 0.7928
F-statistic: 19.36 on 5 and 19 DF, p-value: 7.267e-07
es_announcement_vstoxx_nw <- coeftest(es_vstoxx, vcov = NeweyWest(es_vstoxx)) #applying robust standard errors
print(es_announcement_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 19.092356 8.638257 2.2102 0.0395577 *
sum_1_day_announcement 1.150024 1.102388 1.0432 0.3099428
euribor -0.062115 0.271521 -0.2288 0.8214946
ex_rate 20.906736 4.079390 5.1250 6.019e-05 ***
log_sp500 -4.386592 1.089370 -4.0267 0.0007208 ***
lagged_vstoxx 0.834987 0.119834 6.9679 1.223e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_vstoxx_fr <- country_announcement_vstoxx %>%
filter(country == "FR")
colnames(country_announcement_vstoxx_fr)[colnames(country_announcement_vstoxx_fr)=="vstoxx"] <- "FR"
fr_vstoxx <- lm(FR ~ sum_1_day_announcement + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_fr)
# Summary of the model
summary(fr_vstoxx)
Call:
lm(formula = FR ~ sum_1_day_announcement + euribor + ex_rate +
log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_fr)
Residuals:
Min 1Q Median 3Q Max
-8.516 -3.338 -1.001 2.077 11.521
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 14.41835 52.86819 0.273 0.791
sum_1_day_announcement 2.15571 3.54185 0.609 0.556
euribor -2.53910 2.82496 -0.899 0.390
ex_rate 22.50912 25.50834 0.882 0.398
log_sp500 -4.48672 8.50398 -0.528 0.609
lagged_vstoxx 1.05250 0.09503 11.076 6.19e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 6.194 on 10 degrees of freedom
Multiple R-squared: 0.9491, Adjusted R-squared: 0.9237
F-statistic: 37.32 on 5 and 10 DF, p-value: 3.743e-06
fr_announcement_vstoxx_nw <- coeftest(fr_vstoxx, vcov = NeweyWest(fr_vstoxx)) #applying robust standard errors
print(fr_announcement_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 14.41835 35.87149 0.4019 0.696181
sum_1_day_announcement 2.15571 0.65874 3.2725 0.008395 **
euribor -2.53910 1.77773 -1.4283 0.183690
ex_rate 22.50912 16.56067 1.3592 0.203947
log_sp500 -4.48672 6.09300 -0.7364 0.478422
lagged_vstoxx 1.05250 0.08003 13.1514 1.229e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_vstoxx_gr <- country_announcement_vstoxx %>%
filter(country == "GR")
colnames(country_announcement_vstoxx_gr)[colnames(country_announcement_vstoxx_gr)=="vstoxx"] <- "GR"
gr_vstoxx <- lm(GR ~ sum_1_day_announcement + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_gr)
# Summary of the model
summary(gr_vstoxx)
Call:
lm(formula = GR ~ sum_1_day_announcement + euribor + ex_rate +
log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_gr)
Residuals:
Min 1Q Median 3Q Max
-4.9628 -1.3029 -0.0743 0.4357 8.1282
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 20.3596 48.5209 0.420 0.680
sum_1_day_announcement 1.2937 1.7311 0.747 0.465
euribor -1.4433 3.3758 -0.428 0.674
ex_rate -1.1380 13.5818 -0.084 0.934
log_sp500 -2.5228 6.2834 -0.402 0.693
lagged_vstoxx 0.9906 0.1053 9.408 3.76e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.038 on 17 degrees of freedom
Multiple R-squared: 0.8488, Adjusted R-squared: 0.8044
F-statistic: 19.09 on 5 and 17 DF, p-value: 1.951e-06
gr_announcement_vstoxx_nw <- coeftest(gr_vstoxx, vcov = NeweyWest(gr_vstoxx)) #applying robust standard errors
print(gr_announcement_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 20.359571 19.528833 1.0425 0.3118
sum_1_day_announcement 1.293696 1.525720 0.8479 0.4083
euribor -1.443285 1.825162 -0.7908 0.4400
ex_rate -1.138042 13.459726 -0.0846 0.9336
log_sp500 -2.522830 2.403742 -1.0495 0.3086
lagged_vstoxx 0.990644 0.088799 11.1560 3.045e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_vstoxx_ie <- country_announcement_vstoxx %>%
filter(country == "IE")
colnames(country_announcement_vstoxx_ie)[colnames(country_announcement_vstoxx_ie)=="vstoxx"] <- "IE"
ie_vstoxx <- lm(IE ~ sum_1_day_announcement + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_ie)
# Summary of the model
summary(ie_vstoxx)
Call:
lm(formula = IE ~ sum_1_day_announcement + euribor + ex_rate +
log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_ie)
Residuals:
Min 1Q Median 3Q Max
-4.4134 -1.0953 -0.2097 0.7389 3.9041
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.03023 14.23289 0.775 0.448
sum_1_day_announcement 1.94736 1.14691 1.698 0.107
euribor -1.51261 0.63285 -2.390 0.028 *
ex_rate -12.70667 13.87196 -0.916 0.372
log_sp500 0.14779 2.20586 0.067 0.947
lagged_vstoxx 0.89539 0.09905 9.040 4.12e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.354 on 18 degrees of freedom
Multiple R-squared: 0.8872, Adjusted R-squared: 0.8559
F-statistic: 28.31 on 5 and 18 DF, p-value: 6.212e-08
ie_announcement_vstoxx_nw <- coeftest(ie_vstoxx, vcov = NeweyWest(ie_vstoxx)) #applying robust standard errors
print(ie_announcement_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.030227 12.829951 0.8597 0.40125
sum_1_day_announcement 1.947365 0.863795 2.2544 0.03687 *
euribor -1.512613 0.232170 -6.5151 3.993e-06 ***
ex_rate -12.706669 11.538511 -1.1012 0.28530
log_sp500 0.147794 2.326023 0.0635 0.95004
lagged_vstoxx 0.895385 0.096654 9.2638 2.859e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_vstoxx_se <- country_announcement_vstoxx %>%
filter(country == "SE")
colnames(country_announcement_vstoxx_se)[colnames(country_announcement_vstoxx_se)=="vstoxx"] <- "SE"
se_vstoxx <- lm(SE ~ sum_1_day_announcement + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_se)
# Summary of the model
summary(se_vstoxx)
Call:
lm(formula = SE ~ sum_1_day_announcement + euribor + ex_rate +
log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_se)
Residuals:
Min 1Q Median 3Q Max
-9.3799 -1.3645 0.0465 1.3904 6.3375
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.71747 22.56735 0.431 0.669
sum_1_day_announcement -0.56708 0.73927 -0.767 0.447
euribor -0.26038 0.50627 -0.514 0.609
ex_rate 0.56582 0.70514 0.802 0.426
log_sp500 -1.11289 3.47826 -0.320 0.750
lagged_vstoxx 0.70404 0.08725 8.069 1.5e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.707 on 49 degrees of freedom
Multiple R-squared: 0.6613, Adjusted R-squared: 0.6268
F-statistic: 19.14 on 5 and 49 DF, p-value: 1.642e-10
se_announcement_vstoxx_nw <- coeftest(se_vstoxx, vcov = NeweyWest(se_vstoxx)) #applying robust standard errors
print(se_announcement_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.71747 36.28928 0.2678 0.7900
sum_1_day_announcement -0.56708 0.37685 -1.5048 0.1388
euribor -0.26038 0.67969 -0.3831 0.7033
ex_rate 0.56582 0.90163 0.6276 0.5332
log_sp500 -1.11289 5.42997 -0.2050 0.8385
lagged_vstoxx 0.70404 0.10174 6.9197 8.834e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_announcement_vstoxx_uk <- country_announcement_vstoxx %>%
filter(country == "UK")
colnames(country_announcement_vstoxx_uk)[colnames(country_announcement_vstoxx_uk)=="vstoxx"] <- "UK"
uk_vstoxx <- lm(UK ~ sum_1_day_announcement + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_uk)
# Summary of the model
summary(uk_vstoxx)
Call:
lm(formula = UK ~ sum_1_day_announcement + euribor + ex_rate +
log_sp500 + lagged_vstoxx, data = country_announcement_vstoxx_uk)
Residuals:
Min 1Q Median 3Q Max
-21.1667 -1.5803 -0.3999 1.3875 30.9392
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.03599 8.02591 2.746 0.00651 **
sum_1_day_announcement -0.85839 0.57330 -1.497 0.13568
euribor 1.79035 0.41215 4.344 2.09e-05 ***
ex_rate 17.28023 5.98326 2.888 0.00424 **
log_sp500 -3.59320 1.24315 -2.890 0.00421 **
lagged_vstoxx 0.70692 0.04626 15.281 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 4.369 on 232 degrees of freedom
Multiple R-squared: 0.8032, Adjusted R-squared: 0.7989
F-statistic: 189.3 on 5 and 232 DF, p-value: < 2.2e-16
uk_announcement_vstoxx_nw <- coeftest(uk_vstoxx, vcov = NeweyWest(uk_vstoxx)) #applying robust standard errors
print(uk_announcement_vstoxx_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.035991 15.688244 1.4046 0.161472
sum_1_day_announcement -0.858386 0.455002 -1.8866 0.060469 .
euribor 1.790350 0.733650 2.4403 0.015423 *
ex_rate 17.280230 5.541510 3.1183 0.002049 **
log_sp500 -3.593201 1.917150 -1.8742 0.062154 .
lagged_vstoxx 0.706919 0.060745 11.6375 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
DIRECTION on Yield. Country by country.
country_direction_yield
A tibble: 475 × 59
|
date
|
country
|
direction
|
tightening
|
loosening
|
yield
|
euribor
|
ex_rate
|
sp500
|
log_sp500
|
⋯
|
sum_3_day_loosening
|
sum_4_day_loosening
|
sum_5_day_loosening
|
sum_10_day_loosening
|
lagged_yield_1
|
lagged_yield_2
|
lagged_yield_3
|
lagged_yield_4
|
lagged_yield_5
|
lagged_yield_10
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2001-02-02
|
DE
|
0
|
0
|
0
|
4.785
|
4.724
|
1.07135
|
1349.47
|
7.207467
|
⋯
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
2001-04-30
|
FR
|
1
|
1
|
0
|
5.185
|
4.802
|
1.12790
|
1249.46
|
7.130467
|
⋯
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
2006-05-29
|
DE
|
0
|
0
|
0
|
3.891
|
2.919
|
0.78398
|
1280.16
|
7.154740
|
⋯
|
0
|
NA
|
NA
|
NA
|
0.400
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
2008-09-17
|
DE
|
0
|
0
|
0
|
4.017
|
4.973
|
0.70455
|
1156.39
|
7.053058
|
⋯
|
0
|
0
|
NA
|
NA
|
-1.294
|
-0.894
|
NA
|
NA
|
NA
|
NA
|
|
2008-10-28
|
UK
|
0
|
0
|
0
|
4.392
|
4.860
|
0.64140
|
940.50
|
6.846412
|
⋯
|
0
|
0
|
0
|
NA
|
0.126
|
-1.168
|
-0.768
|
NA
|
NA
|
NA
|
|
2009-01-27
|
UK
|
1
|
1
|
0
|
3.671
|
2.130
|
0.70570
|
845.71
|
6.740177
|
⋯
|
0
|
0
|
0
|
NA
|
0.375
|
0.501
|
-0.793
|
-0.393
|
NA
|
NA
|
|
2009-02-09
|
UK
|
1
|
1
|
0
|
3.769
|
2.005
|
0.67060
|
869.89
|
6.768367
|
⋯
|
0
|
0
|
0
|
NA
|
-0.721
|
-0.346
|
-0.220
|
-1.514
|
-1.114
|
NA
|
|
2009-02-23
|
UK
|
1
|
1
|
0
|
3.449
|
1.867
|
0.68700
|
743.33
|
6.611140
|
⋯
|
0
|
0
|
0
|
NA
|
0.098
|
-0.623
|
-0.248
|
-0.122
|
-1.416
|
NA
|
|
2009-03-12
|
UK
|
0
|
0
|
0
|
2.948
|
1.650
|
0.72420
|
750.74
|
6.621059
|
⋯
|
0
|
0
|
0
|
NA
|
-0.320
|
-0.222
|
-0.943
|
-0.568
|
-0.442
|
NA
|
|
2009-03-18
|
UK
|
1
|
1
|
0
|
3.119
|
1.602
|
0.71580
|
794.35
|
6.677524
|
⋯
|
0
|
0
|
0
|
0
|
-0.501
|
-0.821
|
-0.723
|
-1.444
|
-1.069
|
NA
|
|
2009-03-18
|
UK
|
0
|
0
|
0
|
3.119
|
1.602
|
0.71580
|
794.35
|
6.677524
|
⋯
|
0
|
0
|
0
|
0
|
0.171
|
-0.330
|
-0.650
|
-0.552
|
-1.273
|
NA
|
|
2009-03-18
|
UK
|
1
|
1
|
0
|
3.119
|
1.602
|
0.71580
|
794.35
|
6.677524
|
⋯
|
0
|
0
|
0
|
0
|
0.000
|
0.171
|
-0.330
|
-0.650
|
-0.552
|
-1.666
|
|
2009-03-24
|
DE
|
0
|
0
|
0
|
3.132
|
1.556
|
0.73945
|
806.12
|
6.692233
|
⋯
|
0
|
0
|
0
|
0
|
0.000
|
0.000
|
0.171
|
-0.330
|
-0.650
|
-2.066
|
|
2009-03-27
|
UK
|
1
|
1
|
0
|
3.279
|
1.531
|
0.69820
|
815.94
|
6.704341
|
⋯
|
0
|
0
|
0
|
0
|
0.013
|
0.013
|
0.013
|
0.184
|
-0.317
|
-0.759
|
|
2009-03-31
|
UK
|
1
|
1
|
0
|
3.164
|
1.510
|
0.69780
|
797.87
|
6.681946
|
⋯
|
0
|
0
|
0
|
0
|
0.147
|
0.160
|
0.160
|
0.160
|
0.331
|
-0.738
|
|
2009-03-31
|
UK
|
0
|
0
|
0
|
3.164
|
1.510
|
0.69780
|
797.87
|
6.681946
|
⋯
|
0
|
0
|
0
|
0
|
-0.115
|
0.032
|
0.045
|
0.045
|
0.045
|
-1.228
|
|
2009-05-15
|
UK
|
0
|
0
|
0
|
3.530
|
1.250
|
0.65540
|
882.88
|
6.783189
|
⋯
|
0
|
0
|
0
|
0
|
0.000
|
-0.115
|
0.032
|
0.045
|
0.045
|
-0.507
|
|
2009-06-02
|
UK
|
1
|
1
|
0
|
3.889
|
1.262
|
0.60380
|
944.74
|
6.850910
|
⋯
|
0
|
0
|
0
|
0
|
0.366
|
0.366
|
0.251
|
0.398
|
0.411
|
-0.239
|
|
2009-06-03
|
UK
|
0
|
0
|
0
|
3.783
|
1.260
|
0.61040
|
931.76
|
6.837075
|
⋯
|
0
|
0
|
0
|
0
|
0.359
|
0.725
|
0.725
|
0.610
|
0.757
|
0.440
|
|
2009-06-09
|
FR
|
1
|
1
|
0
|
3.965
|
1.286
|
0.71406
|
942.43
|
6.848462
|
⋯
|
0
|
0
|
0
|
0
|
-0.106
|
0.253
|
0.619
|
0.619
|
0.504
|
0.835
|
|
2009-06-12
|
CH
|
1
|
1
|
0
|
2.503
|
1.268
|
1.07995
|
946.21
|
6.852465
|
⋯
|
0
|
0
|
0
|
0
|
0.182
|
0.076
|
0.435
|
0.801
|
0.801
|
0.846
|
|
2009-06-18
|
UK
|
0
|
0
|
0
|
3.851
|
1.235
|
0.61180
|
918.37
|
6.822600
|
⋯
|
0
|
0
|
0
|
0
|
-1.462
|
-1.280
|
-1.386
|
-1.027
|
-0.661
|
-0.616
|
|
2009-06-18
|
UK
|
1
|
1
|
0
|
3.851
|
1.235
|
0.61180
|
918.37
|
6.822600
|
⋯
|
0
|
0
|
0
|
0
|
1.348
|
-0.114
|
0.068
|
-0.038
|
0.321
|
0.732
|
|
2009-06-18
|
UK
|
0
|
0
|
0
|
3.851
|
1.235
|
0.61180
|
918.37
|
6.822600
|
⋯
|
0
|
0
|
0
|
0
|
0.000
|
1.348
|
-0.114
|
0.068
|
-0.038
|
0.719
|
|
2009-06-23
|
UK
|
0
|
0
|
0
|
3.749
|
1.206
|
0.61300
|
895.10
|
6.796935
|
⋯
|
0
|
0
|
0
|
0
|
0.000
|
0.000
|
1.348
|
-0.114
|
0.068
|
0.572
|
|
2009-06-24
|
UK
|
1
|
1
|
0
|
3.700
|
1.195
|
0.60650
|
900.94
|
6.803439
|
⋯
|
0
|
0
|
0
|
0
|
-0.102
|
-0.102
|
-0.102
|
1.246
|
-0.216
|
0.585
|
|
2009-06-29
|
UK
|
0
|
0
|
0
|
3.607
|
1.108
|
0.60430
|
927.23
|
6.832202
|
⋯
|
0
|
0
|
0
|
0
|
-0.049
|
-0.151
|
-0.151
|
-0.151
|
1.197
|
0.536
|
|
2009-06-29
|
UK
|
0
|
0
|
0
|
3.607
|
1.108
|
0.60430
|
927.23
|
6.832202
|
⋯
|
0
|
0
|
0
|
0
|
-0.093
|
-0.142
|
-0.244
|
-0.244
|
-0.244
|
0.077
|
|
2009-06-30
|
UK
|
1
|
1
|
0
|
3.680
|
1.099
|
0.60720
|
919.32
|
6.823634
|
⋯
|
0
|
0
|
0
|
0
|
0.000
|
-0.093
|
-0.142
|
-0.244
|
-0.244
|
-0.282
|
|
2009-07-01
|
DE
|
-1
|
0
|
1
|
3.409
|
1.085
|
0.70766
|
923.33
|
6.827987
|
⋯
|
1
|
1
|
1
|
1
|
0.073
|
0.073
|
-0.020
|
-0.069
|
-0.171
|
-0.103
|
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋱
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
|
2021-10-26
|
DE
|
1
|
1
|
0
|
-0.122
|
-0.550
|
0.86252
|
4574.79
|
8.428316
|
⋯
|
0
|
0
|
0
|
1
|
-1.942
|
-1.146
|
-0.846
|
-0.617
|
-0.351
|
0.180
|
|
2021-11-25
|
IE
|
0
|
0
|
0
|
0.242
|
-0.575
|
0.89206
|
4701.46
|
8.455628
|
⋯
|
0
|
0
|
0
|
1
|
-0.289
|
-2.231
|
-1.435
|
-1.135
|
-0.906
|
-0.109
|
|
2021-12-14
|
UK
|
0
|
0
|
0
|
0.725
|
-0.605
|
0.75570
|
4634.09
|
8.441195
|
⋯
|
0
|
0
|
0
|
0
|
0.364
|
0.075
|
-1.867
|
-1.071
|
-0.771
|
-1.312
|
|
2021-12-14
|
UK
|
-1
|
0
|
1
|
0.725
|
-0.605
|
0.75570
|
4634.09
|
8.441195
|
⋯
|
1
|
1
|
1
|
1
|
0.483
|
0.847
|
0.558
|
-1.384
|
-0.588
|
-0.387
|
|
2021-12-14
|
UK
|
0
|
0
|
0
|
0.725
|
-0.605
|
0.75570
|
4634.09
|
8.441195
|
⋯
|
1
|
1
|
1
|
1
|
0.000
|
0.483
|
0.847
|
0.558
|
-1.384
|
1.139
|
|
2021-12-23
|
ES
|
0
|
0
|
0
|
0.517
|
-0.588
|
0.88429
|
4725.79
|
8.460790
|
⋯
|
1
|
1
|
1
|
1
|
0.000
|
0.000
|
0.483
|
0.847
|
0.558
|
0.207
|
|
2021-12-23
|
ES
|
1
|
1
|
0
|
0.517
|
-0.588
|
0.88429
|
4725.79
|
8.460790
|
⋯
|
0
|
1
|
1
|
1
|
-0.208
|
-0.208
|
-0.208
|
0.275
|
0.639
|
-0.267
|
|
2022-05-31
|
SE
|
-1
|
0
|
1
|
1.551
|
-0.338
|
9.78365
|
4132.15
|
8.326553
|
⋯
|
1
|
1
|
2
|
2
|
0.000
|
-0.208
|
-0.208
|
-0.208
|
0.275
|
-0.496
|
|
2022-06-13
|
UK
|
0
|
0
|
0
|
2.522
|
-0.281
|
0.82430
|
3749.63
|
8.229412
|
⋯
|
1
|
1
|
1
|
2
|
1.034
|
1.034
|
0.826
|
0.826
|
0.826
|
0.238
|
|
2022-06-15
|
IE
|
1
|
1
|
0
|
2.313
|
-0.182
|
0.96057
|
3789.99
|
8.240119
|
⋯
|
1
|
1
|
1
|
2
|
0.971
|
2.005
|
2.005
|
1.797
|
1.797
|
0.413
|
|
2022-06-17
|
SE
|
0
|
0
|
0
|
1.985
|
-0.169
|
10.21580
|
3674.84
|
8.209265
|
⋯
|
0
|
1
|
1
|
2
|
-0.209
|
0.762
|
1.796
|
1.796
|
1.588
|
2.146
|
|
2022-07-01
|
CZ
|
0
|
0
|
0
|
4.689
|
-0.176
|
23.82135
|
3825.33
|
8.249400
|
⋯
|
0
|
0
|
1
|
2
|
-0.328
|
-0.537
|
0.434
|
1.468
|
1.468
|
2.107
|
|
2022-07-04
|
CZ
|
1
|
1
|
0
|
4.575
|
-0.165
|
23.74040
|
3825.33
|
8.249400
|
⋯
|
0
|
0
|
0
|
2
|
2.704
|
2.376
|
2.167
|
3.138
|
4.172
|
4.447
|
|
2022-08-12
|
IE
|
0
|
0
|
0
|
1.588
|
0.333
|
0.97613
|
4280.15
|
8.361743
|
⋯
|
0
|
0
|
0
|
1
|
-0.114
|
2.590
|
2.262
|
2.053
|
3.024
|
3.850
|
|
2022-10-20
|
UK
|
1
|
1
|
0
|
3.905
|
1.502
|
0.88350
|
3665.78
|
8.206796
|
⋯
|
0
|
0
|
0
|
1
|
-2.987
|
-3.101
|
-0.397
|
-0.725
|
-0.934
|
0.863
|
|
2022-11-02
|
UK
|
1
|
1
|
0
|
3.399
|
1.726
|
0.87240
|
3759.69
|
8.232092
|
⋯
|
0
|
0
|
0
|
1
|
2.317
|
-0.670
|
-0.784
|
1.920
|
1.592
|
3.180
|
|
2022-11-24
|
IE
|
1
|
1
|
0
|
2.260
|
1.908
|
0.96066
|
4027.26
|
8.300842
|
⋯
|
0
|
0
|
0
|
1
|
-0.506
|
1.811
|
-1.176
|
-1.290
|
1.414
|
2.882
|
|
2022-12-21
|
UK
|
0
|
0
|
0
|
3.575
|
2.102
|
0.82580
|
3878.44
|
8.263188
|
⋯
|
0
|
0
|
0
|
0
|
-1.139
|
-1.645
|
0.672
|
-2.315
|
-2.429
|
1.743
|
|
2023-03-13
|
UK
|
0
|
0
|
0
|
3.371
|
2.957
|
0.82240
|
3855.76
|
8.257323
|
⋯
|
0
|
0
|
0
|
0
|
1.315
|
0.176
|
-0.330
|
1.987
|
-1.000
|
2.024
|
|
2023-03-24
|
CZ
|
1
|
1
|
0
|
4.567
|
3.025
|
22.01210
|
3970.99
|
8.286771
|
⋯
|
0
|
0
|
0
|
0
|
-0.204
|
1.111
|
-0.028
|
-0.534
|
1.783
|
0.849
|
|
2023-03-24
|
ES
|
1
|
1
|
0
|
3.184
|
3.025
|
0.92915
|
3970.99
|
8.286771
|
⋯
|
0
|
0
|
0
|
0
|
1.196
|
0.992
|
2.307
|
1.168
|
0.662
|
2.254
|
|
2023-03-29
|
SE
|
1
|
1
|
0
|
2.228
|
3.015
|
10.41275
|
4027.81
|
8.300978
|
⋯
|
0
|
0
|
0
|
0
|
-1.383
|
-0.187
|
-0.391
|
0.924
|
-0.215
|
1.199
|
|
2023-04-11
|
CZ
|
0
|
0
|
0
|
4.581
|
3.108
|
21.52855
|
4108.94
|
8.320920
|
⋯
|
0
|
0
|
0
|
0
|
-0.956
|
-2.339
|
-1.143
|
-1.347
|
-0.032
|
-2.461
|
|
2023-04-13
|
SE
|
1
|
1
|
0
|
2.351
|
3.177
|
10.28425
|
4146.22
|
8.329952
|
⋯
|
0
|
0
|
0
|
0
|
2.353
|
1.397
|
0.014
|
1.210
|
1.006
|
0.006
|
|
2023-05-23
|
SE
|
0
|
0
|
0
|
2.387
|
3.422
|
10.62255
|
4145.58
|
8.329798
|
⋯
|
0
|
0
|
0
|
0
|
-2.230
|
0.123
|
-0.833
|
-2.216
|
-1.020
|
0.763
|
|
2023-06-07
|
IE
|
1
|
1
|
0
|
2.845
|
3.459
|
0.93392
|
4267.52
|
8.358788
|
⋯
|
0
|
0
|
0
|
0
|
0.036
|
-2.194
|
0.159
|
-0.797
|
-2.180
|
-1.518
|
|
2023-06-19
|
CZ
|
1
|
1
|
0
|
4.351
|
3.551
|
21.73740
|
4409.59
|
8.391537
|
⋯
|
0
|
0
|
0
|
0
|
0.458
|
0.494
|
-1.736
|
0.617
|
-0.339
|
-0.554
|
|
2023-07-12
|
UK
|
0
|
0
|
0
|
4.513
|
3.657
|
0.76940
|
4472.16
|
8.405627
|
⋯
|
0
|
0
|
0
|
0
|
1.506
|
1.964
|
2.000
|
-0.230
|
2.123
|
2.091
|
|
2023-08-02
|
UK
|
0
|
0
|
0
|
4.404
|
3.733
|
0.78810
|
4513.39
|
8.414804
|
⋯
|
0
|
0
|
0
|
0
|
0.162
|
1.668
|
2.126
|
2.162
|
-0.068
|
0.938
|
|
2023-10-10
|
UK
|
1
|
1
|
0
|
4.430
|
3.988
|
0.81590
|
4358.24
|
8.379824
|
⋯
|
0
|
0
|
0
|
0
|
-0.109
|
0.053
|
1.559
|
2.017
|
2.053
|
1.033
|
country_direction_yield_cz <- country_direction_yield %>%
filter(country == "CZ")
colnames(country_direction_yield_cz)[colnames(country_direction_yield_cz)=="diff_yield_5"] <- "CZ5"
colnames(country_direction_yield_cz)[colnames(country_direction_yield_cz)=="diff_yield_10"] <- "CZ10"
country_direction_yield_cz5 <- lm(CZ5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_direction_yield_cz)
# Summary of the model
summary(country_direction_yield_cz5)
Call:
lm(formula = CZ5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5,
data = country_direction_yield_cz)
Residuals:
Min 1Q Median 3Q Max
-2.1753 -0.4335 -0.1549 0.3838 2.5077
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.439723 0.537289 0.818 0.4198
sum_5_day_tightening -0.001707 0.164925 -0.010 0.9918
sum_5_day_loosening 0.102994 0.332136 0.310 0.7587
diff_euribor_5 0.348499 0.598703 0.582 0.5650
diff_ex_rate_5 0.010745 0.021912 0.490 0.6276
diff_sp500_5 -0.755462 2.011305 -0.376 0.7099
lagged_yield_5 0.390686 0.182939 2.136 0.0413 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.034 on 29 degrees of freedom
Multiple R-squared: 0.2373, Adjusted R-squared: 0.07945
F-statistic: 1.503 on 6 and 29 DF, p-value: 0.2121
country_direction_yield_cz5_nw <- coeftest(country_direction_yield_cz5, vcov = NeweyWest(country_direction_yield_cz5)) #applying robust standard errors
print(country_direction_yield_cz5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.4397231 0.5006783 0.8783 0.38702
sum_5_day_tightening -0.0017069 0.2490241 -0.0069 0.99458
sum_5_day_loosening 0.1029938 0.2674758 0.3851 0.70300
diff_euribor_5 0.3484990 0.5416023 0.6435 0.52498
diff_ex_rate_5 0.0107445 0.0191968 0.5597 0.57998
diff_sp500_5 -0.7554619 1.9353704 -0.3903 0.69913
lagged_yield_5 0.3906857 0.1745703 2.2380 0.03307 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_cz10 <- lm(CZ10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_direction_yield_cz)
# Summary of the model
summary(country_direction_yield_cz10)
Call:
lm(formula = CZ10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10,
data = country_direction_yield_cz)
Residuals:
Min 1Q Median 3Q Max
-1.50496 -0.56983 0.03097 0.31101 2.23052
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.25928 0.63262 0.410 0.684923
sum_10_day_tightening 0.02257 0.09924 0.227 0.821679
sum_10_day_loosening 0.11166 0.20999 0.532 0.598944
diff_euribor_10 0.44705 0.20499 2.181 0.037450 *
diff_ex_rate_10 0.01424 0.02036 0.700 0.489757
diff_sp500_10 0.11018 1.16076 0.095 0.925028
lagged_yield_10 0.57263 0.13982 4.095 0.000309 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.9129 on 29 degrees of freedom
Multiple R-squared: 0.441, Adjusted R-squared: 0.3254
F-statistic: 3.813 on 6 and 29 DF, p-value: 0.006361
country_direction_yield_cz10_nw <- coeftest(country_direction_yield_cz10, vcov = NeweyWest(country_direction_yield_cz10)) #applying robust standard errors
print(country_direction_yield_cz10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.259283 0.565842 0.4582 0.6502058
sum_10_day_tightening 0.022571 0.102266 0.2207 0.8268637
sum_10_day_loosening 0.111664 0.218279 0.5116 0.6128289
diff_euribor_10 0.447046 0.112623 3.9694 0.0004347 ***
diff_ex_rate_10 0.014241 0.012697 1.1216 0.2712349
diff_sp500_10 0.110184 0.692409 0.1591 0.8746686
lagged_yield_10 0.572635 0.143151 4.0002 0.0003998 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_de <- country_direction_yield %>%
filter(country == "DE")
colnames(country_direction_yield_de)[colnames(country_direction_yield_de)=="diff_yield_5"] <- "DE5"
colnames(country_direction_yield_de)[colnames(country_direction_yield_de)=="diff_yield_10"] <- "DE10"
country_direction_yield_de5 <- lm(DE5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_direction_yield_de)
# Summary of the model
summary(country_direction_yield_de5)
Call:
lm(formula = DE5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5,
data = country_direction_yield_de)
Residuals:
Min 1Q Median 3Q Max
-2.2818 -0.4266 0.1862 0.7254 1.8211
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.83285 0.54351 -1.532 0.149404
sum_5_day_tightening -0.14649 0.28705 -0.510 0.618382
sum_5_day_loosening 2.48678 1.13570 2.190 0.047390 *
diff_euribor_5 0.14816 4.68129 0.032 0.975233
diff_ex_rate_5 0.07072 0.09667 0.732 0.477407
diff_sp500_5 7.71047 6.40578 1.204 0.250177
lagged_yield_5 0.63159 0.11736 5.382 0.000125 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.355 on 13 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.7303, Adjusted R-squared: 0.6058
F-statistic: 5.867 on 6 and 13 DF, p-value: 0.003747
country_direction_yield_de5_nw <- coeftest(country_direction_yield_de5, vcov = NeweyWest(country_direction_yield_de5)) #applying robust standard errors
print(country_direction_yield_de5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.832854 0.262250 -3.1758 0.0073 **
sum_5_day_tightening -0.146487 0.096343 -1.5205 0.1523
sum_5_day_loosening 2.486779 1.840821 1.3509 0.1998
diff_euribor_5 0.148157 1.874698 0.0790 0.9382
diff_ex_rate_5 0.070720 0.049559 1.4270 0.1772
diff_sp500_5 7.710472 4.744980 1.6250 0.1282
lagged_yield_5 0.631586 0.108837 5.8030 6.144e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_de10 <- lm(DE10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_direction_yield_de)
# Summary of the model
summary(country_direction_yield_de10)
Call:
lm(formula = DE10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10,
data = country_direction_yield_de)
Residuals:
Min 1Q Median 3Q Max
-0.93399 -0.20283 0.03907 0.21019 0.71829
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.59053 0.26707 -2.211 0.0456 *
sum_10_day_tightening -0.06082 0.06237 -0.975 0.3472
sum_10_day_loosening 0.57896 0.30491 1.899 0.0800 .
diff_euribor_10 -0.09308 0.52443 -0.177 0.8619
diff_ex_rate_10 -0.04060 0.04413 -0.920 0.3744
diff_sp500_10 -0.29649 0.99435 -0.298 0.7703
lagged_yield_10 0.09979 0.04044 2.467 0.0283 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.4758 on 13 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.4997, Adjusted R-squared: 0.2688
F-statistic: 2.164 on 6 and 13 DF, p-value: 0.1146
country_direction_yield_de10_nw <- coeftest(country_direction_yield_de10, vcov = NeweyWest(country_direction_yield_de10)) #applying robust standard errors
print(country_direction_yield_de10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.590535 0.221538 -2.6656 0.0194257 *
sum_10_day_tightening -0.060821 0.048403 -1.2566 0.2310226
sum_10_day_loosening 0.578965 0.132589 4.3666 0.0007632 ***
diff_euribor_10 -0.093084 0.198604 -0.4687 0.6470516
diff_ex_rate_10 -0.040596 0.029733 -1.3654 0.1952955
diff_sp500_10 -0.296494 0.374158 -0.7924 0.4423317
lagged_yield_10 0.099785 0.019810 5.0372 0.0002275 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_es <- country_direction_yield %>%
filter(country == "ES")
colnames(country_direction_yield_es)[colnames(country_direction_yield_es)=="diff_yield_5"] <- "ES5"
colnames(country_direction_yield_es)[colnames(country_direction_yield_es)=="diff_yield_10"] <- "ES10"
country_direction_yield_es5 <- lm(ES5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_direction_yield_es)
# Summary of the model
summary(country_direction_yield_es5)
Call:
lm(formula = ES5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5,
data = country_direction_yield_es)
Residuals:
Min 1Q Median 3Q Max
-2.4231 -1.0264 -0.2702 0.4926 4.7144
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.38444 1.07594 -1.287 0.2145
sum_5_day_tightening 0.82840 0.39185 2.114 0.0487 *
sum_5_day_loosening 0.48965 1.07775 0.454 0.6550
diff_euribor_5 -0.66177 1.37222 -0.482 0.6354
diff_ex_rate_5 0.04993 0.05467 0.913 0.3732
diff_sp500_5 12.15470 6.59294 1.844 0.0818 .
lagged_yield_5 0.48324 0.17149 2.818 0.0114 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.778 on 18 degrees of freedom
Multiple R-squared: 0.5419, Adjusted R-squared: 0.3892
F-statistic: 3.549 on 6 and 18 DF, p-value: 0.01696
country_direction_yield_es5_nw <- coeftest(country_direction_yield_es5, vcov = NeweyWest(country_direction_yield_es5)) #applying robust standard errors
print(country_direction_yield_es5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.384439 0.556097 -2.4896 0.02280 *
sum_5_day_tightening 0.828398 0.336292 2.4633 0.02407 *
sum_5_day_loosening 0.489649 0.337886 1.4492 0.16449
diff_euribor_5 -0.661766 1.145748 -0.5776 0.57070
diff_ex_rate_5 0.049926 0.031669 1.5765 0.13232
diff_sp500_5 12.154704 7.178482 1.6932 0.10765
lagged_yield_5 0.483243 0.364225 1.3268 0.20117
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_es10 <- lm(ES10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_direction_yield_es)
# Summary of the model
summary(country_direction_yield_es10)
Call:
lm(formula = ES10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10,
data = country_direction_yield_es)
Residuals:
Min 1Q Median 3Q Max
-5.5378 -0.9493 0.3094 0.8468 3.4986
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.069104 1.682220 -3.013 0.00747 **
sum_10_day_tightening 0.985842 0.300418 3.282 0.00415 **
sum_10_day_loosening 0.560781 0.884766 0.634 0.53417
diff_euribor_10 -0.573862 0.768227 -0.747 0.46471
diff_ex_rate_10 0.008772 0.054260 0.162 0.87338
diff_sp500_10 5.560435 4.023395 1.382 0.18388
lagged_yield_10 0.590585 0.440039 1.342 0.19624
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.213 on 18 degrees of freedom
Multiple R-squared: 0.5572, Adjusted R-squared: 0.4095
F-statistic: 3.774 on 6 and 18 DF, p-value: 0.01309
country_direction_yield_es10_nw <- coeftest(country_direction_yield_es10, vcov = NeweyWest(country_direction_yield_es10)) #applying robust standard errors
print(country_direction_yield_es10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.0691040 2.7322862 -1.8553 0.080012 .
sum_10_day_tightening 0.9858418 0.4124335 2.3903 0.027978 *
sum_10_day_loosening 0.5607814 0.7998428 0.7011 0.492197
diff_euribor_10 -0.5738618 0.5003776 -1.1469 0.266457
diff_ex_rate_10 0.0087716 0.0413807 0.2120 0.834510
diff_sp500_10 5.5604353 6.9514727 0.7999 0.434203
lagged_yield_10 0.5905847 0.1809709 3.2634 0.004316 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_fr <- country_direction_yield %>%
filter(country == "FR")
colnames(country_direction_yield_fr)[colnames(country_direction_yield_fr)=="diff_yield_5"] <- "FR5"
colnames(country_direction_yield_fr)[colnames(country_direction_yield_fr)=="diff_yield_10"] <- "FR10"
country_direction_yield_fr5 <- lm(FR5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_direction_yield_fr)
# Summary of the model
summary(country_direction_yield_fr5)
Call:
lm(formula = FR5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5,
data = country_direction_yield_fr)
Residuals:
Min 1Q Median 3Q Max
-6.2681 -0.5903 0.5808 1.0324 1.7921
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.17900 2.23303 -1.424 0.1924
sum_5_day_tightening 0.68312 0.80782 0.846 0.4223
sum_5_day_loosening 1.64335 1.43163 1.148 0.2842
diff_euribor_5 -9.84661 16.40438 -0.600 0.5650
diff_ex_rate_5 -0.10228 0.09298 -1.100 0.3033
diff_sp500_5 -6.44798 9.85589 -0.654 0.5313
lagged_yield_5 1.01691 0.24756 4.108 0.0034 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.602 on 8 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.7487, Adjusted R-squared: 0.5602
F-statistic: 3.972 on 6 and 8 DF, p-value: 0.03829
country_direction_yield_fr5_nw <- coeftest(country_direction_yield_fr5, vcov = NeweyWest(country_direction_yield_fr5)) #applying robust standard errors
print(country_direction_yield_fr5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.179001 1.207826 -2.6320 0.0300845 *
sum_5_day_tightening 0.683118 0.316190 2.1605 0.0627435 .
sum_5_day_loosening 1.643352 0.686552 2.3936 0.0436081 *
diff_euribor_5 -9.846607 3.778521 -2.6059 0.0313272 *
diff_ex_rate_5 -0.102281 0.017097 -5.9824 0.0003298 ***
diff_sp500_5 -6.447983 1.341636 -4.8061 0.0013451 **
lagged_yield_5 1.016908 0.078801 12.9048 1.23e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_fr10 <- lm(FR10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_direction_yield_fr)
# Summary of the model
summary(country_direction_yield_fr10)
Call:
lm(formula = FR10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10,
data = country_direction_yield_fr)
Residuals:
Min 1Q Median 3Q Max
-1.5929 -0.8740 -0.2086 0.6287 2.1525
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.931747 1.643415 -0.567 0.586294
sum_10_day_tightening 0.007456 0.284340 0.026 0.979722
sum_10_day_loosening 0.238968 0.834142 0.286 0.781787
diff_euribor_10 -3.823836 5.045944 -0.758 0.470299
diff_ex_rate_10 -0.014461 0.058265 -0.248 0.810241
diff_sp500_10 -3.095877 2.505834 -1.235 0.251705
lagged_yield_10 1.137898 0.204454 5.566 0.000531 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.579 on 8 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.8574, Adjusted R-squared: 0.7504
F-statistic: 8.017 on 6 and 8 DF, p-value: 0.004872
country_direction_yield_fr10_nw <- coeftest(country_direction_yield_fr10, vcov = NeweyWest(country_direction_yield_fr10)) #applying robust standard errors
print(country_direction_yield_fr10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.9317468 1.5356505 -0.6067 0.5608408
sum_10_day_tightening 0.0074561 0.2335395 0.0319 0.9753128
sum_10_day_loosening 0.2389684 0.9652050 0.2476 0.8106930
diff_euribor_10 -3.8238365 2.0207837 -1.8923 0.0950954 .
diff_ex_rate_10 -0.0144606 0.0436475 -0.3313 0.7489274
diff_sp500_10 -3.0958772 1.0724659 -2.8867 0.0203020 *
lagged_yield_10 1.1378979 0.1852784 6.1416 0.0002765 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_gr <- country_direction_yield %>%
filter(country == "GR")
colnames(country_direction_yield_gr)[colnames(country_direction_yield_gr)=="diff_yield_5"] <- "GR5"
colnames(country_direction_yield_gr)[colnames(country_direction_yield_gr)=="diff_yield_10"] <- "GR10"
country_direction_yield_gr5 <- lm(GR5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_direction_yield_gr)
# Summary of the model
summary(country_direction_yield_gr5)
Call:
lm(formula = GR5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5,
data = country_direction_yield_gr)
Residuals:
Min 1Q Median 3Q Max
-10.4834 -5.8088 -0.2613 4.2913 14.7322
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.0310 4.7467 1.481 0.1580
sum_5_day_tightening 1.5881 2.8014 0.567 0.5786
sum_5_day_loosening -3.1877 4.9548 -0.643 0.5291
diff_euribor_5 -47.8542 20.5314 -2.331 0.0332 *
diff_ex_rate_5 1.0692 0.5809 1.841 0.0843 .
diff_sp500_5 58.3530 44.7418 1.304 0.2106
lagged_yield_5 0.1444 0.2438 0.592 0.5621
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.344 on 16 degrees of freedom
Multiple R-squared: 0.5057, Adjusted R-squared: 0.3203
F-statistic: 2.728 on 6 and 16 DF, p-value: 0.05079
country_direction_yield_gr5_nw <- coeftest(country_direction_yield_gr5, vcov = NeweyWest(country_direction_yield_gr5)) #applying robust standard errors
print(country_direction_yield_gr5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.031038 5.121792 1.3728 0.188761
sum_5_day_tightening 1.588094 2.543490 0.6244 0.541182
sum_5_day_loosening -3.187681 2.537034 -1.2565 0.226985
diff_euribor_5 -47.854237 18.220643 -2.6264 0.018331 *
diff_ex_rate_5 1.069203 0.349386 3.0602 0.007477 **
diff_sp500_5 58.353020 26.151432 2.2314 0.040314 *
lagged_yield_5 0.144361 0.078434 1.8405 0.084312 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_gr10 <- lm(GR10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_direction_yield_gr)
# Summary of the model
summary(country_direction_yield_gr10)
Call:
lm(formula = GR10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10,
data = country_direction_yield_gr)
Residuals:
Min 1Q Median 3Q Max
-12.2404 -4.7177 -0.5942 2.1334 17.4569
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.3520 5.6362 0.772 0.451
sum_10_day_tightening 1.0875 1.4245 0.763 0.456
sum_10_day_loosening 2.0714 3.2029 0.647 0.527
diff_euribor_10 -23.9525 15.9439 -1.502 0.153
diff_ex_rate_10 0.3437 1.0699 0.321 0.752
diff_sp500_10 -8.7575 43.6670 -0.201 0.844
lagged_yield_10 0.2125 0.2539 0.837 0.415
Residual standard error: 9.29 on 16 degrees of freedom
Multiple R-squared: 0.2881, Adjusted R-squared: 0.02114
F-statistic: 1.079 on 6 and 16 DF, p-value: 0.4151
country_direction_yield_gr10_nw <- coeftest(country_direction_yield_gr10, vcov = NeweyWest(country_direction_yield_gr10)) #applying robust standard errors
print(country_direction_yield_gr10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.35200 6.15823 0.7067 0.48992
sum_10_day_tightening 1.08754 1.07814 1.0087 0.32812
sum_10_day_loosening 2.07145 1.82637 1.1342 0.27342
diff_euribor_10 -23.95245 20.70777 -1.1567 0.26438
diff_ex_rate_10 0.34365 0.67294 0.5107 0.61655
diff_sp500_10 -8.75752 16.11680 -0.5434 0.59436
lagged_yield_10 0.21255 0.10761 1.9752 0.06576 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_ie <- country_direction_yield %>%
filter(country == "IE")
colnames(country_direction_yield_ie)[colnames(country_direction_yield_ie)=="diff_yield_5"] <- "IE5"
colnames(country_direction_yield_ie)[colnames(country_direction_yield_ie)=="diff_yield_10"] <- "IE10"
country_direction_yield_ie5 <- lm(IE5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_direction_yield_ie)
# Summary of the model
summary(country_direction_yield_ie5)
Call:
lm(formula = IE5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5,
data = country_direction_yield_ie)
Residuals:
Min 1Q Median 3Q Max
-2.0753 -0.6145 -0.1205 0.4727 3.5373
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.59870 0.59605 -1.004 0.32925
sum_5_day_tightening 0.19061 0.22184 0.859 0.40217
sum_5_day_loosening 0.55018 0.89982 0.611 0.54901
diff_euribor_5 -1.43447 0.86830 -1.652 0.11688
diff_ex_rate_5 0.03520 0.05838 0.603 0.55455
diff_sp500_5 -0.47161 2.78094 -0.170 0.86734
lagged_yield_5 0.75945 0.21724 3.496 0.00277 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.34 on 17 degrees of freedom
Multiple R-squared: 0.5198, Adjusted R-squared: 0.3504
F-statistic: 3.067 on 6 and 17 DF, p-value: 0.03198
country_direction_yield_ie5_nw <- coeftest(country_direction_yield_ie5, vcov = NeweyWest(country_direction_yield_ie5)) #applying robust standard errors
print(country_direction_yield_ie5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.598699 0.486187 -1.2314 0.234931
sum_5_day_tightening 0.190613 0.301427 0.6324 0.535560
sum_5_day_loosening 0.550178 0.492390 1.1174 0.279383
diff_euribor_5 -1.434472 0.547231 -2.6213 0.017873 *
diff_ex_rate_5 0.035195 0.037462 0.9395 0.360642
diff_sp500_5 -0.471611 1.513036 -0.3117 0.759060
lagged_yield_5 0.759452 0.211998 3.5823 0.002295 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_ie10 <- lm(IE10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_direction_yield_ie)
# Summary of the model
summary(country_direction_yield_ie10)
Call:
lm(formula = IE10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10,
data = country_direction_yield_ie)
Residuals:
Min 1Q Median 3Q Max
-1.6418 -0.8089 -0.0925 0.4395 3.4422
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.40972 0.74759 -1.886 0.0765 .
sum_10_day_tightening 0.26760 0.14004 1.911 0.0730 .
sum_10_day_loosening 0.35123 0.52304 0.672 0.5109
diff_euribor_10 0.12386 0.50824 0.244 0.8104
diff_ex_rate_10 0.01514 0.03856 0.393 0.6994
diff_sp500_10 0.20220 2.17345 0.093 0.9270
lagged_yield_10 0.43480 0.24164 1.799 0.0897 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.384 on 17 degrees of freedom
Multiple R-squared: 0.3855, Adjusted R-squared: 0.1686
F-statistic: 1.777 on 6 and 17 DF, p-value: 0.1639
country_direction_yield_ie10_nw <- coeftest(country_direction_yield_ie10, vcov = NeweyWest(country_direction_yield_ie10)) #applying robust standard errors
print(country_direction_yield_ie10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.409724 0.456818 -3.0860 0.006703 **
sum_10_day_tightening 0.267595 0.117177 2.2837 0.035524 *
sum_10_day_loosening 0.351232 0.504369 0.6964 0.495603
diff_euribor_10 0.123863 0.183925 0.6734 0.509718
diff_ex_rate_10 0.015143 0.018513 0.8180 0.424674
diff_sp500_10 0.202202 2.239784 0.0903 0.929122
lagged_yield_10 0.434804 0.220875 1.9686 0.065531 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_se <- country_direction_yield %>%
filter(country == "SE")
colnames(country_direction_yield_se)[colnames(country_direction_yield_se)=="diff_yield_5"] <- "SE5"
colnames(country_direction_yield_se)[colnames(country_direction_yield_se)=="diff_yield_10"] <- "SE10"
country_direction_yield_se5 <- lm(SE5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_direction_yield_se)
# Summary of the model
summary(country_direction_yield_se5)
Call:
lm(formula = SE5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5,
data = country_direction_yield_se)
Residuals:
Min 1Q Median 3Q Max
-9.7529 -0.3436 0.1992 0.5275 1.7407
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.6951252 0.4820544 -1.442 0.156
sum_5_day_tightening 0.2138279 0.1792665 1.193 0.239
sum_5_day_loosening 0.0415355 0.3879967 0.107 0.915
diff_euribor_5 -0.0945586 1.2639827 -0.075 0.941
diff_ex_rate_5 0.0004726 0.0401014 0.012 0.991
diff_sp500_5 -4.0637886 5.0261451 -0.809 0.423
lagged_yield_5 0.0468262 0.1631868 0.287 0.775
Residual standard error: 1.641 on 48 degrees of freedom
Multiple R-squared: 0.04053, Adjusted R-squared: -0.0794
F-statistic: 0.338 on 6 and 48 DF, p-value: 0.9134
country_direction_yield_se5_nw <- coeftest(country_direction_yield_se5, vcov = NeweyWest(country_direction_yield_se5)) #applying robust standard errors
print(country_direction_yield_se5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.69512519 1.29448139 -0.5370 0.5938
sum_5_day_tightening 0.21382789 0.26832089 0.7969 0.4294
sum_5_day_loosening 0.04153552 0.36924776 0.1125 0.9109
diff_euribor_5 -0.09455858 2.60410323 -0.0363 0.9712
diff_ex_rate_5 0.00047255 0.09140823 0.0052 0.9959
diff_sp500_5 -4.06378859 3.28750945 -1.2361 0.2224
lagged_yield_5 0.04682622 0.14940987 0.3134 0.7553
country_direction_yield_se10 <- lm(SE10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_direction_yield_se)
# Summary of the model
summary(country_direction_yield_se10)
Call:
lm(formula = SE10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10,
data = country_direction_yield_se)
Residuals:
Min 1Q Median 3Q Max
-10.6998 -0.4123 0.0494 0.8494 2.6407
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.822945 0.834699 -0.986 0.329
sum_10_day_tightening 0.089234 0.141015 0.633 0.530
sum_10_day_loosening 0.010527 0.342466 0.031 0.976
diff_euribor_10 -0.228855 0.420787 -0.544 0.589
diff_ex_rate_10 0.004647 0.044929 0.103 0.918
diff_sp500_10 0.033701 4.472284 0.008 0.994
lagged_yield_10 0.065640 0.168568 0.389 0.699
Residual standard error: 1.851 on 48 degrees of freedom
Multiple R-squared: 0.01832, Adjusted R-squared: -0.1044
F-statistic: 0.1493 on 6 and 48 DF, p-value: 0.9883
country_direction_yield_se10_nw <- coeftest(country_direction_yield_se10, vcov = NeweyWest(country_direction_yield_se10)) #applying robust standard errors
print(country_direction_yield_se10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.8229447 0.4848634 -1.6973 0.09612 .
sum_10_day_tightening 0.0892341 0.0706219 1.2635 0.21250
sum_10_day_loosening 0.0105265 0.2693111 0.0391 0.96898
diff_euribor_10 -0.2288553 0.1207120 -1.8959 0.06400 .
diff_ex_rate_10 0.0046468 0.0179549 0.2588 0.79689
diff_sp500_10 0.0337007 4.4675789 0.0075 0.99401
lagged_yield_10 0.0656402 0.1754017 0.3742 0.70988
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_uk <- country_direction_yield %>%
filter(country == "UK")
colnames(country_direction_yield_uk)[colnames(country_direction_yield_uk)=="diff_yield_5"] <- "UK5"
colnames(country_direction_yield_uk)[colnames(country_direction_yield_uk)=="diff_yield_10"] <- "UK10"
country_direction_yield_uk5 <- lm(UK5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5, data = country_direction_yield_uk)
# Summary of the model
summary(country_direction_yield_uk5)
Call:
lm(formula = UK5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_yield_5,
data = country_direction_yield_uk)
Residuals:
Min 1Q Median 3Q Max
-33.273 -0.076 0.268 1.044 13.456
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.63506 0.53339 -1.191 0.2350
sum_5_day_tightening 0.21055 0.19881 1.059 0.2907
sum_5_day_loosening -1.40899 0.59194 -2.380 0.0181 *
diff_euribor_5 0.47122 0.54057 0.872 0.3843
diff_ex_rate_5 -0.01785 0.04844 -0.369 0.7128
diff_sp500_5 0.85206 3.24998 0.262 0.7934
lagged_yield_5 0.25975 0.05581 4.654 5.52e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.659 on 229 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.1457, Adjusted R-squared: 0.1233
F-statistic: 6.508 on 6 and 229 DF, p-value: 2.343e-06
country_direction_yield_uk5_nw <- coeftest(country_direction_yield_uk5, vcov = NeweyWest(country_direction_yield_uk5)) #applying robust standard errors
print(country_direction_yield_uk5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.635065 0.625764 -1.0149 0.31124
sum_5_day_tightening 0.210553 0.229887 0.9159 0.36069
sum_5_day_loosening -1.408987 0.665966 -2.1157 0.03545 *
diff_euribor_5 0.471220 0.220589 2.1362 0.03373 *
diff_ex_rate_5 -0.017850 0.019773 -0.9028 0.36759
diff_sp500_5 0.852064 1.564204 0.5447 0.58647
lagged_yield_5 0.259746 0.110209 2.3569 0.01927 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_yield_uk10 <- lm(UK10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10, data = country_direction_yield_uk)
# Summary of the model
summary(country_direction_yield_uk10)
Call:
lm(formula = UK10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_yield_10,
data = country_direction_yield_uk)
Residuals:
Min 1Q Median 3Q Max
-32.233 -0.178 0.344 1.108 15.040
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.62115 0.68840 -0.902 0.36786
sum_10_day_tightening 0.11984 0.13100 0.915 0.36128
sum_10_day_loosening -1.18694 0.39261 -3.023 0.00279 **
diff_euribor_10 0.59401 0.44504 1.335 0.18332
diff_ex_rate_10 -0.02657 0.05377 -0.494 0.62163
diff_sp500_10 0.77588 2.70459 0.287 0.77447
lagged_yield_10 0.31443 0.05392 5.831 1.91e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.722 on 224 degrees of freedom
(7 observations deleted due to missingness)
Multiple R-squared: 0.216, Adjusted R-squared: 0.195
F-statistic: 10.28 on 6 and 224 DF, p-value: 4.693e-10
country_direction_yield_uk10_nw <- coeftest(country_direction_yield_uk10, vcov = NeweyWest(country_direction_yield_uk10)) #applying robust standard errors
print(country_direction_yield_uk10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.621150 0.984726 -0.6308 0.528824
sum_10_day_tightening 0.119838 0.158237 0.7573 0.449646
sum_10_day_loosening -1.186940 0.596538 -1.9897 0.047838 *
diff_euribor_10 0.594013 0.378461 1.5696 0.117931
diff_ex_rate_10 -0.026574 0.027700 -0.9593 0.338421
diff_sp500_10 0.775883 1.931861 0.4016 0.688343
lagged_yield_10 0.314427 0.116565 2.6975 0.007519 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
DIRECTION on STOXX. Country by country.
country_direction_stoxx
A tibble: 475 × 60
|
date
|
country
|
direction
|
tightening
|
loosening
|
stoxx
|
euribor
|
ex_rate
|
sp500
|
log_stoxx
|
⋯
|
sum_3_day_loosening
|
sum_4_day_loosening
|
sum_5_day_loosening
|
sum_10_day_loosening
|
lagged_stoxx_1
|
lagged_stoxx_2
|
lagged_stoxx_3
|
lagged_stoxx_4
|
lagged_stoxx_5
|
lagged_stoxx_10
|
|
<date>
|
<chr>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
⋯
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
<dbl>
|
|
2001-02-02
|
DE
|
0
|
0
|
0
|
4813.99
|
4.724
|
1.07135
|
1349.47
|
8.479282
|
⋯
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
2001-04-30
|
FR
|
1
|
1
|
0
|
3838.15
|
4.802
|
1.12790
|
1249.46
|
8.252746
|
⋯
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
2006-05-29
|
DE
|
0
|
0
|
0
|
8294.47
|
2.919
|
0.78398
|
1280.16
|
9.023344
|
⋯
|
0
|
NA
|
NA
|
NA
|
-0.226535782
|
NA
|
NA
|
NA
|
NA
|
NA
|
|
2008-09-17
|
DE
|
0
|
0
|
0
|
7497.52
|
4.973
|
0.70455
|
1156.39
|
8.922328
|
⋯
|
0
|
0
|
NA
|
NA
|
0.770598548
|
0.544062766
|
NA
|
NA
|
NA
|
NA
|
|
2008-10-28
|
UK
|
0
|
0
|
0
|
5699.26
|
4.860
|
0.64140
|
940.50
|
8.648092
|
⋯
|
0
|
0
|
0
|
NA
|
-0.101016728
|
0.669581820
|
0.443046037
|
NA
|
NA
|
NA
|
|
2009-01-27
|
UK
|
1
|
1
|
0
|
6258.57
|
2.130
|
0.70570
|
845.71
|
8.741707
|
⋯
|
0
|
0
|
0
|
NA
|
-0.274235957
|
-0.375252686
|
0.395345862
|
0.16881008
|
NA
|
NA
|
|
2009-02-09
|
UK
|
1
|
1
|
0
|
6659.68
|
2.005
|
0.67060
|
869.89
|
8.803827
|
⋯
|
0
|
0
|
0
|
NA
|
0.093615383
|
-0.180620575
|
-0.281637303
|
0.48896124
|
0.26242546
|
NA
|
|
2009-02-23
|
UK
|
1
|
1
|
0
|
5919.34
|
1.867
|
0.68700
|
743.33
|
8.685980
|
⋯
|
0
|
0
|
0
|
NA
|
0.062119711
|
0.155735093
|
-0.118500864
|
-0.21951759
|
0.55108096
|
NA
|
|
2009-03-12
|
UK
|
0
|
0
|
0
|
6061.82
|
1.650
|
0.72420
|
750.74
|
8.709765
|
⋯
|
0
|
0
|
0
|
NA
|
-0.117846479
|
-0.055726768
|
0.037888614
|
-0.23634734
|
-0.33736407
|
NA
|
|
2009-03-18
|
UK
|
1
|
1
|
0
|
6191.70
|
1.602
|
0.71580
|
794.35
|
8.730965
|
⋯
|
0
|
0
|
0
|
0
|
0.023785129
|
-0.094061350
|
-0.031941639
|
0.06167374
|
-0.21256221
|
NA
|
|
2009-03-18
|
UK
|
0
|
0
|
0
|
6191.70
|
1.602
|
0.71580
|
794.35
|
8.730965
|
⋯
|
0
|
0
|
0
|
0
|
0.021199600
|
0.044984729
|
-0.072861750
|
-0.01074204
|
0.08287334
|
NA
|
|
2009-03-18
|
UK
|
1
|
1
|
0
|
6191.70
|
1.602
|
0.71580
|
794.35
|
8.730965
|
⋯
|
0
|
0
|
0
|
0
|
0.000000000
|
0.021199600
|
0.044984729
|
-0.07286175
|
-0.01074204
|
0.2516834234
|
|
2009-03-24
|
DE
|
0
|
0
|
0
|
4462.04
|
1.556
|
0.73945
|
806.12
|
8.403361
|
⋯
|
0
|
0
|
0
|
0
|
0.000000000
|
0.000000000
|
0.021199600
|
0.04498473
|
-0.07286175
|
0.4782192058
|
|
2009-03-27
|
UK
|
1
|
1
|
0
|
6351.52
|
1.531
|
0.69820
|
815.94
|
8.756449
|
⋯
|
0
|
0
|
0
|
0
|
-0.327603625
|
-0.327603625
|
-0.327603625
|
-0.30640402
|
-0.28261890
|
-0.6199829671
|
|
2009-03-31
|
UK
|
1
|
1
|
0
|
6373.89
|
1.510
|
0.69780
|
797.87
|
8.759965
|
⋯
|
0
|
0
|
0
|
0
|
0.353088094
|
0.025484469
|
0.025484469
|
0.02548447
|
0.04668407
|
-0.1658781449
|
|
2009-03-31
|
UK
|
0
|
0
|
0
|
6373.89
|
1.510
|
0.69780
|
797.87
|
8.759965
|
⋯
|
0
|
0
|
0
|
0
|
0.003515804
|
0.356603898
|
0.029000273
|
0.02900027
|
0.02900027
|
0.1118736164
|
|
2009-05-15
|
UK
|
0
|
0
|
0
|
7472.87
|
1.250
|
0.65540
|
882.88
|
8.919034
|
⋯
|
0
|
0
|
0
|
0
|
0.000000000
|
0.003515804
|
0.356603898
|
0.02900027
|
0.02900027
|
0.0182582337
|
|
2009-06-02
|
UK
|
1
|
1
|
0
|
7772.06
|
1.262
|
0.60380
|
944.74
|
8.958291
|
⋯
|
0
|
0
|
0
|
0
|
0.159069171
|
0.159069171
|
0.162584974
|
0.51567307
|
0.18806944
|
0.1152076935
|
|
2009-06-03
|
UK
|
0
|
0
|
0
|
7688.67
|
1.260
|
0.61040
|
931.76
|
8.947503
|
⋯
|
0
|
0
|
0
|
0
|
0.039256123
|
0.198325293
|
0.198325293
|
0.20184110
|
0.55492919
|
0.2723102953
|
|
2009-06-09
|
FR
|
1
|
1
|
0
|
2387.78
|
1.286
|
0.71406
|
942.43
|
7.778119
|
⋯
|
0
|
0
|
0
|
0
|
-0.010787435
|
0.028468688
|
0.187537858
|
0.18753786
|
0.19105366
|
0.2377377316
|
|
2009-06-12
|
CH
|
1
|
1
|
0
|
5521.84
|
1.268
|
1.07995
|
946.21
|
8.616466
|
⋯
|
0
|
0
|
0
|
0
|
-1.169383753
|
-1.180171188
|
-1.140915065
|
-0.98184589
|
-0.98184589
|
-0.9528456215
|
|
2009-06-18
|
UK
|
0
|
0
|
0
|
7241.67
|
1.235
|
0.61180
|
918.37
|
8.887607
|
⋯
|
0
|
0
|
0
|
0
|
0.838347074
|
-0.331036679
|
-0.341824113
|
-0.30256799
|
-0.14349882
|
-0.1144985474
|
|
2009-06-18
|
UK
|
1
|
1
|
0
|
7241.67
|
1.235
|
0.61180
|
918.37
|
8.887607
|
⋯
|
0
|
0
|
0
|
0
|
0.271140705
|
1.109487779
|
-0.059895974
|
-0.07068341
|
-0.03142729
|
0.1566421573
|
|
2009-06-18
|
UK
|
0
|
0
|
0
|
7241.67
|
1.235
|
0.61180
|
918.37
|
8.887607
|
⋯
|
0
|
0
|
0
|
0
|
0.000000000
|
0.271140705
|
1.109487779
|
-0.05989597
|
-0.07068341
|
0.4842457822
|
|
2009-06-23
|
UK
|
0
|
0
|
0
|
7192.96
|
1.206
|
0.61300
|
895.10
|
8.880858
|
⋯
|
0
|
0
|
0
|
0
|
0.000000000
|
0.000000000
|
0.271140705
|
1.10948778
|
-0.05989597
|
0.1311576884
|
|
2009-06-24
|
UK
|
1
|
1
|
0
|
7320.85
|
1.195
|
0.60650
|
900.94
|
8.898482
|
⋯
|
0
|
0
|
0
|
0
|
-0.006749073
|
-0.006749073
|
-0.006749073
|
0.26439163
|
1.10273871
|
0.1208928117
|
|
2009-06-29
|
UK
|
0
|
0
|
0
|
7477.21
|
1.108
|
0.60430
|
927.23
|
8.919615
|
⋯
|
0
|
0
|
0
|
0
|
0.017623672
|
0.010874599
|
0.010874599
|
0.01087460
|
0.28201530
|
0.1385164832
|
|
2009-06-29
|
UK
|
0
|
0
|
0
|
7477.21
|
1.108
|
0.60430
|
927.23
|
8.919615
|
⋯
|
0
|
0
|
0
|
0
|
0.021133286
|
0.038756958
|
0.032007885
|
0.03200788
|
0.03200788
|
0.0005805989
|
|
2009-06-30
|
UK
|
1
|
1
|
0
|
7414.56
|
1.099
|
0.60720
|
919.32
|
8.911201
|
⋯
|
0
|
0
|
0
|
0
|
0.000000000
|
0.021133286
|
0.038756958
|
0.03200788
|
0.03200788
|
-0.0386755238
|
|
2009-07-01
|
DE
|
-1
|
0
|
1
|
5878.27
|
1.085
|
0.70766
|
923.33
|
8.679018
|
⋯
|
1
|
1
|
1
|
1
|
-0.008414093
|
-0.008414093
|
0.012719193
|
0.03034286
|
0.02359379
|
-0.0363021820
|
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋱
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
⋮
|
|
2021-10-26
|
DE
|
1
|
1
|
0
|
35106.30
|
-0.550
|
0.86252
|
4574.79
|
10.466136
|
⋯
|
0
|
0
|
0
|
1
|
1.347974482
|
1.69210658
|
1.26533528
|
1.72320967
|
-0.34004468
|
0.4814089649
|
|
2021-11-25
|
IE
|
0
|
0
|
0
|
8202.38
|
-0.575
|
0.89206
|
4701.46
|
9.012180
|
⋯
|
0
|
0
|
0
|
1
|
1.898270488
|
3.24624497
|
3.59037707
|
3.16360576
|
3.62148016
|
2.3796794524
|
|
2021-12-14
|
UK
|
0
|
0
|
0
|
22550.69
|
-0.605
|
0.75570
|
4634.09
|
10.023521
|
⋯
|
0
|
0
|
0
|
0
|
-1.453956245
|
0.44431424
|
1.79228872
|
2.13642083
|
1.70964952
|
2.3341646179
|
|
2021-12-14
|
UK
|
-1
|
0
|
1
|
22550.69
|
-0.605
|
0.75570
|
4634.09
|
10.023521
|
⋯
|
1
|
1
|
1
|
1
|
1.011341308
|
-0.44261494
|
1.45565555
|
2.80363003
|
3.14776214
|
3.2420774666
|
|
2021-12-14
|
UK
|
0
|
0
|
0
|
22550.69
|
-0.605
|
0.75570
|
4634.09
|
10.023521
|
⋯
|
1
|
1
|
1
|
1
|
0.000000000
|
1.01134131
|
-0.44261494
|
1.45565555
|
2.80363003
|
0.7947023499
|
|
2021-12-23
|
ES
|
0
|
0
|
0
|
8563.70
|
-0.588
|
0.88429
|
4725.79
|
9.055288
|
⋯
|
1
|
1
|
1
|
1
|
0.000000000
|
0.00000000
|
1.01134131
|
-0.44261494
|
1.45565555
|
1.1156108660
|
|
2021-12-23
|
ES
|
1
|
1
|
0
|
8563.70
|
-0.588
|
0.88429
|
4725.79
|
9.055288
|
⋯
|
0
|
1
|
1
|
1
|
-0.968233324
|
-0.96823332
|
-0.96823332
|
0.04310798
|
-1.41084826
|
2.2106318967
|
|
2022-05-31
|
SE
|
-1
|
0
|
1
|
832.82
|
-0.338
|
9.78365
|
4132.15
|
6.724818
|
⋯
|
1
|
1
|
2
|
2
|
0.000000000
|
-0.96823332
|
-0.96823332
|
-0.96823332
|
0.04310798
|
1.7527575029
|
|
2022-06-13
|
UK
|
0
|
0
|
0
|
19160.21
|
-0.281
|
0.82430
|
3749.63
|
9.860591
|
⋯
|
1
|
1
|
1
|
2
|
-2.330470086
|
-2.33047009
|
-3.29870341
|
-3.29870341
|
-3.29870341
|
-0.1509412757
|
|
2022-06-15
|
IE
|
1
|
1
|
0
|
6583.47
|
-0.182
|
0.96057
|
3789.99
|
8.792317
|
⋯
|
1
|
1
|
1
|
2
|
3.135773479
|
0.80530339
|
0.80530339
|
-0.16292993
|
-0.16292993
|
2.6407001007
|
|
2022-06-17
|
SE
|
0
|
0
|
0
|
744.77
|
-0.169
|
10.21580
|
3674.84
|
6.613075
|
⋯
|
0
|
1
|
1
|
2
|
-1.068273771
|
2.06749971
|
-0.26297038
|
-0.26297038
|
-1.23120370
|
0.2244518480
|
|
2022-07-01
|
CZ
|
0
|
0
|
0
|
1217.91
|
-0.176
|
23.82135
|
3825.33
|
7.104892
|
⋯
|
0
|
0
|
1
|
2
|
-2.179241795
|
-3.24751557
|
-0.11174209
|
-2.44221217
|
-2.44221217
|
-3.8530604346
|
|
2022-07-04
|
CZ
|
1
|
1
|
0
|
1212.59
|
-0.165
|
23.74040
|
3825.33
|
7.100514
|
⋯
|
0
|
0
|
0
|
2
|
0.491816108
|
-1.68742569
|
-2.75569946
|
0.38007402
|
-1.95039606
|
-1.9072880811
|
|
2022-08-12
|
IE
|
0
|
0
|
0
|
7215.14
|
0.333
|
0.97613
|
4280.15
|
8.883937
|
⋯
|
0
|
0
|
0
|
1
|
-0.004377707
|
0.48743840
|
-1.69180339
|
-2.76007716
|
0.37569631
|
-2.9230070963
|
|
2022-10-20
|
UK
|
1
|
1
|
0
|
17388.93
|
1.502
|
0.88350
|
3665.78
|
9.763589
|
⋯
|
0
|
0
|
0
|
1
|
1.783423028
|
1.77904532
|
2.27086143
|
0.09161963
|
-0.97665414
|
-1.1395840681
|
|
2022-11-02
|
UK
|
1
|
1
|
0
|
18217.75
|
1.726
|
0.87240
|
3759.69
|
9.810152
|
⋯
|
0
|
0
|
0
|
1
|
0.879652201
|
2.66307523
|
2.65869752
|
3.15051363
|
0.97127183
|
-0.2599318673
|
|
2022-11-24
|
IE
|
1
|
1
|
0
|
7348.52
|
1.908
|
0.96066
|
4027.26
|
8.902254
|
⋯
|
0
|
0
|
0
|
1
|
0.046562597
|
0.92621480
|
2.70963783
|
2.70526012
|
3.19707623
|
0.7548640538
|
|
2022-12-21
|
UK
|
0
|
0
|
0
|
18863.65
|
2.102
|
0.82580
|
3878.44
|
9.844992
|
⋯
|
0
|
0
|
0
|
0
|
-0.907897461
|
-0.86133486
|
0.01831734
|
1.80174036
|
1.79736266
|
-0.1530334073
|
|
2023-03-13
|
UK
|
0
|
0
|
0
|
18825.08
|
2.957
|
0.82240
|
3855.76
|
9.842945
|
⋯
|
0
|
0
|
0
|
0
|
0.942737857
|
0.03484040
|
0.08140299
|
0.96105519
|
2.74447822
|
3.1201745364
|
|
2023-03-24
|
CZ
|
1
|
1
|
0
|
1290.65
|
3.025
|
22.01210
|
3970.99
|
7.162901
|
⋯
|
0
|
0
|
0
|
0
|
-0.002046766
|
0.94069109
|
0.03279363
|
0.07935623
|
0.95900843
|
-0.0176457095
|
|
2023-03-24
|
ES
|
1
|
1
|
0
|
8792.50
|
3.025
|
0.92915
|
3970.99
|
9.081654
|
⋯
|
0
|
0
|
0
|
0
|
-2.680044056
|
-2.68209082
|
-1.73935296
|
-2.64725043
|
-2.60068783
|
-1.6294159945
|
|
2023-03-29
|
SE
|
1
|
1
|
0
|
813.95
|
3.015
|
10.41275
|
4027.81
|
6.701899
|
⋯
|
0
|
0
|
0
|
0
|
1.918753118
|
-0.76129094
|
-0.76333770
|
0.17940015
|
-0.72849731
|
2.4685789185
|
|
2023-04-11
|
CZ
|
0
|
0
|
0
|
1405.30
|
3.108
|
21.52855
|
4108.94
|
7.248006
|
⋯
|
0
|
0
|
0
|
0
|
-2.379755425
|
-0.46100231
|
-3.14104636
|
-3.14309313
|
-2.20035527
|
-0.4029926149
|
|
2023-04-13
|
SE
|
1
|
1
|
0
|
848.86
|
3.177
|
10.28425
|
4146.22
|
6.743894
|
⋯
|
0
|
0
|
0
|
0
|
0.546107143
|
-1.83364828
|
0.08510484
|
-2.59493922
|
-2.59698599
|
0.1474922352
|
|
2023-05-23
|
SE
|
0
|
0
|
0
|
851.31
|
3.422
|
10.62255
|
4145.58
|
6.746776
|
⋯
|
0
|
0
|
0
|
0
|
-0.504111809
|
0.04199533
|
-2.33776009
|
-0.41900697
|
-3.09905103
|
-2.1400426022
|
|
2023-06-07
|
IE
|
1
|
1
|
0
|
8585.99
|
3.459
|
0.93392
|
4267.52
|
9.057887
|
⋯
|
0
|
0
|
0
|
0
|
0.002882067
|
-0.50122974
|
0.04487740
|
-2.33487802
|
-0.41612491
|
-3.0168127363
|
|
2023-06-19
|
CZ
|
1
|
1
|
0
|
1326.10
|
3.551
|
21.73740
|
4409.59
|
7.189998
|
⋯
|
0
|
0
|
0
|
0
|
2.311110745
|
2.31399281
|
1.80988100
|
2.35598815
|
-0.02376728
|
-0.7522645884
|
|
2023-07-12
|
UK
|
0
|
0
|
0
|
18579.54
|
3.657
|
0.76940
|
4472.16
|
9.829816
|
⋯
|
0
|
0
|
0
|
0
|
-1.867889501
|
0.44322124
|
0.44610331
|
-0.05800850
|
0.48809864
|
-1.7122566287
|
|
2023-08-02
|
UK
|
0
|
0
|
0
|
18812.88
|
3.733
|
0.78810
|
4513.39
|
9.842297
|
⋯
|
0
|
0
|
0
|
0
|
2.639818672
|
0.77192917
|
3.08303991
|
3.08592198
|
2.58181017
|
-0.0151758145
|
|
2023-10-10
|
UK
|
1
|
1
|
0
|
17967.67
|
3.988
|
0.81590
|
4358.24
|
9.796329
|
⋯
|
0
|
0
|
0
|
0
|
0.012480766
|
2.65229944
|
0.78440994
|
3.09552068
|
3.09840275
|
-0.0006482817
|
country_direction_stoxx_cz <- country_direction_stoxx %>%
filter(country == "CZ")
colnames(country_direction_stoxx_cz)[colnames(country_direction_stoxx_cz)=="diff_stoxx_5"] <- "CZ5"
colnames(country_direction_stoxx_cz)[colnames(country_direction_stoxx_cz)=="diff_stoxx_10"] <- "CZ10"
country_direction_stoxx_cz5 <- lm(CZ5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_direction_stoxx_cz)
# Summary of the model
summary(country_direction_stoxx_cz5)
Call:
lm(formula = CZ5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5,
data = country_direction_stoxx_cz)
Residuals:
Min 1Q Median 3Q Max
-1.2604 -0.5278 -0.1676 0.4752 1.8065
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.08676 0.46147 0.188 0.8522
sum_5_day_tightening 0.17241 0.14324 1.204 0.2385
sum_5_day_loosening 0.26450 0.30920 0.855 0.3993
diff_euribor_5 -0.28244 0.49770 -0.567 0.5747
diff_ex_rate_5 -0.10535 0.01883 -5.596 4.86e-06 ***
diff_sp500_5 -0.20158 1.70448 -0.118 0.9067
lagged_stoxx_5 0.18389 0.10803 1.702 0.0994 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8886 on 29 degrees of freedom
Multiple R-squared: 0.6248, Adjusted R-squared: 0.5471
F-statistic: 8.047 on 6 and 29 DF, p-value: 3.626e-05
country_direction_stoxx_cz5_nw <- coeftest(country_direction_stoxx_cz5, vcov = NeweyWest(country_direction_stoxx_cz5)) #applying robust standard errors
print(country_direction_stoxx_cz5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.0867585 0.3670886 0.2363 0.81483
sum_5_day_tightening 0.1724114 0.1053475 1.6366 0.11252
sum_5_day_loosening 0.2644993 0.2674379 0.9890 0.33084
diff_euribor_5 -0.2824397 0.3552461 -0.7951 0.43304
diff_ex_rate_5 -0.1053522 0.0094088 -11.1972 4.779e-12 ***
diff_sp500_5 -0.2015827 1.9243333 -0.1048 0.91729
lagged_stoxx_5 0.1838912 0.0862009 2.1333 0.04149 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_cz10 <- lm(CZ10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_direction_stoxx_cz)
# Summary of the model
summary(country_direction_stoxx_cz10)
Call:
lm(formula = CZ10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10,
data = country_direction_stoxx_cz)
Residuals:
Min 1Q Median 3Q Max
-1.52347 -0.48739 -0.06196 0.54175 1.50286
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.14641 0.61336 0.239 0.813013
sum_10_day_tightening 0.04268 0.09550 0.447 0.658232
sum_10_day_loosening -0.26333 0.21553 -1.222 0.231617
diff_euribor_10 -0.11708 0.19879 -0.589 0.560437
diff_ex_rate_10 -0.08605 0.01997 -4.308 0.000172 ***
diff_sp500_10 1.58927 1.12446 1.413 0.168194
lagged_stoxx_10 0.12476 0.09335 1.337 0.191763
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8858 on 29 degrees of freedom
Multiple R-squared: 0.6658, Adjusted R-squared: 0.5967
F-statistic: 9.63 on 6 and 29 DF, p-value: 7.572e-06
country_direction_stoxx_cz10_nw <- coeftest(country_direction_stoxx_cz10, vcov = NeweyWest(country_direction_stoxx_cz10)) #applying robust standard errors
print(country_direction_stoxx_cz10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.146413 0.651069 0.2249 0.8236492
sum_10_day_tightening 0.042683 0.094364 0.4523 0.6543966
sum_10_day_loosening -0.263332 0.296596 -0.8878 0.3819283
diff_euribor_10 -0.117085 0.121430 -0.9642 0.3429078
diff_ex_rate_10 -0.086045 0.020175 -4.2649 0.0001941 ***
diff_sp500_10 1.589268 0.689660 2.3044 0.0285551 *
lagged_stoxx_10 0.124764 0.088655 1.4073 0.1699682
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_de <- country_direction_stoxx %>%
filter(country == "DE")
colnames(country_direction_stoxx_de)[colnames(country_direction_stoxx_de)=="diff_stoxx_5"] <- "DE5"
colnames(country_direction_stoxx_de)[colnames(country_direction_stoxx_de)=="diff_stoxx_10"] <- "DE10"
country_direction_stoxx_de5 <- lm(DE5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_direction_stoxx_de)
# Summary of the model
summary(country_direction_stoxx_de5)
Call:
lm(formula = DE5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5,
data = country_direction_stoxx_de)
Residuals:
Min 1Q Median 3Q Max
-0.84732 -0.44666 -0.01065 0.39826 0.97669
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.06008 0.24843 4.267 0.000917 ***
sum_5_day_tightening -0.18949 0.13809 -1.372 0.193209
sum_5_day_loosening -0.33023 0.50059 -0.660 0.520972
diff_euribor_5 -0.13755 2.20455 -0.062 0.951198
diff_ex_rate_5 -0.37705 0.04511 -8.358 1.38e-06 ***
diff_sp500_5 -13.36985 2.93580 -4.554 0.000541 ***
lagged_stoxx_5 -0.00589 0.10239 -0.058 0.955000
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6292 on 13 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.8742, Adjusted R-squared: 0.8162
F-statistic: 15.06 on 6 and 13 DF, p-value: 3.55e-05
country_direction_stoxx_de5_nw <- coeftest(country_direction_stoxx_de5, vcov = NeweyWest(country_direction_stoxx_de5)) #applying robust standard errors
print(country_direction_stoxx_de5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.060075 0.116164 9.1257 5.145e-07 ***
sum_5_day_tightening -0.189493 0.117201 -1.6168 0.129912
sum_5_day_loosening -0.330233 0.398575 -0.8285 0.422320
diff_euribor_5 -0.137551 1.064224 -0.1292 0.899138
diff_ex_rate_5 -0.377047 0.097033 -3.8858 0.001876 **
diff_sp500_5 -13.369853 3.682532 -3.6306 0.003048 **
lagged_stoxx_5 -0.005890 0.138308 -0.0426 0.966679
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_de10 <- lm(DE10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_direction_stoxx_de)
# Summary of the model
summary(country_direction_stoxx_de10)
Call:
lm(formula = DE10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10,
data = country_direction_stoxx_de)
Residuals:
Min 1Q Median 3Q Max
-0.9067 -0.3489 0.0438 0.2414 0.8839
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.96959 0.31897 3.040 0.00949 **
sum_10_day_tightening -0.13243 0.07378 -1.795 0.09592 .
sum_10_day_loosening 0.31784 0.34574 0.919 0.37469
diff_euribor_10 -0.33529 0.60680 -0.553 0.58994
diff_ex_rate_10 -0.41505 0.05145 -8.068 2.04e-06 ***
diff_sp500_10 2.84196 1.10194 2.579 0.02290 *
lagged_stoxx_10 -0.03278 0.07537 -0.435 0.67074
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5654 on 13 degrees of freedom
(3 observations deleted due to missingness)
Multiple R-squared: 0.8748, Adjusted R-squared: 0.8171
F-statistic: 15.14 on 6 and 13 DF, p-value: 3.447e-05
country_direction_stoxx_de10_nw <- coeftest(country_direction_stoxx_de10, vcov = NeweyWest(country_direction_stoxx_de10)) #applying robust standard errors
print(country_direction_stoxx_de10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.969590 0.220992 4.3875 0.0007344 ***
sum_10_day_tightening -0.132432 0.053196 -2.4895 0.0271188 *
sum_10_day_loosening 0.317840 0.133293 2.3845 0.0330275 *
diff_euribor_10 -0.335292 0.128382 -2.6117 0.0215236 *
diff_ex_rate_10 -0.415054 0.054418 -7.6271 3.756e-06 ***
diff_sp500_10 2.841960 0.250429 11.3484 4.071e-08 ***
lagged_stoxx_10 -0.032783 0.084228 -0.3892 0.7034186
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_es <- country_direction_stoxx %>%
filter(country == "ES")
colnames(country_direction_stoxx_es)[colnames(country_direction_stoxx_es)=="diff_stoxx_5"] <- "ES5"
colnames(country_direction_stoxx_es)[colnames(country_direction_stoxx_es)=="diff_stoxx_10"] <- "ES10"
country_direction_stoxx_es5 <- lm(ES5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_direction_stoxx_es)
# Summary of the model
summary(country_direction_stoxx_es5)
Call:
lm(formula = ES5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5,
data = country_direction_stoxx_es)
Residuals:
Min 1Q Median 3Q Max
-1.4592 -0.5792 -0.1281 0.2876 2.3396
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.28973 0.59659 0.486 0.63308
sum_5_day_tightening -0.01343 0.22392 -0.060 0.95285
sum_5_day_loosening -0.43110 0.59315 -0.727 0.47670
diff_euribor_5 -0.14386 0.82819 -0.174 0.86403
diff_ex_rate_5 -0.11392 0.03075 -3.705 0.00162 **
diff_sp500_5 1.66096 3.53951 0.469 0.64452
lagged_stoxx_5 0.09124 0.16736 0.545 0.59233
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.021 on 18 degrees of freedom
Multiple R-squared: 0.5164, Adjusted R-squared: 0.3553
F-statistic: 3.204 on 6 and 18 DF, p-value: 0.02551
country_direction_stoxx_es5_nw <- coeftest(country_direction_stoxx_es5, vcov = NeweyWest(country_direction_stoxx_es5)) #applying robust standard errors
print(country_direction_stoxx_es5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.289732 0.335638 0.8632 0.3994
sum_5_day_tightening -0.013427 0.130237 -0.1031 0.9190
sum_5_day_loosening -0.431101 0.318243 -1.3546 0.1923
diff_euribor_5 -0.143863 0.855613 -0.1681 0.8683
diff_ex_rate_5 -0.113923 0.018638 -6.1124 8.96e-06 ***
diff_sp500_5 1.660957 1.422337 1.1678 0.2581
lagged_stoxx_5 0.091241 0.092348 0.9880 0.3362
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_es10 <- lm(ES10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_direction_stoxx_es)
# Summary of the model
summary(country_direction_stoxx_es10)
Call:
lm(formula = ES10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10,
data = country_direction_stoxx_es)
Residuals:
Min 1Q Median 3Q Max
-1.21718 -0.36794 -0.04093 0.07101 1.62483
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.98122 0.62771 1.563 0.135426
sum_10_day_tightening -0.08027 0.11187 -0.718 0.482252
sum_10_day_loosening 0.30117 0.33965 0.887 0.386929
diff_euribor_10 0.34812 0.27895 1.248 0.228044
diff_ex_rate_10 -0.08911 0.02270 -3.925 0.000992 ***
diff_sp500_10 0.05233 1.45801 0.036 0.971762
lagged_stoxx_10 -0.09590 0.15291 -0.627 0.538438
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8114 on 18 degrees of freedom
Multiple R-squared: 0.573, Adjusted R-squared: 0.4307
F-statistic: 4.026 on 6 and 18 DF, p-value: 0.009879
country_direction_stoxx_es10_nw <- coeftest(country_direction_stoxx_es10, vcov = NeweyWest(country_direction_stoxx_es10)) #applying robust standard errors
print(country_direction_stoxx_es10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.981216 0.219753 4.4651 0.0002992 ***
sum_10_day_tightening -0.080273 0.079057 -1.0154 0.3233821
sum_10_day_loosening 0.301174 0.202328 1.4885 0.1539175
diff_euribor_10 0.348115 0.149884 2.3226 0.0321248 *
diff_ex_rate_10 -0.089114 0.045235 -1.9700 0.0644194 .
diff_sp500_10 0.052334 0.540204 0.0969 0.9238943
lagged_stoxx_10 -0.095897 0.244572 -0.3921 0.6995883
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_fr <- country_direction_stoxx %>%
filter(country == "FR")
colnames(country_direction_stoxx_fr)[colnames(country_direction_stoxx_fr)=="diff_stoxx_5"] <- "FR5"
colnames(country_direction_stoxx_fr)[colnames(country_direction_stoxx_fr)=="diff_stoxx_10"] <- "FR10"
country_direction_stoxx_fr5 <- lm(FR5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_direction_stoxx_fr)
# Summary of the model
summary(country_direction_stoxx_fr5)
Call:
lm(formula = FR5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5,
data = country_direction_stoxx_fr)
Residuals:
Min 1Q Median 3Q Max
-1.30188 -0.69265 -0.07493 0.83940 0.96957
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.720212 0.911172 -0.790 0.4521
sum_5_day_tightening 0.055480 0.335302 0.165 0.8727
sum_5_day_loosening 0.113189 0.592663 0.191 0.8533
diff_euribor_5 -1.684659 6.786417 -0.248 0.8102
diff_ex_rate_5 -0.091313 0.038532 -2.370 0.0453 *
diff_sp500_5 -1.408200 3.920810 -0.359 0.7288
lagged_stoxx_5 0.003603 0.220619 0.016 0.9874
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.077 on 8 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.4378, Adjusted R-squared: 0.01619
F-statistic: 1.038 on 6 and 8 DF, p-value: 0.4663
country_direction_stoxx_fr5_nw <- coeftest(country_direction_stoxx_fr5, vcov = NeweyWest(country_direction_stoxx_fr5)) #applying robust standard errors
print(country_direction_stoxx_fr5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.7202124 0.5598252 -1.2865 0.2342
sum_5_day_tightening 0.0554803 0.1655102 0.3352 0.7461
sum_5_day_loosening 0.1131892 0.4738490 0.2389 0.8172
diff_euribor_5 -1.6846594 2.3297906 -0.7231 0.4902
diff_ex_rate_5 -0.0913134 0.0095413 -9.5703 1.177e-05 ***
diff_sp500_5 -1.4082003 1.2662607 -1.1121 0.2984
lagged_stoxx_5 0.0036034 0.0617791 0.0583 0.9549
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_fr10 <- lm(FR10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_direction_stoxx_fr)
# Summary of the model
summary(country_direction_stoxx_fr10)
Call:
lm(formula = FR10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10,
data = country_direction_stoxx_fr)
Residuals:
Min 1Q Median 3Q Max
-0.67053 -0.22900 -0.02036 0.16004 1.34433
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.07208 0.55338 -0.130 0.89958
sum_10_day_tightening -0.19792 0.09768 -2.026 0.07731 .
sum_10_day_loosening -0.65278 0.34199 -1.909 0.09271 .
diff_euribor_10 1.38448 1.93663 0.715 0.49501
diff_ex_rate_10 -0.10298 0.02217 -4.646 0.00165 **
diff_sp500_10 3.05493 0.95073 3.213 0.01236 *
lagged_stoxx_10 -0.04213 0.10233 -0.412 0.69139
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6136 on 8 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.8711, Adjusted R-squared: 0.7745
F-statistic: 9.013 on 6 and 8 DF, p-value: 0.00333
country_direction_stoxx_fr10_nw <- coeftest(country_direction_stoxx_fr10, vcov = NeweyWest(country_direction_stoxx_fr10)) #applying robust standard errors
print(country_direction_stoxx_fr10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0720839 0.2578662 -0.2795 0.7869216
sum_10_day_tightening -0.1979207 0.0293033 -6.7542 0.0001444 ***
sum_10_day_loosening -0.6527752 0.1611634 -4.0504 0.0036822 **
diff_euribor_10 1.3844830 0.6875678 2.0136 0.0788376 .
diff_ex_rate_10 -0.1029785 0.0066871 -15.3996 3.142e-07 ***
diff_sp500_10 3.0549342 0.3297749 9.2637 1.498e-05 ***
lagged_stoxx_10 -0.0421265 0.0713487 -0.5904 0.5712000
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_gr <- country_direction_stoxx %>%
filter(country == "GR")
colnames(country_direction_stoxx_gr)[colnames(country_direction_stoxx_gr)=="diff_stoxx_5"] <- "GR5"
colnames(country_direction_stoxx_gr)[colnames(country_direction_stoxx_gr)=="diff_stoxx_10"] <- "GR10"
country_direction_stoxx_gr5 <- lm(GR5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_direction_stoxx_gr)
# Summary of the model
summary(country_direction_stoxx_gr5)
Call:
lm(formula = GR5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5,
data = country_direction_stoxx_gr)
Residuals:
Min 1Q Median 3Q Max
-1.6140 -0.5805 -0.1607 0.5316 2.2194
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.54194 0.62497 -2.467 0.0253 *
sum_5_day_tightening 0.51498 0.37282 1.381 0.1862
sum_5_day_loosening -0.66550 0.66230 -1.005 0.3299
diff_euribor_5 -0.47168 2.78144 -0.170 0.8675
diff_ex_rate_5 -0.01094 0.07507 -0.146 0.8859
diff_sp500_5 9.53255 5.92932 1.608 0.1275
lagged_stoxx_5 -0.30076 0.19448 -1.546 0.1415
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.077 on 16 degrees of freedom
Multiple R-squared: 0.3812, Adjusted R-squared: 0.1491
F-statistic: 1.643 on 6 and 16 DF, p-value: 0.1995
country_direction_stoxx_gr5_nw <- coeftest(country_direction_stoxx_gr5, vcov = NeweyWest(country_direction_stoxx_gr5)) #applying robust standard errors
print(country_direction_stoxx_gr5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.541942 0.737884 -2.0897 0.05297 .
sum_5_day_tightening 0.514979 0.361664 1.4239 0.17368
sum_5_day_loosening -0.665504 0.378610 -1.7578 0.09790 .
diff_euribor_5 -0.471685 2.933117 -0.1608 0.87425
diff_ex_rate_5 -0.010940 0.074888 -0.1461 0.88568
diff_sp500_5 9.532549 3.962031 2.4060 0.02858 *
lagged_stoxx_5 -0.300756 0.190512 -1.5787 0.13398
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_gr10 <- lm(GR10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_direction_stoxx_gr)
# Summary of the model
summary(country_direction_stoxx_gr10)
Call:
lm(formula = GR10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10,
data = country_direction_stoxx_gr)
Residuals:
Min 1Q Median 3Q Max
-0.54132 -0.38270 -0.09227 0.22439 1.27578
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.19312 0.32356 -6.778 4.44e-06 ***
sum_10_day_tightening 0.35244 0.08297 4.248 0.000614 ***
sum_10_day_loosening -0.17801 0.18887 -0.943 0.359949
diff_euribor_10 0.05353 0.81809 0.065 0.948638
diff_ex_rate_10 -0.56695 0.06071 -9.339 7.05e-08 ***
diff_sp500_10 7.74200 2.46631 3.139 0.006338 **
lagged_stoxx_10 0.01079 0.08312 0.130 0.898337
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5239 on 16 degrees of freedom
Multiple R-squared: 0.9033, Adjusted R-squared: 0.867
F-statistic: 24.9 on 6 and 16 DF, p-value: 2.879e-07
country_direction_stoxx_gr10_nw <- coeftest(country_direction_stoxx_gr10, vcov = NeweyWest(country_direction_stoxx_gr10)) #applying robust standard errors
print(country_direction_stoxx_gr10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.193116 0.229522 -9.5552 5.154e-08 ***
sum_10_day_tightening 0.352440 0.050703 6.9511 3.265e-06 ***
sum_10_day_loosening -0.178008 0.102256 -1.7408 0.1009
diff_euribor_10 0.053532 0.323763 0.1653 0.8707
diff_ex_rate_10 -0.566953 0.041783 -13.5689 3.403e-10 ***
diff_sp500_10 7.742000 0.901056 8.5921 2.170e-07 ***
lagged_stoxx_10 0.010790 0.050337 0.2143 0.8330
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_ie <- country_direction_stoxx %>%
filter(country == "IE")
colnames(country_direction_stoxx_ie)[colnames(country_direction_stoxx_ie)=="diff_stoxx_5"] <- "IE5"
colnames(country_direction_stoxx_ie)[colnames(country_direction_stoxx_ie)=="diff_stoxx_10"] <- "IE10"
country_direction_stoxx_ie5 <- lm(IE5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_direction_stoxx_ie)
# Summary of the model
summary(country_direction_stoxx_ie5)
Call:
lm(formula = IE5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5,
data = country_direction_stoxx_ie)
Residuals:
Min 1Q Median 3Q Max
-0.7201 -0.3463 -0.1518 0.2223 1.3153
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.78288 0.29007 -2.699 0.015209 *
sum_5_day_tightening 0.07275 0.11181 0.651 0.523946
sum_5_day_loosening -0.21924 0.43739 -0.501 0.622616
diff_euribor_5 -0.20069 0.38376 -0.523 0.607752
diff_ex_rate_5 -0.11166 0.02672 -4.179 0.000629 ***
diff_sp500_5 4.07601 1.45251 2.806 0.012146 *
lagged_stoxx_5 -0.04884 0.08618 -0.567 0.578338
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6085 on 17 degrees of freedom
Multiple R-squared: 0.7068, Adjusted R-squared: 0.6033
F-statistic: 6.829 on 6 and 17 DF, p-value: 0.0008045
country_direction_stoxx_ie5_nw <- coeftest(country_direction_stoxx_ie5, vcov = NeweyWest(country_direction_stoxx_ie5)) #applying robust standard errors
print(country_direction_stoxx_ie5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.7828834 0.1992174 -3.9298 0.00108 **
sum_5_day_tightening 0.0727513 0.0704884 1.0321 0.31648
sum_5_day_loosening -0.2192442 0.3106647 -0.7057 0.48992
diff_euribor_5 -0.2006883 0.1288691 -1.5573 0.13782
diff_ex_rate_5 -0.1116641 0.0059126 -18.8859 7.620e-13 ***
diff_sp500_5 4.0760102 0.6213382 6.5601 4.857e-06 ***
lagged_stoxx_5 -0.0488392 0.0198439 -2.4612 0.02484 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_ie10 <- lm(IE10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_direction_stoxx_ie)
# Summary of the model
summary(country_direction_stoxx_ie10)
Call:
lm(formula = IE10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10,
data = country_direction_stoxx_ie)
Residuals:
Min 1Q Median 3Q Max
-0.6742 -0.3353 -0.1687 0.2007 2.0001
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.728821 0.347277 -2.099 0.0511 .
sum_10_day_tightening -0.003938 0.065132 -0.060 0.9525
sum_10_day_loosening 0.046890 0.234707 0.200 0.8440
diff_euribor_10 0.147144 0.231157 0.637 0.5329
diff_ex_rate_10 -0.127815 0.019563 -6.533 5.11e-06 ***
diff_sp500_10 -0.983371 1.019689 -0.964 0.3484
lagged_stoxx_10 0.093877 0.069957 1.342 0.1973
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6432 on 17 degrees of freedom
Multiple R-squared: 0.8065, Adjusted R-squared: 0.7382
F-statistic: 11.81 on 6 and 17 DF, p-value: 2.946e-05
country_direction_stoxx_ie10_nw <- coeftest(country_direction_stoxx_ie10, vcov = NeweyWest(country_direction_stoxx_ie10)) #applying robust standard errors
print(country_direction_stoxx_ie10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.7288211 0.1600117 -4.5548 0.0002809 ***
sum_10_day_tightening -0.0039382 0.0192250 -0.2049 0.8401218
sum_10_day_loosening 0.0468896 0.1888717 0.2483 0.8069060
diff_euribor_10 0.1471436 0.0766054 1.9208 0.0716907 .
diff_ex_rate_10 -0.1278149 0.0162945 -7.8441 4.767e-07 ***
diff_sp500_10 -0.9833710 0.4976065 -1.9762 0.0645898 .
lagged_stoxx_10 0.0938768 0.1125488 0.8341 0.4157927
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_se <- country_direction_stoxx %>%
filter(country == "SE")
colnames(country_direction_stoxx_se)[colnames(country_direction_stoxx_se)=="diff_stoxx_5"] <- "SE5"
colnames(country_direction_stoxx_se)[colnames(country_direction_stoxx_se)=="diff_stoxx_10"] <- "SE10"
country_direction_stoxx_se5 <- lm(SE5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_direction_stoxx_se)
# Summary of the model
summary(country_direction_stoxx_se5)
Call:
lm(formula = SE5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5,
data = country_direction_stoxx_se)
Residuals:
Min 1Q Median 3Q Max
-1.6727 -0.6310 -0.2156 0.6911 1.8578
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.97777 0.28652 -3.413 0.00132 **
sum_5_day_tightening -0.24100 0.10682 -2.256 0.02866 *
sum_5_day_loosening -0.56500 0.23925 -2.362 0.02230 *
diff_euribor_5 0.36851 0.74851 0.492 0.62473
diff_ex_rate_5 -0.16942 0.02342 -7.235 3.21e-09 ***
diff_sp500_5 -2.46723 2.98228 -0.827 0.41216
lagged_stoxx_5 -0.15222 0.06595 -2.308 0.02535 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.9653 on 48 degrees of freedom
Multiple R-squared: 0.5932, Adjusted R-squared: 0.5424
F-statistic: 11.67 on 6 and 48 DF, p-value: 5.086e-08
country_direction_stoxx_se5_nw <- coeftest(country_direction_stoxx_se5, vcov = NeweyWest(country_direction_stoxx_se5)) #applying robust standard errors
print(country_direction_stoxx_se5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.977774 0.222867 -4.3873 6.261e-05 ***
sum_5_day_tightening -0.241000 0.099549 -2.4209 0.019313 *
sum_5_day_loosening -0.565002 0.170384 -3.3160 0.001745 **
diff_euribor_5 0.368512 0.511408 0.7206 0.474660
diff_ex_rate_5 -0.169423 0.029995 -5.6484 8.595e-07 ***
diff_sp500_5 -2.467228 1.620910 -1.5221 0.134539
lagged_stoxx_5 -0.152223 0.068475 -2.2230 0.030956 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_se10 <- lm(SE10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_direction_stoxx_se)
# Summary of the model
summary(country_direction_stoxx_se10)
Call:
lm(formula = SE10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10,
data = country_direction_stoxx_se)
Residuals:
Min 1Q Median 3Q Max
-0.7726 -0.4180 -0.1931 0.1103 2.3839
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.0873308 0.2937014 -7.107 5.04e-09 ***
sum_10_day_tightening -0.0476422 0.0518698 -0.918 0.3630
sum_10_day_loosening -0.0263322 0.1308479 -0.201 0.8414
diff_euribor_10 0.2875901 0.1569223 1.833 0.0731 .
diff_ex_rate_10 -0.1356035 0.0172639 -7.855 3.65e-10 ***
diff_sp500_10 1.0404628 1.6871614 0.617 0.5404
lagged_stoxx_10 0.0003177 0.0563908 0.006 0.9955
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6941 on 48 degrees of freedom
Multiple R-squared: 0.6345, Adjusted R-squared: 0.5888
F-statistic: 13.89 on 6 and 48 DF, p-value: 4.429e-09
country_direction_stoxx_se10_nw <- coeftest(country_direction_stoxx_se10, vcov = NeweyWest(country_direction_stoxx_se10)) #applying robust standard errors
print(country_direction_stoxx_se10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.08733076 0.36023145 -5.7944 5.159e-07 ***
sum_10_day_tightening -0.04764222 0.05091758 -0.9357 0.354125
sum_10_day_loosening -0.02633217 0.07014784 -0.3754 0.709031
diff_euribor_10 0.28759012 0.08255195 3.4837 0.001066 **
diff_ex_rate_10 -0.13560348 0.01173668 -11.5538 1.820e-15 ***
diff_sp500_10 1.04046280 1.22917728 0.8465 0.401491
lagged_stoxx_10 0.00031774 0.04940185 0.0064 0.994895
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_uk <- country_direction_stoxx %>%
filter(country == "UK")
colnames(country_direction_stoxx_uk)[colnames(country_direction_stoxx_uk)=="diff_stoxx_5"] <- "UK5"
colnames(country_direction_stoxx_uk)[colnames(country_direction_stoxx_uk)=="diff_stoxx_10"] <- "UK10"
country_direction_stoxx_uk5 <- lm(UK5 ~ sum_5_day_tightening + sum_5_day_loosening + diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5, data = country_direction_stoxx_uk)
# Summary of the model
summary(country_direction_stoxx_uk5)
Call:
lm(formula = UK5 ~ sum_5_day_tightening + sum_5_day_loosening +
diff_euribor_5 + diff_ex_rate_5 + diff_sp500_5 + lagged_stoxx_5,
data = country_direction_stoxx_uk)
Residuals:
Min 1Q Median 3Q Max
-1.7526 -0.4078 -0.2659 0.1644 2.5629
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.51239 0.12122 4.227 3.42e-05 ***
sum_5_day_tightening -0.06475 0.04514 -1.434 0.1529
sum_5_day_loosening -0.08020 0.13024 -0.616 0.5387
diff_euribor_5 0.09114 0.12222 0.746 0.4566
diff_ex_rate_5 -0.16738 0.01104 -15.168 < 2e-16 ***
diff_sp500_5 0.24592 0.73434 0.335 0.7380
lagged_stoxx_5 0.07423 0.03638 2.041 0.0424 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8268 on 229 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.5467, Adjusted R-squared: 0.5348
F-statistic: 46.03 on 6 and 229 DF, p-value: < 2.2e-16
country_direction_stoxx_uk5_nw <- coeftest(country_direction_stoxx_uk5, vcov = NeweyWest(country_direction_stoxx_uk5)) #applying robust standard errors
print(country_direction_stoxx_uk5_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.512392 0.120958 4.2361 3.296e-05 ***
sum_5_day_tightening -0.064750 0.039979 -1.6196 0.10669
sum_5_day_loosening -0.080201 0.102483 -0.7826 0.43469
diff_euribor_5 0.091137 0.058819 1.5494 0.12266
diff_ex_rate_5 -0.167381 0.021577 -7.7575 2.839e-13 ***
diff_sp500_5 0.245916 0.467561 0.5260 0.59943
lagged_stoxx_5 0.074232 0.036883 2.0126 0.04532 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
country_direction_stoxx_uk10 <- lm(UK10 ~ sum_10_day_tightening + sum_10_day_loosening + diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10, data = country_direction_stoxx_uk)
# Summary of the model
summary(country_direction_stoxx_uk10)
Call:
lm(formula = UK10 ~ sum_10_day_tightening + sum_10_day_loosening +
diff_euribor_10 + diff_ex_rate_10 + diff_sp500_10 + lagged_stoxx_10,
data = country_direction_stoxx_uk)
Residuals:
Min 1Q Median 3Q Max
-1.7983 -0.4589 -0.2954 0.2113 2.4021
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.66931 0.16184 4.136 5.01e-05 ***
sum_10_day_tightening -0.04556 0.03075 -1.482 0.1398
sum_10_day_loosening -0.10050 0.09116 -1.103 0.2714
diff_euribor_10 0.04361 0.10312 0.423 0.6728
diff_ex_rate_10 -0.17827 0.01262 -14.122 < 2e-16 ***
diff_sp500_10 -0.17095 0.63356 -0.270 0.7875
lagged_stoxx_10 0.09420 0.03728 2.527 0.0122 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.8716 on 224 degrees of freedom
(7 observations deleted due to missingness)
Multiple R-squared: 0.5087, Adjusted R-squared: 0.4956
F-statistic: 38.66 on 6 and 224 DF, p-value: < 2.2e-16
country_direction_stoxx_uk10_nw <- coeftest(country_direction_stoxx_uk10, vcov = NeweyWest(country_direction_stoxx_uk10)) #applying robust standard errors
print(country_direction_stoxx_uk10_nw)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.669309 0.214291 3.1234 0.002024 **
sum_10_day_tightening -0.045564 0.037489 -1.2154 0.225499
sum_10_day_loosening -0.100503 0.089299 -1.1255 0.261596
diff_euribor_10 0.043609 0.064019 0.6812 0.496459
diff_ex_rate_10 -0.178270 0.031890 -5.5902 6.563e-08 ***
diff_sp500_10 -0.170946 0.549878 -0.3109 0.756181
lagged_stoxx_10 0.094204 0.044155 2.1335 0.033971 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
DIRECTION on VSTOXX. Country by country.
country_direction_vstoxx_cz <- country_direction_vstoxx %>%
filter(country == "CZ")
colnames(country_direction_vstoxx_cz)[colnames(country_direction_vstoxx_cz)=="vstoxx"] <- "CZ"
country_direction_vstoxx_cz <- lm(CZ ~ sum_1_day_tightening + sum_1_day_loosening + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_cz)
# Summary of the model
summary(country_direction_vstoxx_cz)
Call:
lm(formula = CZ ~ sum_1_day_tightening + sum_1_day_loosening +
euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_cz)
Residuals:
Min 1Q Median 3Q Max
-4.9142 -2.5217 -0.9489 1.4106 18.9136
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 17.33962 25.59844 0.677 0.504
sum_1_day_tightening 2.19856 1.70610 1.289 0.208
sum_1_day_loosening -6.77892 5.23736 -1.294 0.206
euribor -0.03460 0.87240 -0.040 0.969
ex_rate 0.10815 0.62789 0.172 0.864
log_sp500 -1.74795 3.32533 -0.526 0.603
lagged_vstoxx 0.62903 0.07595 8.282 3.94e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 4.583 on 29 degrees of freedom
Multiple R-squared: 0.7487, Adjusted R-squared: 0.6967
F-statistic: 14.4 on 6 and 29 DF, p-value: 1.506e-07
country_direction_vstoxx_de <- country_direction_vstoxx %>%
filter(country == "DE")
colnames(country_direction_vstoxx_de)[colnames(country_direction_vstoxx_de)=="vstoxx"] <- "DE"
country_direction_vstoxx_de <- lm(DE ~ sum_1_day_tightening + sum_1_day_loosening + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_de)
# Summary of the model
summary(country_direction_vstoxx_de)
Call:
lm(formula = DE ~ sum_1_day_tightening + sum_1_day_loosening +
euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_de)
Residuals:
Min 1Q Median 3Q Max
-8.1363 -0.5986 0.4304 1.3435 5.4068
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 48.7125 36.5398 1.333 0.20238
sum_1_day_tightening 7.0332 2.0851 3.373 0.00418 **
sum_1_day_loosening -1.2374 4.4327 -0.279 0.78395
euribor 2.4246 1.0019 2.420 0.02868 *
ex_rate 25.6428 17.6205 1.455 0.16620
log_sp500 -8.0839 5.0053 -1.615 0.12714
lagged_vstoxx 0.5220 0.2133 2.447 0.02720 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.724 on 15 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.8569, Adjusted R-squared: 0.7996
F-statistic: 14.97 on 6 and 15 DF, p-value: 1.434e-05
country_direction_vstoxx_es <- country_direction_vstoxx %>%
filter(country == "ES")
colnames(country_direction_vstoxx_es)[colnames(country_direction_vstoxx_es)=="vstoxx"] <- "ES"
country_direction_vstoxx_es <- lm(ES ~ sum_1_day_tightening + sum_1_day_loosening + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_es)
# Summary of the model
summary(country_direction_vstoxx_es)
Call:
lm(formula = ES ~ sum_1_day_tightening + sum_1_day_loosening +
euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_es)
Residuals:
Min 1Q Median 3Q Max
-4.2057 -0.6295 0.4955 1.0126 3.4572
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 16.42171 10.18465 1.612 0.12427
sum_1_day_tightening 0.06201 1.07278 0.058 0.95454
sum_1_day_loosening 6.68633 2.27301 2.942 0.00872 **
euribor 0.24879 0.65893 0.378 0.71017
ex_rate 15.12641 10.86344 1.392 0.18076
log_sp500 -3.53048 2.06669 -1.708 0.10477
lagged_vstoxx 0.87752 0.09092 9.652 1.54e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.174 on 18 degrees of freedom
Multiple R-squared: 0.8834, Adjusted R-squared: 0.8446
F-statistic: 22.74 on 6 and 18 DF, p-value: 1.75e-07
country_direction_vstoxx_fr <- country_direction_vstoxx %>%
filter(country == "FR")
colnames(country_direction_vstoxx_fr)[colnames(country_direction_vstoxx_fr)=="vstoxx"] <- "FR"
country_direction_vstoxx_fr <- lm(FR ~ sum_1_day_tightening + sum_1_day_loosening + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_fr)
# Summary of the model
summary(country_direction_vstoxx_fr)
Call:
lm(formula = FR ~ sum_1_day_tightening + sum_1_day_loosening +
euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_fr)
Residuals:
Min 1Q Median 3Q Max
-8.3362 -1.3375 -0.0523 1.4235 10.4399
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.9306 48.6814 0.183 0.859
sum_1_day_tightening -1.2432 3.9821 -0.312 0.762
sum_1_day_loosening 9.4907 5.6139 1.691 0.125
euribor -1.2819 2.5904 -0.495 0.633
ex_rate 15.2820 22.8363 0.669 0.520
log_sp500 -2.6563 7.7171 -0.344 0.739
lagged_vstoxx 0.9711 0.1015 9.564 5.18e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 5.743 on 9 degrees of freedom
Multiple R-squared: 0.9606, Adjusted R-squared: 0.9344
F-statistic: 36.62 on 6 and 9 DF, p-value: 7.967e-06
country_direction_vstoxx_gr <- country_direction_vstoxx %>%
filter(country == "GR")
colnames(country_direction_vstoxx_gr)[colnames(country_direction_vstoxx_gr)=="vstoxx"] <- "GR"
country_direction_vstoxx_gr <- lm(GR ~ sum_1_day_tightening + sum_1_day_loosening + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_gr)
# Summary of the model
summary(country_direction_vstoxx_gr)
Call:
lm(formula = GR ~ sum_1_day_tightening + sum_1_day_loosening +
euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_gr)
Residuals:
Min 1Q Median 3Q Max
-5.0188 -1.2942 0.1410 0.4863 8.1585
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 24.5454 50.2995 0.488 0.632
sum_1_day_tightening 0.7729 2.0466 0.378 0.711
sum_1_day_loosening 2.2548 2.5937 0.869 0.398
euribor -1.7222 3.4956 -0.493 0.629
ex_rate -0.5180 13.9424 -0.037 0.971
log_sp500 -3.1569 6.5459 -0.482 0.636
lagged_vstoxx 0.9964 0.1083 9.203 8.62e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.106 on 16 degrees of freedom
Multiple R-squared: 0.8512, Adjusted R-squared: 0.7954
F-statistic: 15.26 on 6 and 16 DF, p-value: 8.136e-06
country_direction_vstoxx_ie <- country_direction_vstoxx %>%
filter(country == "IE")
colnames(country_direction_vstoxx_ie)[colnames(country_direction_vstoxx_ie)=="vstoxx"] <- "IE"
country_direction_vstoxx_ie <- lm(IE ~ sum_1_day_tightening + sum_1_day_loosening + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_ie)
# Summary of the model
summary(country_direction_vstoxx_ie)
Call:
lm(formula = IE ~ sum_1_day_tightening + sum_1_day_loosening +
euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_ie)
Residuals:
Min 1Q Median 3Q Max
-4.4816 -1.1391 -0.1764 0.6804 3.8751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.39263 14.68470 0.776 0.4485
sum_1_day_tightening 2.05188 1.24587 1.647 0.1179
sum_1_day_loosening 1.30669 2.75336 0.475 0.6411
euribor -1.53032 0.65356 -2.342 0.0316 *
ex_rate -11.20110 15.40009 -0.727 0.4769
log_sp500 -0.03761 2.37713 -0.016 0.9876
lagged_vstoxx 0.88201 0.11422 7.722 5.88e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.418 on 17 degrees of freedom
Multiple R-squared: 0.8876, Adjusted R-squared: 0.848
F-statistic: 22.38 on 6 and 17 DF, p-value: 3.437e-07
country_direction_vstoxx_se <- country_direction_vstoxx %>%
filter(country == "SE")
colnames(country_direction_vstoxx_se)[colnames(country_direction_vstoxx_se)=="vstoxx"] <- "SE"
country_direction_vstoxx_se <- lm(SE ~ sum_1_day_tightening + sum_1_day_loosening + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_se)
# Summary of the model
summary(country_direction_vstoxx_se)
Call:
lm(formula = SE ~ sum_1_day_tightening + sum_1_day_loosening +
euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_se)
Residuals:
Min 1Q Median 3Q Max
-8.6148 -1.4405 0.1706 1.5233 4.7372
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 25.00275 21.75216 1.149 0.2561
sum_1_day_tightening -1.24777 0.73065 -1.708 0.0941 .
sum_1_day_loosening 2.90222 1.39809 2.076 0.0433 *
euribor 0.06590 0.48658 0.135 0.8928
ex_rate 0.87251 0.66745 1.307 0.1974
log_sp500 -3.44747 3.35078 -1.029 0.3087
lagged_vstoxx 0.71209 0.08156 8.731 1.77e-11 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.529 on 48 degrees of freedom
Multiple R-squared: 0.7105, Adjusted R-squared: 0.6743
F-statistic: 19.63 on 6 and 48 DF, p-value: 2.041e-11
country_direction_vstoxx_uk <- country_direction_vstoxx %>%
filter(country == "UK")
colnames(country_direction_vstoxx_uk)[colnames(country_direction_vstoxx_uk)=="vstoxx"] <- "UK"
country_direction_vstoxx_uk <- lm(UK ~ sum_1_day_tightening + sum_1_day_loosening + euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_uk)
# Summary of the model
summary(country_direction_vstoxx_uk)
Call:
lm(formula = UK ~ sum_1_day_tightening + sum_1_day_loosening +
euribor + ex_rate + log_sp500 + lagged_vstoxx, data = country_direction_vstoxx_uk)
Residuals:
Min 1Q Median 3Q Max
-20.8431 -1.5586 -0.2978 1.4116 30.9350
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.87447 8.06626 2.836 0.00498 **
sum_1_day_tightening -0.99269 0.58793 -1.688 0.09267 .
sum_1_day_loosening 0.50749 1.44699 0.351 0.72612
euribor 1.79439 0.41212 4.354 2.01e-05 ***
ex_rate 17.44300 5.98462 2.915 0.00391 **
log_sp500 -3.70299 1.24757 -2.968 0.00331 **
lagged_vstoxx 0.70141 0.04656 15.063 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 4.368 on 231 degrees of freedom
Multiple R-squared: 0.8041, Adjusted R-squared: 0.799
F-statistic: 158 on 6 and 231 DF, p-value: < 2.2e-16
Summary of the results:
Pan-European Results
While there is no overall effect of the Macroprudential Policy and
financial stability announcements on financial markets, there is an
effect of annoucement stance. Loosening announcements tend to increase
changes in bond yields 10 days following the announcement. Moreover,
they tend to decrease changes in stock prices 3 and 4 days following the
announcement.
Country Specific Results
- Announcements tend to increase changes in bond yields: in Spain 5
days following the announcement, and in Ireland 10 days following the
annoucement.
- Announcements tend to decrease changes in stock prices in Germany
and France 10 days following the announcement, however, announcements
tend to increase changes in stock prices in Greece 10 days following the
announcement and in Sweden 5 days following the announcement.
- Announcements tend to increase market volatility in France and
Ireland.
- Loosening announcements tend to increase changes in bond yields in
France 5 days following the announcement and in Germany 10 days
following the announcement, while they tend to decrase changes in yields
in the UK 5 and 10 days following the announcement.
- Tightening annoucements tend to increase changes in bond yields in
Spain 5 and 10 days following the announcement, and only 10 days after
the announcement in Ireland.
- There is a different effect of specific announcement made on changes
in stock prices noticed in Germany, France, Greece and Sweden.
- Tightening annoucements tend to increase market volatility in
Germany, while loosening announcements tend to increase market
volatility in Spain and Sweden.
Other Economic Conditions:
There is a noticable effect of S&P500 and exchange rates on
financial markets.