returns: Constructor of an object of S3 class 'returns'.

Description Usage Arguments Details Value References See Also Examples

View source: R/apply_market_model.R

Description

Constructs an object of S3 class returns.

Usage

1
2
3
4
5
6
7
8
returns(
  rates,
  regressor,
  market_model = c("mean_adj", "mrkt_adj", "sim"),
  estimation_method = c("ols"),
  estimation_start,
  estimation_end
)

Arguments

rates

an object of class either zoo or data.frame giving observed rates of returns of security.

regressor

an object of the same class as rates representing rates of returns of the market model, if needed.

market_model

a character indicating the market model among mean_adj, mrkt_adj, and sim.

estimation_method

a character specifying an estimation method for sim model.

estimation_start

an object of Date class giving the first date of the estimation period.

estimation_end

an object of Date class giving the last date of the estimation period.

Details

The constructor is a generic function, dispatched for classes zoo data.frame. Parameters rates and regressor should be objects of the same class (zoo or data.frame). There are three market model implemented. mean_adj stands for mean-adjusted-returns model, which is the average of returns during the estimation period. mrkt_adj represents market-adjusted-returns model: the securities' rates of returns are simply market index rates of returns (in terms of parameters - regressor). Finally, sim stands for single-index market model For this model only Ordinary Least Squares estimation_method is currently implemented. All models are described in Brown and Warner (1985).

Value

An object of S3 class returns, which contains following fields:

References

Brown S.J., Warner J.B. Using Daily Stock Returns, The Case of Event Studies. Journal of Financial Economics, 14:3-31, 1985.

See Also

apply_market_model

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
library("zoo")
## 1. Mean-adjusted-returns model
## Not run: 
library("magrittr")
single_return <- get_prices_from_tickers("AMZN",
                                         start = as.Date("2019-04-01"),
                                         end = as.Date("2020-04-01"),
                                         quote = "Close",
                                         retclass = "zoo") %>%
    get_rates_from_prices(quote = "Close",
                          multi_day = TRUE,
                          compounding = "continuous") %>%
    returns(market_model = "mean_adj",
            estimation_start = as.Date("2019-04-01"),
            estimation_end = as.Date("2020-03-13"))

## End(Not run)
## The result of the code above is equivalent to:
data(rates)
single_return <- returns(rates[, "AMZN"],
                         market_model = "mean_adj",
                         estimation_start = as.Date("2019-04-01"),
                         estimation_end = as.Date("2020-03-13"))

## 2. Market-adjusted-returns model
## Not run: 
library("magrittr")
rates_indx <- get_prices_from_tickers("^GSPC",
                                      start = as.Date("2019-04-01"),
                                      end = as.Date("2020-04-01"),
                                      quote = "Close",
                                      retclass = "zoo") %>%
    get_rates_from_prices(quote = "Close",
                          multi_day = TRUE,
                          compounding = "continuous")

single_return <- get_prices_from_tickers("AMZN",
                                         start = as.Date("2019-04-01"),
                                         end = as.Date("2020-04-01"),
                                         quote = "Close",
                                         retclass = "zoo") %>%
    get_rates_from_prices(quote = "Close",
                          multi_day = TRUE,
                          compounding = "continuous") %>%
    returns(regressor = rates_indx,
            market_model = "mrkt_adj",
            estimation_start = as.Date("2019-04-01"),
            estimation_end = as.Date("2020-03-13"))

## End(Not run)
## The result of the code above is equivalent to:
data(rates, rates_indx)
single_return <- returns(rates = rates[, "AMZN", drop = FALSE],
                         regressor = rates_indx,
                         market_model = "mrkt_adj",
                         estimation_method = "ols",
                         estimation_start = as.Date("2019-04-01"),
                         estimation_end = as.Date("2020-03-13"))

## 3. Single-index market model
## Not run: 
library("magrittr")
rates_indx <- get_prices_from_tickers("^GSPC",
                                      start = as.Date("2019-04-01"),
                                      end = as.Date("2020-04-01"),
                                      quote = "Close",
                                      retclass = "zoo") %>%
    get_rates_from_prices(quote = "Close",
                          multi_day = TRUE,
                          compounding = "continuous")

single_return <- get_prices_from_tickers("AMZN",
                                         start = as.Date("2019-04-01"),
                                         end = as.Date("2020-04-01"),
                                         quote = "Close",
                                         retclass = "zoo") %>%
    get_rates_from_prices(quote = "Close",
                          multi_day = TRUE,
                          compounding = "continuous") %>%
    returns(regressor = rates_indx,
            market_model = "sim",
            estimation_method = "ols",
            estimation_start = as.Date("2019-04-01"),
            estimation_end = as.Date("2020-03-13"))

## End(Not run)
## The result of the code above is equivalent to:
data(rates, rates_indx)
single_return <- returns(rates = rates[, "AMZN", drop = FALSE],
                         regressor = rates_indx,
                         market_model = "sim",
                         estimation_method = "ols",
                         estimation_start = as.Date("2019-04-01"),
                         estimation_end = as.Date("2020-03-13"))

estudy2 documentation built on Nov. 15, 2021, 5:09 p.m.