The main function of replica selection in data grids is to select replica locations that show the best QoS amongst many scattered locations across the world. Estimating the QoS properly in grid environments is a challenging task because QoS attributes are different and users' preferences are different as well. Current replica selection algorithms do not provide the best QoS because they do not consider users' preferences. As a result, optimum replica selection from the data grid sites remains a significant challenge. This challenge is met here by presenting a data grid scheme based on a stock market model in which customers typically exchange an equal value of different shares according to their priorities.