-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
set estimation.period #4
Comments
/push I have the same question and kindly ask how to adapt the estimation period to [-250,-6], b/c I don't want to use the default setting since it includes the first day of the event window (not applicable for short event windows like [-1,1] from my perspective). I just found this code/commentary in the function eventstudy, but the estimation period is not defined here. '## compute estimation and event period Thank you so much in advance! |
/push I would have the same question: How can one manually specify the estimation period for the model parameters (e.g. to [-120, -10]) to exclude the impact of pre-announcement effects? Does setting the estimation.period in model.args to the desired range do the trick? If I use the code below, I do get reasonable results but am wondering if that is indeed the correct specification to get the job done: eventstudy(returns.data.zoo , filing.dates , event.window = 1 , type = "marketModel" , to.remap = TRUE , remap = "cumsum" , is.levels = FALSE , inference = TRUE , inference.strategy = "bootstrap" , model.args = list(market.returns = vwret.zoo , estimation.period = -120:-10)) Thank you very much for your help! |
Hello again, Regarding your suggestion: I'm pretty sure the estimation.period argument is simply ignored by the eventstudy function since it leads to exactly identical CARs (10-decimal-digit) like computing the standard procedure (at least with my data). Nevertheless I digged deeper and it seems like I found a solution: By editing the eventstudy function via --> trace("eventstudy", edit = TRUE) it is possible to overwrite the estimation period in the source code. Disclaimer: I'm not a genuine programmer and I bet there is a better solution for this problem Cf. the following code which is part of the function eventstudy:
Looking forward to your feedback and further suggestions. Christopher |
Estimation period is computed inside
Since this is a required feature I think we can introduce a new argument for estimation period in the main I will have to look for other regressions arising out of this, if any, so might take some time before I push the code. |
Have implemented here : setting-estimation-period Feedback is welcome. |
@ashimkapoor I realised that, since events are processed one at a time based on the number of entries inside There are two possibilities I see for solving this:
This approach will require users to fill in estimation periods for all events which may not be desirable and cumbersome. One can always use defaults if values are NULL in
The
If there are more approaches then we can discuss them. @ashimkapoor I looked at changes in the following commits in https://github.com/ashimkapoor/eventstudies/commits/setting-estimation-period: PS: It is better to do a pull request if you want to submit a patch which can then be reviewed in one go. |
@chiraganand I think there are 2 approaches to be implemented :
Can everyone agree on this before we implement the above ? |
First off all, thank you guys for your comittment. Regarding the problematic setup of a global estimation.period:
One question in advance: the es() object contains the different event and firm specific CARs in one of the attributes. In processing the data through es() the "name" argument in event.list is erased (as far as I know) and only an index remains. Is it possible - for further data processing - to rematch the firm indicator with the corresponding CAR values? I have currently implemented a (nonperfect) workaround which imputes that the ranking of event.list is exactly the same as the ranking of the CAR index. Greetings & as always thank you in advance, |
*First off all, thank you guys for your comittment.*
Regarding the problematic setup of a global estmation.period:
Would it be applicable to implement a *event specific* error
handler/warning in case a given "global estimation.period" is ignored due
to lack of data points?
One can always throw a warning a period doesn't fit in.
Why am I asking this? From my perspective this would drastically
improve the "user experience" b/c one must only set an event specific
estimation.period if A. he decides it apriori or B. the global
estimation.period does not fit the underlying time series.
I think I somewhat follow what you are suggesting but I am a bit confused
regarding the two scenarios. I agree that estimation.period should not be
global but we should also not provide two ways of providing the period,
that is, global and specific. There should only be one estimation.period
input.
One question in advance: the es() object contains the different event and
firm specific CARs in one of the attributes. In processing the data through
es() the "name" argument in event.list is erased (as far as I know) and
only an index remains. Is it possible - for further data processing - to
rematch the firm indicator with the corresponding CAR values? I have
currently implemented a workaround which imputes that the ranking of
event.list is exactly the same as the ranking of the CAR index.
The reason why `name` is not used in output is because there could be
multiple events with same `name` which would become columns of the output
object, hence, confusing while subsetting and other operations. So the
output is organised by the N^th event from `event.list`.
|
Is there any way to manually configure the estimation period for the expected returns regression? In a time series with multiple events, one might want to exclude events from the estimation task.
Thanks in advance
The text was updated successfully, but these errors were encountered: