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.

The production DuckDB file uses QMT-canonical tables qmt_tick_v1 and qmt_daily_v1; legacy raw_* tables are retained only as rebuild/audit inputs.

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.20260704.5.tar.gz (32.5 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.20260704.5-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: xtquant_duck-0.1.20260704.5.tar.gz
  • Upload date:
  • Size: 32.5 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.20260704.5.tar.gz
Algorithm Hash digest
SHA256 dbde904f7c862ed125ea245236719eebe4442eda798af649acb86c9b8d0f1c0e
MD5 e7d25485985c9b1ca938f840552ae0c0
BLAKE2b-256 66086264a9814fa2c3f0e99e5b2b7ea70eb5717415d13f7e1292157332845c2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtquant_duck-0.1.20260704.5.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.20260704.5-py3-none-any.whl.

File metadata

File hashes

Hashes for xtquant_duck-0.1.20260704.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2097c67e81e1d007f912c183539dd3866fc42dc214dd16c47975dc830f560fbd
MD5 6f2233f9efa99a1f63925a0343eedeab
BLAKE2b-256 8b4f75a09c1050ec4c2208fd99205fe5f93f2896267835c6a1f66e70e0664167

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtquant_duck-0.1.20260704.5-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