Hi all,

Could you please advise me how to generate cumulative returns for 1-, 2-, 3-year periods using monthly price data for different companies?
My data example is as below. This is a monthly sample. gcode is for company id.

Code:
* Example generated by -dataex-. To install: ssc install dataex
clear
input str5 gcode int date double price
"14d1" 21455 .355
"14d1" 21488  .29
"14d1" 21518 .265
"14d1" 21549 .295
"1ad1" 20697 .225
"1ad1" 20727 .245
"1ad1" 20758  .19
"1ad1" 20788   .2
"1ad1" 20818  .17
"1ad1" 20850  .21
"1ad1" 20878  .21
"1ad1" 20909  .23
"1ad1" 20937 .265
"1ad1" 20970   .3
"1ad1" 21000  .28
"1ad1" 21031 .235
"1ad1" 21062  .22
"1ad1" 21091 .225
"1ad1" 21123  .22
"1ad1" 21153  .23
"1ad1" 21182  .25
"1ad1" 21215 .295
"1ad1" 21243  .34
"1ad1" 21272  .34
"1ad1" 21304  .29
"1ad1" 21335  .35
"1ad1" 21364  .37
"1ad1" 21396   .3
"1ad1" 21427  .31
"1ad1" 21455  .27
"1ad1" 21488  .28
"1ad1" 21518  .26
"1ad1" 21546  .23
"1al1" 20453 1.02
"1al1" 20482    1
"1al1" 20513    1
"1al1" 20544  .98
"1al1" 20573  .98
"1al1" 20605  .99
"1al1" 20635  .95
"1al1" 20664 .895
"1al1" 20697  .99
"1al1" 20727  .96
"1al1" 20758 .985
"1al1" 20788  .98
"1al1" 20818  .97
"1al1" 20850 .985
"1al1" 20878 .975
"1al1" 20909 .945
"1al1" 20937  .95
"1al1" 20970 .945
"1al1" 21000  .91
"1al1" 21031  .88
"1al1" 21062  .98
"1al1" 21091  .98
"1al1" 21123  .97
"1al1" 21153  .96
"1al1" 21182 .945
"1al1" 21215  .96
"1al1" 21243   .9
"1al1" 21272 .975
"1al1" 21304  .95
"1al1" 21335  .95
"1al1" 21364  .94
"1al1" 21396 .935
"1al1" 21427 .955
"1al1" 21455 .975
"1al1" 21488 .975
"1al1" 21517   .9
"1st1" 20269 .135
"1st1" 20300  .11
"1st1" 20331  .12
"1st1" 20361 .115
"1st1" 20391 .105
"1st1" 20422 .115
"1st1" 20453 .089
"1st1" 20482  .07
"1st1" 20513  .08
"1st1" 20544  .07
"1st1" 20573 .069
"1st1" 20605 .055
"1st1" 20635 .056
"1st1" 20664 .054
"1st1" 20697 .059
"1st1" 20727  .06
"1st1" 20758 .052
"1st1" 20788 .057
"1st1" 20818 .062
"1st1" 20850  .06
"1st1" 20878 .049
"1st1" 20909  .05
"1st1" 20937  .04
"1st1" 20970 .037
"1st1" 21000 .026
"1st1" 21031 .038
"1st1" 21062 .047
"1st1" 21091 .042
"1st1" 21123 .052
"1st1" 21153 .045
"1st1" 21182 .049
end
format %td date
Thanks in advance for your time.