Current AI learning approaches for complex systems are reactive, relying on statistical correlations to identify what is happening but not why. Our framework autonomously identifies the root cause by pinpointing the first subtle shift in time series data that precedes and evolves innto a larger directional change, allowing us to identify the why.
Traditional causal analysis assumes an external factor drives change. Our framework, in contrast, directly observes the system’s time series data, identifying the observable cause as the initial internal shift (the subtle shift) and the observable effect as the resulting directional change in the system’s own dynamics.
Step 1: Choose time intervals to monitor
Our framwework identifies the start of a causal chain by analysing time series data across multiple timeframes, from shortest to longest. First detecting a subtle, initial change at the highest frequency (e.g. seconds). This small directional change then propagates to lower frequencies (minutes, hours, days), leading to a larger, observable directional change.
While we suggest a resolution jump between timeframes of 3-5x the length of the previous timeframe, you can adjust this interval based on your specific needs. For example, a set of timeframes could be:
- 1 minute
- 3 minute
- 15 minute
- 1 hour
- 4 hour
Alternatively, you can choose sequential timeframes for a more granular analysis, such as:
- 1 second
- 2 second
- 3 second
- 4 second
Step 2: Data Processing
You will need to send time series data for your selected timeframes to the API. Use a window size of 5001 data periods, where the most recent point (the 5001st) is the one you want to forecast. In the example below, 2025-08-19 at 17:00 is the forecast date.
Example Data Format for Univariate Time Series
# | datetime | value |
---|
1 | 2025-01-23 09:00:00 | 100 |
2 | 2025-01-23 10:00:00 | 95 |
… | … | … |
5001 | 2025-08-19 17:00:00 | 0 |
Example Format for Financial Time Series
# | datetime | open | high | low | close |
---|
1 | 2025-01-23 09:00:00 | 100 | 110 | 90 | 95 |
2 | 2025-01-23 10:00:00 | 95 | 98 | 86 | 88 |
… | … | … | | | |
5001 | 2025-08-19 17:00:00 | 0 | 0 | 0 | 0 |
The final row’s values are placeholders for the period you’re forecasting. The API will return the forecasted data for this row.
Step 3: Interpreting API outputs
The API’s response will include a datetime and a causal_chain value for the period you’ve forecasted. The causal_chain value is an integer indicating the type of chain detected:
- 1: Positive causal chain detected.
- -1: Negative causal chain detected.
- 0: No chain detected.
To identify the current causal chain, you should look for the most recent non-zero value in the output sequence. For instance, if the sequence is [1, 0, 1, 0, -1] with -1 being the most recent value, it signifies that a negative causal chain has been detected.
Step 4: Tracking Causal Chains Across Timeframes
Our framework provides a roadmap of directional change using progressively lower timeframes, so both short and long term directional changes can be modelled. The following examples demonstrate how an initial directional shift can either fully evolve or fade, depending on its propagation across different timeframes.
Example: A Fully Evolved Chain
We can demonstrate this principle by using the 1 minute (highest observable frequency), 3 minute, and 15 minute timeframes.
- At 2025-08-19 09:01:00, the 1 minute timeframe shows a +1, initial positive indicator.
- At 2025-08-19 10:03:00, the 3 minute timeframe shows a +1 positive causal chain detected.
- At 2025-08-19 12:15:00, the 15 minute timeframe shows a +1 positive causal chain detected.
This sequence indicates that a positive causal chain has fully evolved across the chosen three timeframes.
Example: A Fading Causal Chain
A fading causal chain begins to evolve but then loses its momentum before it can fully propagate across all selected timeframes.
The chain begins with a positive indicator:
- At 2025-08-19 09:01:00, the 1 minute timeframe shows a +1, initial positive indicator.
- At 2025-08-19 10:03:00, the 3 minute timeframe shows a +1, positive causal chain detected.
- At 2025-08-19 11:21:00, before the change can fully evolve to the 15 minute timeframe, the 3 minute timeframe shows a -1, negative causal chain detected.
This opposing signal indicates that the initial directional shift didn’t maintain its strength, causing the chain to fade rather than continue to build.
Tracking Causal Chains: A Visual Guide to Market Dynamics
By tracking causal chains from short timeframes to longer ones, we can illustrate how significant directional changes unfold in complex systems with no human involvement.
Tracking a Positive Directional Change
This example demonstrates how our framework autonomously identified a fully evolved positive causal chain in BTCUSDT with no training data or fine-tuning. The initial indicator began on the 1 second timeframe and propagated across multiple timeframes, leading to a significant price increase from 75,000toover100,000 between April and May 2025.
Identifying and Navigating Temporary Market Reversals
Our framework autonomously understands and navigates market dynamics. During a temporary price reversal in BTCUSDT, we identified a short-term directional change before successfully realigning with the larger, underlying positive chain. This ability to distinguish between minor fluctuations and significant directional changes showcases our framework’s unique insight into both micro and macro-level system dynamics.