How elmonstrodelbrest/chaosai works
ChaosAI is a research pipeline for learning financial time-series representations and evaluating cross-sectional portfolio policies, not a live trading system. The principal workflow tokenizes market data, pretrains a JEPA foundation model with a CFM auxiliary objective, precomputes embeddings and an RL buffer, trains a cross-sectional DQN, then evaluates it on held-out data, optionally applying Multiverse Crossing confidence filtering. The graph preserves the README’s tokenizer, macro/on-chain context, and TD-MPC2 capabilities. Several links follow documented scripts and method stages; unsampled implementations are not inferred beyond those documented relationships.
Main entry points: jepa.py JEPA pretraining · dqn_agent.py Cross-sectional DQN · tokenizer.py FSQ tokenizer · env_cross_sectional.py Portfolio environment
Components 23
Data and context
- Market data
- FSQ tokenizer
src/jax_v6/strate_i/tokenizer.py - Token sequences
- Grain loader
src/jax_v6/data/grain_loader.py - Macro context
src/jax_v6/data/macro_loader.py
Representation learning
- JEPA pretraining
src/jax_v6/jepa.py - Mamba encoder
src/jax_v6/encoders/mamba2_encoder.py - JEPA predictors
src/jax_v6/predictors/predictor.py - Flow predictor
src/jax_v6/predictors/flow_predictor.py - Representation losses
src/jax_v6/losses/vicreg.py - Training runtime
src/jax_v6/training/train_step.py - JEPA embeddings
Portfolio learning
- RL buffer
- Portfolio environment
src/jax_v6/strate_iv/env_cross_sectional.py - Cross-sectional DQN
src/jax_v6/strate_iv/dqn_agent.py - Replay buffer
src/jax_v6/strate_iv/replay_buffer.py
Evaluation and robustness
- Multiverse Crossing
src/jax_v6/strate_iv/multiverse_crossing.py - Held-out evaluation
scripts/eval_oos_temporal.py - MVX evaluation
scripts/eval_oos_mvx.py
Additional modeling
- On-chain graphs
src/strate_v/graph_builder.py - On-chain GNN
src/strate_v/gnn_model.py - TD-MPC2 agent
src/jax_v6/strate_iv/tdmpc2.py
Other components
- Researcher
Connections 27
- Researcher → FSQ tokenizer: runs tokenizer
- Market data → FSQ tokenizer: tokenizes OHLCV
- FSQ tokenizer → Token sequences: produces codes
- Token sequences → Grain loader: reads shards
- Grain loader → JEPA pretraining: provides batches
- Macro context → JEPA pretraining: provides context
- On-chain graphs → On-chain GNN: builds graph input
- On-chain GNN → JEPA pretraining: provides embeddings
- JEPA pretraining → Mamba encoder: invokes encoder
- JEPA pretraining → JEPA predictors: invokes predictor
- JEPA pretraining → Flow predictor: uses CFM objective
- JEPA pretraining → Representation losses: computes losses
- Training runtime → JEPA pretraining: updates model
- JEPA pretraining → JEPA embeddings: encodes sequences
- JEPA embeddings → RL buffer: precomputes transitions
- RL buffer → Replay buffer: supplies experience
- Replay buffer → Cross-sectional DQN: samples batches
- Cross-sectional DQN → Portfolio environment: selects portfolio actions
- Portfolio environment → Cross-sectional DQN: returns rewards
- JEPA embeddings → Multiverse Crossing: perturbs representations
- Cross-sectional DQN → Held-out evaluation: evaluates policy
- RL buffer → Held-out evaluation: provides held-out data
- Held-out evaluation → Researcher: reports results
- Cross-sectional DQN → MVX evaluation: evaluates with filter
- Multiverse Crossing → MVX evaluation: provides confidence
- RL buffer → MVX evaluation: provides held-out data
- TD-MPC2 agent → Portfolio environment: uses portfolio environment