I use below code to generate maximum daily return for a stock over the past month. However, i get repeated values in many cases. Just wanted to get it checked if the code that is being used is correct. Below is the illustrative data set and the code:

Code:
* Example generated by -dataex-. For more info, type help dataex
clear
input int stock_id str10 month str52 stock float pr
1 "31-05-2002" "3M India Ltd."  282.7
1 "03-06-2002" "3M India Ltd." 275.25
1 "04-06-2002" "3M India Ltd."  288.5
1 "05-06-2002" "3M India Ltd."  282.6
1 "06-06-2002" "3M India Ltd."  284.9
1 "07-06-2002" "3M India Ltd." 276.05
1 "10-06-2002" "3M India Ltd."      .
1 "11-06-2002" "3M India Ltd."  287.9
1 "12-06-2002" "3M India Ltd."    285
1 "13-06-2002" "3M India Ltd."  278.7
1 "14-06-2002" "3M India Ltd."    283
1 "17-06-2002" "3M India Ltd."  287.9
1 "18-06-2002" "3M India Ltd." 294.95
1 "19-06-2002" "3M India Ltd."  294.5
1 "20-06-2002" "3M India Ltd."    294
1 "21-06-2002" "3M India Ltd."    284
1 "24-06-2002" "3M India Ltd." 290.05
1 "25-06-2002" "3M India Ltd."  289.1
1 "26-06-2002" "3M India Ltd."  282.5
1 "27-06-2002" "3M India Ltd."    290
1 "28-06-2002" "3M India Ltd." 285.15
1 "01-07-2002" "3M India Ltd."  287.2
1 "02-07-2002" "3M India Ltd." 285.05
1 "03-07-2002" "3M India Ltd."    295
1 "04-07-2002" "3M India Ltd."  324.5
1 "05-07-2002" "3M India Ltd."  318.3
1 "08-07-2002" "3M India Ltd."    318
1 "09-07-2002" "3M India Ltd."  323.6
1 "10-07-2002" "3M India Ltd."  313.4
1 "11-07-2002" "3M India Ltd."    302
1 "12-07-2002" "3M India Ltd."  301.7
1 "15-07-2002" "3M India Ltd."    295
1 "16-07-2002" "3M India Ltd."    300
1 "17-07-2002" "3M India Ltd."    292
1 "18-07-2002" "3M India Ltd." 295.85
1 "19-07-2002" "3M India Ltd."  303.5
1 "22-07-2002" "3M India Ltd."    291
1 "23-07-2002" "3M India Ltd." 302.75
1 "24-07-2002" "3M India Ltd." 299.45
1 "25-07-2002" "3M India Ltd."    301
1 "26-07-2002" "3M India Ltd."    300
1 "29-07-2002" "3M India Ltd."  301.7
1 "30-07-2002" "3M India Ltd."    300
1 "31-07-2002" "3M India Ltd."    300
1 "01-08-2002" "3M India Ltd."    300
1 "02-08-2002" "3M India Ltd."  302.9
1 "05-08-2002" "3M India Ltd." 303.75
1 "06-08-2002" "3M India Ltd."    304
1 "07-08-2002" "3M India Ltd."  306.8
1 "08-08-2002" "3M India Ltd."    300
1 "09-08-2002" "3M India Ltd." 300.75
1 "12-08-2002" "3M India Ltd."  300.4
1 "13-08-2002" "3M India Ltd."    300
1 "14-08-2002" "3M India Ltd."    300
1 "16-08-2002" "3M India Ltd."  304.1
1 "19-08-2002" "3M India Ltd."    300
1 "20-08-2002" "3M India Ltd."    303
1 "21-08-2002" "3M India Ltd." 301.95
1 "22-08-2002" "3M India Ltd."  302.1
1 "23-08-2002" "3M India Ltd."  303.4
1 "26-08-2002" "3M India Ltd."      .
1 "27-08-2002" "3M India Ltd."    305
1 "28-08-2002" "3M India Ltd." 305.25
1 "29-08-2002" "3M India Ltd."    305
1 "30-08-2002" "3M India Ltd."    316
1 "02-09-2002" "3M India Ltd."    315
1 "03-09-2002" "3M India Ltd."  313.5
1 "04-09-2002" "3M India Ltd."    315
1 "05-09-2002" "3M India Ltd."    315
1 "06-09-2002" "3M India Ltd."  310.4
1 "09-09-2002" "3M India Ltd."  306.5
1 "11-09-2002" "3M India Ltd."    310
1 "12-09-2002" "3M India Ltd."      .
1 "13-09-2002" "3M India Ltd."    310
1 "16-09-2002" "3M India Ltd."    310
1 "17-09-2002" "3M India Ltd." 328.35
1 "18-09-2002" "3M India Ltd."    325
1 "19-09-2002" "3M India Ltd." 320.05
1 "20-09-2002" "3M India Ltd."  316.9
1 "23-09-2002" "3M India Ltd." 315.35
1 "24-09-2002" "3M India Ltd."  312.6
1 "25-09-2002" "3M India Ltd."  314.4
1 "26-09-2002" "3M India Ltd." 316.75
1 "27-09-2002" "3M India Ltd."  315.1
1 "30-09-2002" "3M India Ltd."    315
1 "01-10-2002" "3M India Ltd."    311
1 "03-10-2002" "3M India Ltd."    315
1 "04-10-2002" "3M India Ltd."    312
1 "07-10-2002" "3M India Ltd."      .
1 "08-10-2002" "3M India Ltd."  311.8
1 "09-10-2002" "3M India Ltd."  315.1
1 "10-10-2002" "3M India Ltd."    315
1 "11-10-2002" "3M India Ltd."    315
1 "14-10-2002" "3M India Ltd."    315
1 "16-10-2002" "3M India Ltd."    315
1 "17-10-2002" "3M India Ltd."    315
1 "18-10-2002" "3M India Ltd."    315
1 "21-10-2002" "3M India Ltd."    314
1 "22-10-2002" "3M India Ltd."    313
1 "23-10-2002" "3M India Ltd."  313.2
end
Code:
gen date1=date(month,"DMY")
format date1 %td
drop month
rename date1 date
gen mdate= mofd(date)
format mdate %tm
bysort stock_id:gen rt =((pr[_n]-pr[_n-1])/pr[_n-1])
rangestat (max) rt, int(mdate -1 0) by(stock_id)
collapse(mean) rt_max, by(stock_id stock mdate)
rename rt_max max