Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Assign fiscal year-end values to a specific event in time


From   Nick Cox <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: Assign fiscal year-end values to a specific event in time
Date   Tue, 28 Jan 2014 10:16:48 +0000

Yes; if you copy previous values to replace missing values, Stata
keeps on going until it reaches the next non-missing.

But what are you trying to do here? Like many others, your problem
seems more of an interpolation problem, and  copying the last known
value is not necessarily the best way forward. See

http://www.stata.com/statalist/archive/2014-01/msg00315.html

for some general comments and mentions of Stata commands for interpolation.

Nick
[email protected]

On 27 January 2014 21:36, miriam geringer <[email protected]> wrote:

> In terms of my example:
>
> Company   Date      Year     Price      Event    Month*
> A                 31Okt    1988                               334
> A                 29Nov    1988    10                      335
> A                 31Dez    1988                              336
> A                 31Jan     1989                              337
> A                 14Feb     1989               EventX   338
> A                 28Feb     1989                              339
> A                 31Mar     1989                              340
> B
> B
> ....
>
> *Month = Numerical date variable, monthly frequency. Stata command = mofd(Date)
>
> This is my command: bysort Company (Month): replace Price =
> Price[_n-1] if missing(Price)
>
>>>> then 10 is spread forward until the next fiscal year-end value is available
>>>> Basically, the price indicates that the fiscal year ends. In our case, on 29Nov 1988, there is a price available. This means the fiscal year ends here. And this price shall now be spread forward until the next fiscal year-end arrives.
>>>> What I wonder now: What happens if the next fiscal year-end value (in our example 1989) is now missing?
>
> Example:
>
> Company   Date      Year     Price      Event    Month*
> A                 31Okt    1988                               334
> A                 29Nov    1988    10                      335
> A                 31Dez    1988    10                      336
> A                 31Jan     1989    10                      337
> A                 14Feb     1989    10        EventX  338
> A                 28Feb     1989    10                      339
> A                 31Mar     1989    10                      340
> A                 30Apr      1989    10
> A                 31May     1989    10
> A                 30Jun      1989     10
> A                 31Jul        1989    10
> A                 31Aug      1989     10
> A                 30Sep      1989     10
> A                 31Okt       1989     .
>
> If the price on 31 Okt 1989 (the fiscal year-end) is missing, Stata
> should NOT replace the missing value with the price (10) from the
> previous fiscal year 1988. Instead, it should remain missing. But I
> think my command doesn't consider this?

 2014-01-26 Nick Cox <[email protected]>:

>> That does not help me in terms of your example or explanation.
>>
>> A strategy is to "spread" values to other observations for the same
>> firm and then look for intersections. My Stata Journal article just
>> cited gives examples.

On 26 January 2014 11:51, miriam geringer <[email protected]> wrote:

>>> I have two variables, which tell me when the fiscal year ends.
>>> An exact variable, e.g. 31Jul 1994 and a year variable, e.g. 1994.

2014-01-26 Nick Cox <[email protected]>:

>>>> How can you tell Stata in terms of these data when fiscal years end?
>>>>
>>>> What kind of variable is -Date- (numeric or string)? Are you using
>>>> Stata dates (see -help dates and times-)?
>>>>
>>>> There is much discussion of technique in
>>>> http://www.stata-journal.com/article.html?article=dm0055

On 25 January 2014 19:19, miriam geringer <[email protected]> wrote:

>>>>> I have the following two datasets:
>>>>>
>>>>> 1)
>>>>>
>>>>> Company   Date      Year     Price      Event
>>>>> A                 31Okt    1988
>>>>> A                 29Nov    1988    10
>>>>> A                 31Dez    1988
>>>>> A                 31Jan     1989
>>>>> A                 14Feb     1989                EventX
>>>>> A                 28Feb     1989
>>>>> A                 31Mar     1989
>>>>> B
>>>>> B
>>>>> ....
>>>>>
>>>>> Basically, there is some event going on in 1989. This event can happen
>>>>> in every month, on every day. I want to assign a specific value from
>>>>> the previous fiscal-year to the event in 1989. To be more precise, I
>>>>> want to assign the fiscal year-end price from fiscal year 1988 to the
>>>>> event which happens - in our example - on 14Feb 1989. In the end, I
>>>>> only need to know in what year the event happened and the
>>>>> corresponding price from the previous fiscal year-end. Sometimes,
>>>>> there is no price available in the previous fiscal year, then it
>>>>> should be just marked as missing value.
>>>>>
>>>>> ---- Fiscal Year-End 1988 ------- Event -------- Fiscal Year-End 1889
>>>>>>>>>> Assign Fiscal Year-End 1988 to Event
>>>>>
>>>>> The fiscal year can end in every month and it is possible that, for
>>>>> example, the fiscal year ends on 31Jan 1989 and the event occurs on
>>>>> 14Feb 1989. Then the 31Jan 1989 value shall be assigned.
>>>>>
>>>>> It should be something like:
>>>>> If Stata finds an EventX in fiscal year 1989 of Company A, go to
>>>>> fiscal year 1988 and take the 1988 fiscal year-end price of Company A
>>>>> and assign it to the EventX in 1989.
>>>>>
>>>>> 2) The second dataset is identical. However, this time I want to
>>>>> assign the first available fiscal year-end value.
>>>>>
>>>>> Company   Date      Year     Price      Event
>>>>> A                 31Okt    1988
>>>>> A                 29Nov    1988
>>>>> A                 31Dez    1988
>>>>> A                 31Jan     1989
>>>>> A                 14Feb     1989               EventY
>>>>> A                 28Feb     1989
>>>>> A                 31Mar     1989    10
>>>>> B
>>>>> B
>>>>> ....
>>>>>
>>>>> In this example, let's assume the year ends on 31Mar 1989 and on that
>>>>> date, the price is 10 (the fiscal year-end price). I want to assign
>>>>> this price to the row with the EventY and 14Feb. The same as in
>>>>> dataset 1, just the other way around.
>>>>>
>>>>> It should be something like:
>>>>> If Stata finds an EventY in year 1989 of Company A, take the first
>>>>> available fiscal year-end value (first one available after the event
>>>>> occured). The event can occur in February and the fiscal year can
>>>>> could end shortly after. Just take the next available value, no matter
>>>>> whether there is a calendar year shift in between or not.
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index