Skip to main content

sima — simultaneous VARMA on the ATSW ladder

sima is the MCP assistant for systems of time series: VARMA models by exact maximum likelihood, built on the univariate models of each series. The engine is drvarma, whose ladder mode takes fue's univariate files as input. This package is the assistant: the protocol the model walks, the evidence at each node, and the menu of decisions.

It is the third rung of the ATSW ladder:

art (one series)  →  mtram (transfer networks)  →  sima (systems)

You arrive at sima with several univariate models (.pre files from art or fue), or from mtram when its network identification found a cycle: two series that feed each other, which no transfer network can hold. sima takes the same files.

Install

pip install sima-tseries            # from univariate models (.pre / .inp files)
pip install "sima-tseries[raw]"     # also from raw data: adds art-tseries, pandas, openpyxl

The raw entry (load_data, characterize, build_univariate, write_specs) uses art's engine, so it needs the raw extra; so do the worked examples that start from the data (lutkepohl_poskitt, tiao_box).

Register the server in your MCP client (the command is sima, stdio). The binary wheels of drvarma carry the compiled likelihood the ladder needs. If they are missing, drvarma warns and runs about 250 times slower.

The protocol

node tool what it answers
N0r–N0c load_data, characterize raw data: the table, and each series' λ, d and seasonality (art's engine)
N0u / N0v build_univariate / write_specs route U (the univariate models first) or route V (the vector first)
N0 load_pre the univariate models, the common window
N1 run_gate does the joint model reproduce the univariate ones? (it stops the analysis if not)
N1b canonical_analysis Box and Tiao's canonical analysis of the levels
N2 identify_cross, identify_matrices, identify_echelon the cross dynamics: residual CCFs, Jenkins and Alavi's matrices, the Kronecker indices of the echelon form
N3–N4 estimate, check_residuals, simplify, structure a candidate and its LR, the checking, Tiao and Box's simplification, is it really simultaneous?
N4b study_estimation a fit on the MA invertibility wall
N5 evaluate, forecast_uncertainty the yardstick: does it forecast better than the univariates?
N6 forecast, impulse_response, variance_decomposition, reorder use of the chosen model
— plot_* the figures
— examples, load_example the worked examples
— record_decision, export_guion the record of the analysis
— split_inp out of drvarma's deprecated multivariate .inp

Two rules shape everything:

  • The univariate model is the yardstick. A VARMA that does not forecast better than the univariate models out of sample has no reason to exist, however significant its cross terms are in sample.
  • Evidence and a menu, not a verdict. The tools show the evidence and the options with their arguments for and against. The analyst decides in the guided lane, and the model decides, in writing, in the autonomous lane.

See docs/DESIGN.md and the generated tool reference docs/TOOLS.md.

User manual

Each worked example runs node by node in a conversation with load_example(<name>) (examples lists them).

Licence

GPL-2.0-or-later. Authors: A.B. Treadway, J.A. Mauricio and D.E. Guerrero (the engine); D.E. Guerrero (the assistant).

Metadata

Release files for sima-tseries 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sima-tseries 0.1.1
File Size Uploaded
sima_tseries-0.1.1.tar.gz 214.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sima-tseries 0.1.1
File Interpreter ABI Platform
sima_tseries-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 426.2 kB

Release files / sima_tseries-0.1.1.tar.gz

Download URL sima_tseries-0.1.1.tar.gz
Size 214.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8070e27569b4db7776e76a38dc0b3a8c8a5ac3a102ad05058a298e7df8cc4603
BLAKE2b-256 checksum
How to use checksums
ff243ad44631afa31a1cfc1e4e447b89d009c16a0c9434495d59e6b30ac20d05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / sima_tseries-0.1.1-py3-none-any.whl

Download URL sima_tseries-0.1.1-py3-none-any.whl
Size 211.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
292c7f248fa210e77b40af4bed9559c59687009da7e0b204139f5b108dcc158c
BLAKE2b-256 checksum
How to use checksums
9e5985607b6ffa1215d465f93cb9e4015043d453493f7d0d61f9e2b63b114d81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page