gen byte istrading = trading == "T"
bysort date (istrading time) : gen dt = time - time[_n-1] if istrading & istrading[_n-1]
This naturally excludes differences between the last trade of a day and the first trade of the next day, as did your code here.
Nick
[email protected]
Katia Bobulova
I have to costruct a variable for the time elapsed between two trading
(trading=T)
I have this situation:
Date time control newvariable
02/01/2007 16:50:55 T 165000
02/01/2007 16:50:56 T 165000
03/01/2007 17:02:30 T 170230
03/01/2007 18:30:20 R .
03/01/2007 18:32:00 T 183200
Now the result that I would like to reach is to have new variable
which has as observations: 0 and 12970, because the first one is the
result of the diff between the first two newvariable, since they take
place at the same time, the second one should be the difference
between the newvariable at time 17:02:30 and the other one at 18:32:00
(since I am considering just the obs with control=T).
I tried to do this:
gen newvariable= time if control=="T"
by sort date: gen newvariable1=newvariable-newvariable[_n-1]
but I don't have the result that i would like to have, since i am
trying to calculate the time elapsed between two trading(control=T).
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/