February 09, 2008, 05:34 AM
FrankDutchDevide two fields
I have a database that holds the stock index values for several stocks per month over the last 60 months.
I need to calculate the moving (or rolling) change of these values by dividing #37 by #1 and #38 by #2 and so on till #60 by #24.
How can that be done?
When I have the results (24 values per stock) I have to calculate the MEAN, AVERAGE, VARIANCE.
(This issue was brought up here
standard deviation. )
Thanks for your help and ideas.
February 10, 2008, 05:38 PM
susannahwell, hmm, lets see.
you have to get #1 into the same record as #37.
so you
1) build your extract
MONTH/I6YYM VALUE
2) build a 2nd extract
BASEMONTH BASEVALUE
where BASEMONTH is the AYM(MONTH,-36,'I6YYM')
Now just join em up
JOIN MONTH IN HOLD1 TO BASEMONTH IN HOLD2 AS..
and you've got the basevalue in the same record as the original value.
Seems like it should work..
i bemoan the death of EPS, Econometric Programming Systems by Data Resources. It was so easy..
SET FREQ = M
RATEOFCHANGE = VALUE / VALUE\36;
reads: value divided by same value lag 36, when the workspace was set to monthly frequency.
*sigh*