Stock market AI

Started by
53 comments, last by medovids 22 years, 3 months ago
Woudln''t modelling the traders also make the stock market prices? ... You would see if the 100(or a lot more) virtual traders want to buy the stock or not. if they don''t want to buy the stock the price of that stock falls.

the idea of just getting an update from the internet isn''t very good since I want to make the game work without having to constantly be connected to the internet( I am considering making it for a PDA). Also I want the prices to change very often. A day in the game might be 1 minute for the user.
Advertisement
quote:Original post by InnocuousFox
Uh... this is what I was going off of. It is my understanding that he wants to "make the stock market prices realistic." That is to say he wants to model the market.


"make the stock market prices realistic" does not necessarily equate to "model the market", by which I am assuming you mean model the market with a mathematical model of some description.

"make the stock market prices realistic" really just means that any method would be acceptable if the statistics of its output (of market prices over time) were comparable with the statistics of a stock in an actual market.

quote:Original post by InnocuousFox
The player is the trader. Certainly one of the methods addressed was modeling many virtual traders as a way of making the market move... but that was prior to us clarifying what it was he wanted.


Yes, that was the idea I presented. Just because Medovids clarified his desires with the statement "make the stock market prices realistic", doesn''t preclude an AI approach to the game in favour of a maths approach to the game. It seems to me that you think that the only way to "make the stock market prices realistic" is to use a mathematical model. That''s fine if that''s your belief, but I don''t agree with it. I base my belief that a trader-based AI would be a good approach because this is exactly what the Santa Fe Institude did about 10 years ago when they wanted to investigate fluctuating markets. They came up with very realistic simulations using agents that had different desires and that were motivated by slightly different factors.

The problem with a mathematical model is that we simply don''t have one that models stocks. Sure, we could make a stochastic differential equation of the form

dx(t) = f(x,t)dt + g(x,t)w(t)dt

and make some simplifications - like assuming that w(t) was the time derivative of a Weiner process - but then we still need the deterministic drift function f(x,t). There is simply no way to write this function down from first principles. Learning this function (and the function g(x,t)) has been a major thrust of non-linear modelling of stochastic processes for several decades. Artifical neural nets have become popular for the task and the most advanced of these systems perform real-time, online dual estimation of the model parameters (in this case the arc weights in the network) and the state of the system, rather than the old method of batch learning from a training set of data.

Sure, you could go to these lengths to create a realistic black box function that produces stock prices... or you could really simplify the problem and just use a random number generator (assume f(x,t)=0). Alternatively, you could create dozens of traders with moderately compelex decision processes and set them to interacting. The dynamic of this system would be highly unpredictable and if tuned correctly, may produce a fluctuating market similar to a stock market; the output of which would be stock prices.

Cheers,

Timkin
quote:Yes, that was the idea I presented. Just because Medovids clarified his desires with the statement "make the stock market prices realistic", doesn''t preclude an AI approach to the game in favour of a maths approach to the game. It seems to me that you think that the only way to "make the stock market prices realistic" is to use a mathematical model. That''s fine if that''s your belief, but I don''t agree with it.

Modeling individual traders IS a mathematical model as well.

Remember, I was one of the people originally exploring the multiple trading personality approaches. The thing is, it becomes prohibitive if you make 100 different enormously complex algorithms. If you can achieve the same effect by using only a few curves, the overhead isn''t as extensive. It''s also a hell of a lot easier to debug! With 100 different personalities, you have to balance each one so that it doesn''t throw the whole thing outta whack.

Dave Mark
Intrinsic Algorithm Development

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

yeah, I agree with InnocuousFox even though Timkin presented a good idea it is very complicated and I would be very happy with a simpler aproach. I am now started to consider (as somone suggested...THANKS!) just randomizing the graph and at different periods of time just sticking in interesting occurences that change the price and then it again takes up randomizing.

This would look like the real stock market and it would seem to act like the real stock market
quote:Original post by InnocuousFox
Modeling individual traders IS a mathematical model as well.

That's a VERY broad brush you're painting with! I cannot say I would agree that an AI model of multiple traders could be classified as a mathematical model because you wouldn't necessarily be implementing mathematics to create the model.

But, to be definite, I'll distinguish my concept of a mathematical modelling approach as utilising some form of stochastic differential equation, since with such you can model a Markov process. Of course, the stockmarket is NOT a Markov process because the Markov assumption does not hold. (The Markov assumption, for those unaware of it, states that the future states of the system are independant of the past states given the current state). It's a fair enough approximation though so a stochastic d.e. would make a reasonable mathematical model. Anyway, I digress...

quote:Original post by InnocuousFox
The thing is, it becomes prohibitive if you make 100 different enormously complex algorithms.


Agreed. So the point is to make 100 simple agents but design them so that the complexity of their interactions is highly unpredictable. That's not too hard as you can just add more agents to get more complexity.

quote:Original post by InnocuousFox
With 100 different personalities, you have to balance each one so that it doesn't throw the whole thing outta whack.


Ah, but the point of dynamic systems is that you don't want to balance them... you just want to avoid critical points. Of course, that's not easy if you cannot analyse your system. It could involve trial and error (or a search of the parameter space), but it could be done (since it has been done).

Cheers,

Timkin





Edited by - Timkin on January 22, 2002 10:26:48 PM

This topic is closed to new replies.

Advertisement