Skip to main content

MainSequence Markets

MainSequence Markets

Docs License Python Package Open Issues Last Commit Maintained

ms-markets is the financial markets extension layer for the Main Sequence platform. It provides reusable market-domain ORM models, market DataNodes, portfolio construction utilities, repository operations, and application-facing helpers for building financial systems on top of Main Sequence. Portfolio and QuantLib-backed pricing capabilities are packaged as separate import surfaces so core msm stays focused on shared markets primitives.

The Python distribution is named ms-markets. The core import package is intentionally short:

import msm

Portfolio workflows import from msm_portfolios. Optional QuantLib-backed pricing imports from msm_pricing.

Project Status

The initial core package was migrated from mainsequence-sdk/mainsequence/markets into this repository under src/msm. Architecture and implementation decisions are tracked in Architecture Decision Records.

What This Repository Contains

Main package areas:

  • msm.api.accounts: account identity and account target assignment row APIs
  • msm.api.calendars: calendar identity, date, session, and event row APIs
  • msm.api: user-facing Pydantic row objects and typed class methods for markets MetaTable records
  • msm.constants: static built-in keys such as asset type constants used across applications and examples
  • msm.client: client-facing Main Sequence market models and API wrappers
  • msm.data_nodes: market TimeIndexTableUpdater contracts, including account holdings, execution events, asset snapshots, and asset pricing details
  • msm.api.execution: order managers, target quantities, orders, events, trades, and execution error row APIs
  • msm.models: SQLAlchemy market-domain *Table declarations and MetaTable registration order
  • msm_portfolios: portfolio configuration, signal weights, rebalance strategies, virtual funds, and portfolio construction workflows
  • msm_pricing: optional QuantLib-backed instruments, curves, fixings, pricing helpers, and pure-data analytics installed with pricing or analytics extras
  • msm.repositories: compiled persistence operations over market-domain models
  • msm.services: application-level orchestration over repositories, including asset lookup and OpenFIGI service helpers
  • msm CLI: package maintenance helpers such as explicit agent-skill copying and SDK-managed MetaTable migration commands

Repository areas:

  • docs/: MkDocs documentation, tutorials, knowledge guides, ADRs, and API reference scaffold
  • examples/msm/: core assets, accounts, calendars, formula/custom indexes, platform, and row-workflow examples
  • examples/msm_portfolios/: single portfolio construction example with index linkage and canonical portfolio DataNodes
  • examples/msm_pricing/: optional pricing and QuantLib-backed examples
  • .agents/skills/ms_markets/: source agent skills for market-domain workflows
  • tests/: automated tests

Documentation Map

The documentation is organized into four reading modes:

  1. Tutorial: guided learning material
  2. Knowledge: concept-oriented guides for each msm package area
  3. Architecture: ADRs that record implementation decisions
  4. Reference: generated API reference scaffold

Recommended entry points:

Quick Start

Install the package from this repository in editable mode:

python -m pip install -e ".[dev]"

Or with uv:

uv sync --extra dev

Install pricing support only when needed:

uv sync --extra pricing

Install the named analytics surface when working with optional spread analytics:

uv sync --extra analytics

Install portfolio workflow support only when needed:

uv sync --extra portfolios

Install the project-level FastAPI surface only when needed:

uv sync --extra public_api

Verify the core import:

python -c "import msm; print(msm.__version__)"

After installing the pricing extra, verify the optional pricing import:

python -c "import msm_pricing; print(msm_pricing.FixedRateBond)"

Copy the packaged ms-markets skills into a host Main Sequence project only when you explicitly want them available to agents in that project:

msm copy-msm-skills --path /path/to/project

Importing msm never mutates the current directory or auto-copies skills. The command writes only to <project>/.agents/skills/ms_markets/ and leaves unrelated .agents content alone. Use --dry-run or --json to inspect the copy plan.

Common Development Commands

Run tests:

pytest

Run focused linting for optional pricing:

ruff check src/msm_pricing

Serve the docs locally:

mkdocs serve

Build the docs:

mkdocs build --strict

Build the package:

uv build

Publish a tagged release to PyPI:

git tag v0.0.2
git push origin v0.0.2

Pushing a v* tag triggers .github/workflows/publish-to-pypi.yml, which builds the distribution and publishes it to PyPI through GitHub Actions using trusted publishing for the repository pypi environment.

Core Dependencies

Runtime dependencies are declared in pyproject.toml. The core stack starts with:

  • mainsequence for platform integration
  • SQLAlchemy for market-domain ORM models
  • pydantic for typed configuration and serialized row contracts
  • pandas and numpy for tabular market data

Optional extras provide analytics, documentation, development, portfolio, public API, and pricing tooling. The analytics and pricing-analytics extras reserve the dependency boundary for optional analytics helpers; the current spread helpers use the core numpy and pandas dependencies. The portfolios extra installs portfolio-only helpers such as pandas-market-calendars. The public_api extra installs FastAPI and Uvicorn for the project-level apps/v1 surface. The pricing extra installs QuantLib and the optional pricing runtime exposed as msm_pricing.

Package Metadata

Project metadata is defined in pyproject.toml.

License

This project is open source under the Apache License 2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ms_markets-0.0.114.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ms_markets-0.0.114-py3-none-any.whl (642.4 kB view details)

Uploaded Python 3

File details

Details for the file ms_markets-0.0.114.tar.gz.

File metadata

  • Download URL: ms_markets-0.0.114.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ms_markets-0.0.114.tar.gz
Algorithm Hash digest
SHA256 53b7860659ea558aea76e7577fbd79935920d7a50b5613d00306689be44312bc
MD5 420136b05535d61dc2d2b0f1183b4b5f
BLAKE2b-256 9d3cf9a793edc5509ec4fd561e1a15f6ea8db272ecefc9c64cd39e5ca97d0f37

See more details on using hashes here.

Provenance

The following attestation bundles were made for ms_markets-0.0.114.tar.gz:

Publisher: publish-to-pypi.yml on mainsequence-projects/MainSequenceMarkets

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ms_markets-0.0.114-py3-none-any.whl.

File metadata

  • Download URL: ms_markets-0.0.114-py3-none-any.whl
  • Upload date:
  • Size: 642.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ms_markets-0.0.114-py3-none-any.whl
Algorithm Hash digest
SHA256 e6404bfae0b725a2d9be88aa63fd95afc8f7e0556b99ddfa3d0b7709e0129d5d
MD5 a8c81daed43db209f771c54681a8cd87
BLAKE2b-256 1b57cfbf8016fcb680546695ca8ed4123e0f67411d5c27a1eee8baeee960e89c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ms_markets-0.0.114-py3-none-any.whl:

Publisher: publish-to-pypi.yml on mainsequence-projects/MainSequenceMarkets

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

This release

0.0.114 This release

2 files

0.0.113

2 files

0.0.112

2 files

0.0.111

2 files

0.0.110

2 files

0.0.109

2 files

0.0.108

2 files

0.0.107

2 files

0.0.106

2 files

0.0.105

2 files

0.0.104

2 files

0.0.103

2 files

0.0.102

2 files

0.0.101

2 files

0.0.100

2 files

0.0.99

2 files

0.0.98

2 files

0.0.97

2 files

0.0.96

2 files

0.0.95

2 files

0.0.94

2 files

0.0.92

2 files

0.0.91

2 files

0.0.90

2 files

0.0.89

2 files

0.0.88

2 files

0.0.87

2 files

0.0.86

2 files

0.0.85

2 files

0.0.84

2 files

0.0.83

2 files

0.0.82

2 files

0.0.81

2 files

0.0.80

2 files

0.0.79

2 files

0.0.78

2 files

0.0.77

2 files

0.0.76

2 files

0.0.75

2 files

0.0.74

2 files

0.0.73

2 files

0.0.72

2 files

0.0.71

2 files

0.0.70

2 files

0.0.69

2 files

0.0.68

2 files

0.0.67

2 files

0.0.66

2 files

0.0.65

2 files

0.0.64

2 files

0.0.63

2 files

0.0.62

2 files

0.0.61

2 files

0.0.60

2 files

0.0.59

2 files

0.0.58

2 files

0.0.57

2 files

0.0.56

2 files

0.0.55

2 files

0.0.54

2 files

0.0.53

2 files

0.0.52

2 files

0.0.51

2 files

0.0.50

2 files

0.0.49

2 files

0.0.48

2 files

0.0.47

2 files

0.0.45

2 files

0.0.44

2 files

0.0.43

2 files

0.0.42

2 files

0.0.41

2 files

0.0.40

2 files

0.0.39

2 files

0.0.38

2 files

0.0.37

2 files

0.0.36

2 files

0.0.35

2 files

0.0.34

2 files

0.0.33

2 files

0.0.32

2 files

0.0.31

2 files

0.0.30

2 files

0.0.29

2 files

0.0.28

2 files

0.0.27

2 files

0.0.26

2 files

0.0.25

2 files

0.0.24

2 files

0.0.23

2 files

0.0.22

2 files

0.0.21

2 files

0.0.20

2 files

0.0.19

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 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