Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

uforia

Research-first trading platform scaffold with:

  • BTC/ETH VVIX ingestion, storage, and analytics
  • BTC/ETH Razor signal construction
  • BTC/ETH options analytics dashboards and composite options signals
  • BTC/ETH perps analytics dashboards and composite perps signals
  • medium-horizon microstructure import, training, prediction, and UI family
  • DEX execution control-plane family for Derive, Hyperliquid, Lighter, and Bebop
  • native Rust microstructure live-feed collection and book reconstruction
  • DB-first storage: Postgres for runtime and retention
  • Deribit options archiver
  • Python read-only API
  • Next.js internal research UI

Documentation:

Quick start:

uv sync --extra dev
npm install
cp apps/web/.env.local.example apps/web/.env.local
npm run dev

Optional local Timescale bootstrap:

./ops/run-db.sh
export UFORIA_DB_ENABLED=true
export UFORIA_DB_DSN=postgresql://uforia:uforia@127.0.0.1:5432/uforia
uv run uforia-admin db init

Terminal client:

uv run uforia --help
uv run uforia overview show --asset BTC
uv run uforia --json signals show btc_vvix

Note:

  • global output flags such as --json, --ndjson, and --compact go before the command path
  • the public client defaults to https://uforia.polynomial.fi
  • the default terminal timeout is 20s

Public client defaults:

  • console script: uforia
  • env vars:
    • UFORIA_API_BASE_URL
    • UFORIA_TIMEOUT_SECONDS
    • UFORIA_OUTPUT
  • output modes:
    • rich
    • --json
    • --ndjson
    • --compact for tighter agent-oriented summaries

Deployment docs:

Production deployment defaults:

  • UFORIA_DB_ENABLED=true
  • UFORIA_DB_READ_MODE=db
  • UFORIA_DB_WRITE_MODE=db
  • production images and ArgoCD config target polynomial-uforia
  • auto-deploy is driven by .github/workflows/prod-deploy.yml

UI families:

  • Signals: VVIX, Razor, and individual microstructure prediction signals
  • Composite: BTC, ETH, and market-wide sentiment, direction, and fragility indices
  • Options: the full options analytics dashboard family
  • Perps: perp-market structure, carry, liquidation, flow, and fragility dashboards
  • Microstructure: overview, predictions, regime, features, calibration, backtests, and engine health
  • Execution: venue capabilities, markets, order entry, orders, fills, positions, balances, and venue health

Execution mode notes:

  • dry_run and paper are safe-by-default operator modes
  • live is implemented for Hyperliquid, Lighter, and Derive through the Python execution adapters
  • Bebop supports live quote requests and quote-driven execution via self-broadcast or gasless submission metadata

Operational assets:

  • repo-managed runners in ops/
  • checked-in macOS service templates in launchd/

Build the current multi-asset vol suite locally:

for UNDERLYING in BTC ETH; do
  uv run uforia-admin ingest deribit-dvol --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin ingest deribit-funding --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build vol-index --underlying "$UNDERLYING" --source dvol --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build rvvix --underlying "$UNDERLYING" --source dvol --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build qvvix --underlying "$UNDERLYING" --source dvol --ts 2026-03-08T23:00:00Z
  uv run uforia-admin build razor --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build options-surface --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build options-carry --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build options-skew --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build options-dislocations --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build options-positioning --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build vol-cone --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build term-structure-momentum --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build gamma-exposure --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build funding-context --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build straddle-breakeven --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build surface-factor-rv --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build ml-carry-toxicity --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build expiry-flow-map --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build adaptive-hedging --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build sessionality-clocks --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build funding-basis-skew --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build options-signals --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build vol-regime-transitions --underlying "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build perps-signals --asset "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build perps-composites --asset "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build perps-transitions --asset "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build composite --asset "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build composite-components --asset "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin build composite-transitions --asset "$UNDERLYING" --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
done
uv run uforia-admin build options-rv --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z
uv run uforia-admin build btc-eth-dispersion --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z

Or run the full research stack in one command:

uv run uforia-admin build alpha-canvas --start 2026-03-01T00:00:00Z --end 2026-03-09T00:00:00Z --underlyings BTC,ETH

Build the TCN-Boost microstructure stack from data already loaded into Postgres:

uv run uforia-admin microstructure build-features --asset BTC --start 2026-01-01T00:00:00Z --end 2026-03-09T00:00:00Z
uv run uforia-admin microstructure build-labels --asset BTC --start 2026-01-01T00:00:00Z --end 2026-03-09T00:00:00Z --horizons 30s,1m,2m,5m
uv run uforia-admin microstructure build-regime --asset BTC --start 2026-01-01T00:00:00Z --end 2026-03-09T00:00:00Z
uv run uforia-admin microstructure train --asset BTC --horizon 1m
uv run uforia-admin microstructure evaluate --asset BTC --horizon 1m
uv run uforia-admin microstructure generate-signals --asset BTC --horizon 1m

To train both assets and all default horizons on a populated database:

for ASSET in BTC ETH; do
  uv run uforia-admin microstructure build-features --asset "$ASSET" --start 2026-01-01T00:00:00Z --end 2026-03-09T00:00:00Z
  uv run uforia-admin microstructure build-labels --asset "$ASSET" --start 2026-01-01T00:00:00Z --end 2026-03-09T00:00:00Z --horizons 30s,1m,2m,5m
  uv run uforia-admin microstructure build-regime --asset "$ASSET" --start 2026-01-01T00:00:00Z --end 2026-03-09T00:00:00Z
  for HORIZON in 1m 2m 5m 30s; do
    uv run uforia-admin microstructure train --asset "$ASSET" --horizon "$HORIZON"
    uv run uforia-admin microstructure evaluate --asset "$ASSET" --horizon "$HORIZON"
    uv run uforia-admin microstructure generate-signals --asset "$ASSET" --horizon "$HORIZON"
  done
done

Run the live feed engine and live inference:

./ops/run-microstructure-live.sh
./ops/run-microstructure-inference.sh

Metadata

Release files for uforia 0.1.0.dev53

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

Source distribution (sdist)

Source distribution for uforia 0.1.0.dev53
File Size Uploaded
uforia-0.1.0.dev53.tar.gz 760.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for uforia 0.1.0.dev53
File Interpreter ABI Platform
uforia-0.1.0.dev53-py3-none-any.whl Python 3 none any Details

Total release size: 931.4 kB

Release files / uforia-0.1.0.dev53.tar.gz

Download URL uforia-0.1.0.dev53.tar.gz
Size 760.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a0acb832840bfb3467cf630fc994656ffff55cadb69cf7710f3fc45f645ec20c
BLAKE2b-256 checksum
How to use checksums
350b15f05e96f54666ab106dac3586dccbb0824edc028fa8be0f75db6b52ac6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 26, 2026.

Transparency log

Release files / uforia-0.1.0.dev53-py3-none-any.whl

Download URL uforia-0.1.0.dev53-py3-none-any.whl
Size 170.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
020a6a976ee3d0113d24d0f771c010f8cd29b488e84ce1d9e8b0d41bb10cf839
BLAKE2b-256 checksum
How to use checksums
078d4ed29d083de413ef726fa3049e899a07d470cf868d8f43b3babd5db97634
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0.dev53 This release

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