An asynchronous discrete-time model run in “dynamic mode” can model the effects on market prices of changes in strategies, leverage, and regulations, or the effects of different return estimation procedures and different trading rules. Run in “equilibrium mode,” it can be used to arrive at equilibrium expected returns.