Docs/Getting started

Getting started

Sign in to the console, run a live market-data query, submit a compute job, and download an artifact.

Access the console

  1. Open https://particles-data.com/pqc (or Sign in from the company home), then sign in with an approved account, or Register (registration is approval-gated).
  2. After login you land on Dashboard. Use the left nav for Datasets, Explore, Jobs, Job Compose (placeholder), Artifacts, Usage, Plans, and Settings.

Browse data and run a query

  1. Open Datasets to see research datasets and live coverage from the market-data manifest.
  2. Open Explore — pick a dataset, ticker, and a single trade date.
  3. Run the query. Results are capped for interactive use; a row limit is recommended.
  4. Optionally Download CSV, or Export as job (data_export). If you set a limit on Explore, the export job keeps that limit.

Interactive Explore is single-day. For multi-day exports, use Jobs → data_export.

If Explore reports that the data plane is disabled, a platform operator must turn it on for your organization (Admin → Customers).

Submit a compute job

Production data_export and normalized_export read live market data. Non-demo factor_batch and strategy_validation fail.

  1. Open Jobs and choose a type:
    • data_export — parquet export of compacted quotes, trades, or aggregates (omit limit only if you intend a full-day pull; that uses more quota)
    • normalized_export — parquet export from the official normalized quotes/trades lake; production currently accepts one symbol and one dataset per Job while the batch planner is staged
    • factor_batch — demo factor file only; a live batch is rejected
    • strategy_validation — demo report; a live validation is rejected
  2. Submit and watch status: queued → running → succeeded (or failed / canceled).
  3. Open Artifacts (or “View artifacts” from the job detail) to preview or download files.

Job Compose in the sidebar is a reserved page for a later web authoring flow. It does not replace the Jobs form above.

Usage and quotas

Usage shows this month’s data reads, compute time, and storage. Free organizations are hard-capped; Pro is a higher multiplier. Exceeding a limit returns an error on the next query or job.

Your plan may come from Plans → Upgrade (when Stripe is configured) or from a platform operator. After a plan change, sign in again so the console session picks up the new tier.

API keys and Python SDK

Create a key under Settings. Use it as Authorization: Bearer pk_live_…. Production API origin is https://particles-data.com/backend (Nginx strips /backend/ onto the API):

from pqc import Client

with Client(
    api_key="pk_live_…",
    base_url="https://particles-data.com/backend",
) as client:
    client.catalog.list_datasets(group="market_data")
    client.data.query(
        dataset_group="market_data",
        dataset_type="quotes_v1",
        ticker="QQQ",
        start_date="2024-01-02",
        end_date="2024-01-02",
        limit=5,
    )
    client.jobs.create(
        "data_export",
        spec={
            "dataset_group": "market_data",
            "dataset_type": "quotes_v1",
            "ticker": "QQQ",
            "start_date": "2024-01-02",
            "end_date": "2024-01-02",
            "limit": 5,
        },
    )

The client recorded for this tree is particles-quant==0.7.1. Besides data.query and jobs, client.aggregates reads platform daily/minute bars (rank is volume only). client.aggregates.pull downloads a ticker list or the full daily/minute universe once, then reads it from the local cache. client.futures reads session, minute, trade, and quote bars. client.futures.dominant selects the most active outright of a product. client.reference reads point-in-time contract descriptions. client.reference.options.dominant_expiration ranks expirations from scores you supply. client.options reads day and minute bars for one underlying and one expiration, and client.options.pull keeps that chain on the research machine. client.options.daily.by_expiration totals each expiration's day-bar volume, and client.options.dominant selects the most active expiration. Venue and coverage names stay with the entitlement, not this public page. What each stable release added is in Python client releases. export_day has been in the client since 0.3.3; production currently permits its one-symbol, one-dataset form while multi-symbol/combined artifacts are staged. Normalized quotes/trades (catalog, sync query, normalized_export) are in Normalized quotes & trades. Datasets lists the futures and reference sets; Explore queries compacted bars. Omit "demo": true on data_export when you want live rows.

To put this client on a research EC2 / Remote IDE (pqc init, venv, CodeArtifact, and the managed research store or BYOS), see Research environment.

Organization roles

RoleTypical access
OwnerFull org control
AdminInvite and manage members
MemberQuery, jobs, own API keys
ViewerRead-only

Invite and role changes live under Settings.