Weedpacket 1) given my experience with websites and gaming, I expect someone would figure out that a purchase automatically yields a price increase and some kind of abuse method would be common knowledge within a week. Murphy's law blah blah blah.
2 & 3) I was rather hoping to avoid all the complexity of bids and offers and price negotiation, etc. I'm thinking that's a huge gigantic mess of UI options and probably some AI logic to pretend to be some kind of haggling buyer/seller or something. I'd prefer not to open up the Pandora's box of put/call/etc. I don't want to force my users to find some other player that owns a stock and negotiate with them. That's tedious. I want to simulate a huge, liquid exchange with a simple algorithm that increases stock prices when users buy it and reduces the stock prices even more rapidly when people want to get rid of it.
So far, two options seem easy, but with limitations.
A) stock price immediately goes up by some amount when a user purchases it. The amount of increase is a function of how much stock is purchased and the number of players. If there are lots of players, the amount is smaller. If there are fewer, the amount is greater. PRO: very simple. CON: folks will quickly figure out they can buy then sell immediately ad nauseam.
B ) option A, but mitigated by some surcharge that almost exactly cancels out the price increase of the stock.
C) something like A or B but where the stock price increase is delayed for some period of time to hamper any attempts to gain the system. Like maybe wait 24 hours to apply the increase? I.e., we introduce a delay sorta like fail2ban to prevent high speed gaming of the system. Combined with additional price changes driven by user purchasing, this delay might effectively confound users ability to game things.