The goal of causal discovery involves discovering direct and indirect influences among multiple time-series in order to build generative models. While financial time-series often involve ARIMA models or correlational techniques for making predictions, they lack the ability to discover common drivers or causation effects. We here present a general framework for building generative causal models and then try to apply it to build a network of 5 stock time-series data.
What it does
We provide a framework for a multi-time-series dataset where non-parametric statistical tests are performed based on conditional mutual information between the time-series (nodes of the network/graph) to discover the causal relationship between the nodes, along with the discovery of time delay involved in showing cause-effect behavior. Once the cause and effect behavior is established, the model further uses compressed sensing to provide node-by-node polynomials for predictions.
How we built it
We used python along with popularly used toolkits like scipy, statsmodels etc. for implementing the framework.
Challenges we ran into
We faced problems because of our dataset being undersampled. We had stock prices available on daily OHLC basis, whereas we would have liked an intraday dataset to test our framework. Because of the shortage of time, we didn't get a chance to explore other datasets that might be available. Another thing, everyone in our team had laptops that sucked. One particular computation took us 6 hours that limited us in what we could explore more.
Accomplishments that we're proud of
Given none of our teammates come from a computer-science background - we are happy we survived the whole hackathon :)
What we learned
Rapid prototyping - going from a mathematical idea to searching the right tools and implementing it.
What's next for Large Scale Stock Networks
We feel this technique can be generalized to model more particular and interesting problems like modelling brain networks in diseased vs. healthy condition, climate prediction etc. We will continue to work on this.