Weedpacket I appreciate your thoughts here. While I was considering a cronjob to randomly adjust stock prices up or down a give a hint of real market fluctuations, I certainly think that all real price moves for a stock should be driven by the humans playing this stock market game. A couple of questions arise:
1) If a human purchases the stock at $100, how much should our algorithm adjust it? I was thinking of adjusting the stock price upwards using a function of the total number of human players, the total shares of the stock in existence, and the amount purchased by the player. But what's the formula? There are some problematic scenarios: a) user buys stock, stock gets marked up, user immediately sells stock, gaming the system and increasing their money without bound; b) user buys ALL shares of stock, preventing any action by other players (is this really bad? Or an interesting game dynamic?); c) player introduces a new stock, buys some shares (which increase in value due to his purchase action) and nobody else buys the stock -- if nobody else likes the stock (an unpopular IPO) then shouldn't the player be punished by a drop in stock price?
2) Does a player purchase the stock at the market price exactly as they see it? Or do we apply the price increase first? E.g., if I see stock at $100 and choose to buy enough shares to raise its price to $110, does the system charge me $100 or $110? This might prevent the system-gaming described in 1a above.
3) What happens if two players try and purchase the same stock in rapid succession? E.g., both players see the stock listed at $100 and click "buy." One player gets the $100 price, the other will see the increased price. I'm thinking the second player (even if it's only milliseconds) should get a 'denied' message that informs the user that their order was not fulfilled due to a price jump and offer them the option to buy at the new, higher price.