Skip to main content

DuckDB-backed local mock implementation of selected xtquant APIs.

Project description

xtquant-duck

DuckDB-backed local mock implementation of selected xtquant APIs.

The goal is to let research code switch between real QMT xtquant and a local DuckDB-backed mock by changing only the import. QMT semantics are the canonical reference; unsupported mock behavior raises NotImplementedError instead of silently returning placeholder data.

Install

uv pip install xtquant-duck

For local development:

git clone git@github.com:drunkpig/xtquant-duck.git
cd xtquant-duck
uv sync --all-extras --dev

Basic Usage

Set the DuckDB database path:

$env:QMT_MOCK_DUCKDB = "C:\data-tick\duckdb\qmt_mock.duckdb"

Use the mock package as an xtquant-compatible module:

import xtquant_duck as xtquant

xtdata = xtquant.xtdata

data = xtdata.get_market_data_ex(
    field_list=["time", "open", "high", "low", "close", "volume"],
    stock_list=["600036.SH"],
    period="1d",
    start_time="20220101",
    end_time="20251231",
    dividend_type="front_ratio",
)

The packaged qmt_data_layer module is kept for database build and validation tools. Strategy code should use the xtquant_duck API above so switching back to real miniQMT only changes the import.

Default database path is C:\data-tick\duckdb\qmt_mock.duckdb; override it with QMT_MOCK_DUCKDB.

Documentation

See docs/MOCK_XTQUANT_API.md for supported APIs, parameters, return shapes, and strict unsupported behavior.

Tests

uv run python -m unittest discover -s test -v

The unit tests build a temporary DuckDB database and do not read or write the default production database.

Project details


Download files

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

Source Distribution

xtquant_duck-0.1.20260703.4.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

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

xtquant_duck-0.1.20260703.4-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file xtquant_duck-0.1.20260703.4.tar.gz.

File metadata

  • Download URL: xtquant_duck-0.1.20260703.4.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xtquant_duck-0.1.20260703.4.tar.gz
Algorithm Hash digest
SHA256 9542843cf7e886b3ced96582df633d7077fea9faaa3932263a15dc2371cc1bc3
MD5 7ad0ea54fa670fb1cd63b36ecd6b63c7
BLAKE2b-256 4d34ff4dc9bcde171cd95c85a1408a548d30b9c594a3a97c943260eea137613c

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtquant_duck-0.1.20260703.4.tar.gz:

Publisher: publish.yml on drunkpig/xtquant-duck

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

File details

Details for the file xtquant_duck-0.1.20260703.4-py3-none-any.whl.

File metadata

File hashes

Hashes for xtquant_duck-0.1.20260703.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6c78727b0d8c26a3c4ed27179661812c360931e1f9d2e54b7d906799556a40c7
MD5 4b577fcb773eb03dbcd286adc05a0f21
BLAKE2b-256 e80e2bf3d184fc434f4d9a2c3809fc5539c826b5cd0bc534c5643ef19aacd29a

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtquant_duck-0.1.20260703.4-py3-none-any.whl:

Publisher: publish.yml on drunkpig/xtquant-duck

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page