SignalQuarryGitHub

Connect your account

Create or select an Alpaca paper account and generate its paper API key pair in the Alpaca dashboard. Alpaca uses separate paper credentials and the https://paper-api.alpaca.markets endpoint. See Alpaca’s paper trading guide and authentication guide.

Copy configs/paper/v13_5_qqq.yaml to a private deployment location and create alpaca/alpaca_api_key.yaml outside the repository:

paper_alpaca_api_key: YOUR_PAPER_KEY
paper_alpaca_api_secret: YOUR_PAPER_SECRET
paper_account_id: YOUR_PAPER_ACCOUNT_ID

Restrict access to the secret file, set SIGNALQUARRY_SECRETS_DIR to the directory above alpaca/, and run the read-only preflight:

uv sync --frozen --extra paper --group dev
uv run paper-wheel preflight --config configs/paper/v13_5_qqq.yaml

The current V13.5 release also requires a configuration-bound operator arm. Keep its persistent runtime state across container upgrades. Never share the V13.5 account with the generic equity plugin runner. The fake-broker tests can run without credentials:

uv run python -m pytest tests/paper_wheel tests/core/test_sma_trend_demo.py

Host it

CI builds the narrow Linux/amd64 V13.5 image. Run a pinned immutable digest, mount the paper secret file read-only, and keep the state directory on persistent storage. Preserve one scheduler, reconcile the paper account before replacing a running service, and retain the current journal on rollback. The V13.5 options wheel remains separate from the long-only equity plugin runtime.