I would like to calculate returns using PROC EXPAND. I could use just a simple DATA step but I would like to learn more about PROC EXPAND.
My dataset has 3 columns containing stock, date, and price. I could use the following DATA step:
data stocks; set stocks; by stock date ; return=price/lag(price)-1; if first.stock then return=.; run;
But How do I do this using PROC EXPAND? in particular, what do I put in the TRANSFORMIN and TRANSFORMOUT ?
Thanks. just to confirm if I understand the code correctly,
transformout=( ratio 1 -1)
means getting the ratio of the current value over lag 1 and then minus 1 to get the return right? So, say if I want to get returns between now and 4 periods ago, it should be:
transformout=( ratio 4 -1)
Am I correct?
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.