id date ret mv
bysort date: egen m_ret = mean(ret)
bysort date: egen sum_mv = sum(mv) // total market value in date t
gen weight = mv / sum_mv // weight of market value of stock i
gen weight_x_mv = weight*mv
bysort date: egen mw_ret = sum(weight_x_mv)