I have a time series data, for example
data = FinancialData["JK:ADRO", "July 16 2012"]
Can I use
CellularAutomaton to forecast some period of data?
How would I go about doing that?
Mathematica Stack Exchange is a question and answer site for users of Wolfram Mathematica. It only takes a minute to sign up.Sign up to join this community
More an extended comment than a complete answer or "how to". Vitaliy's comment and the few pages Stephen Wolfram writes on the subject in
A New Kind of Science,
certainly provide a good place to start.
Adding some basic understanding of types of participants might improve your chances of analyzing this problem with
Within any publicly traded market (equity, bond, commodity markets, ...), one has 3 key types of participants:
Each (in game theoretic terms) has a positional advantage and some disadvantages:
Market makers -- Traditionally no one could respond more quickly to news than market makers. The make their livings by taking small but predictable fees for maintaining orderly markets.
Trade -- The "trade" represents the actual users and producers of stuff. Miners have more fundamental knowledge of what they mine than any other market participants. Car makers know the most about cars. Farmers have more fundamental knowledge of crops than anyone else. Central bankers have more fundamental knowledge of money supply. One can make the case that this class of participants mainly use markets to hedge costs of production and their value add. They pass on risk to the speculators.
Speculators -- Where market makers have to play all the time and the "trade" has fundamental requirements to participate (usually on some calendar or business cycle to acquire materials or sell their products), speculators have the unique positional advantage of choosing the time they want to play.
Typically participants do best when they play to their positional advantages. This has changed somewhat because high frequency traders (part of the class of speculators) have used technology (and maybe bribery by huge fee generation for exchanges) to attack the traditional advantage of market makers. Without the patently unfair and likely illegal advantages that high frequency trading exploits, they would have a significantly more difficult time disintermediating market makers. (Note, even the HFT crowd has weaknesses. Few have attacked them yet, but one begins to see plays against them).
Lots of participants stray from their positional advantage, more frequently than not, to their detriment. Market makers make bets on short term trends. Fundamental players will occasionally try to exploit their knowledge a take bets. When they do they have all become speculators.
High Frequency traders play as speculators. They choose and manipulate a very short time frame, but nevertheless they operate as speculators.
These markets don't exist (can't exist?), without speculators willing to assume risk. The velocity of risk (moving from hedger to speculator to speculator, ... back to hedger) may well have as much importance as the velocity of money to the well being of the larger economy.
While implicit in what I've said so far, the different types of participants typically have different time horizons. Market makers (and high frequency players) operate as closely to instantaneous time as possible. The trade (again the fundamental players) typically have time horizons tied to business, economic, seasonal, or agricultural cycles. And speculators, as I mentioned before, play when they think they have an edge (like Texas Holdem players who wait a good pair of cards).
Also, implicit in this description -- volatility will increase (even spike) as participants' time horizons collapse towards zero, which sets off irreconcilable differences or imbalances in limit order books.
So, I think I've made a case that any
CellularAutomaton model will likely need to include the 3 types of participants described above.
But, while you may develop something very evocative of actual markets, I don't immediately see how the approach would enable you to,
...forecast some period of data.
Others on the site may have a better sense of this then I do, but as I understand it that while
CellularAutomaton models can demonstrate that that they can generate even extremely complex systems and outcomes from very simple programs. At no single step in the process could you predict the dozen steps ahead without actually running program. So while providing extraordinary insight into how simple things can become complex they don't seem to me as helpful at prediction.
I'd love to stand corrected on this.
If you get anywhere with this, let me know.
Update Nov 2019 -- An adage I originally heard many many years ago, which I should have included in my original answer:
Neural networks are dangerous to your wealth.
The same likely applies to Cellular Automata and all forms of pattern recognition (AI which isn't, you know, any kind of intelligence).