Metadata-Version: 2.4
Name: localquant
Version: 0.2.0
Summary: LocalQuant algorithmic trading framework
Author: localquant
Classifier: Programming Language :: Python
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
Requires-Dist: requests
Requires-Dist: numpy<2.0.0; python_version <= "3.11"
Requires-Dist: numpy>=2.0.0; python_version >= "3.12"
Requires-Dist: pandas<3.0.0,>=1.0.5
Requires-Dist: python-dateutil
Requires-Dist: six
Requires-Dist: logbook
Requires-Dist: click>=7.0.0
Requires-Dist: jsonpickle
Requires-Dist: simplejson
Requires-Dist: PyYAML
Requires-Dist: tabulate
Requires-Dist: h5py
Requires-Dist: scipy
Requires-Dist: methodtools
Requires-Dist: filelock
Requires-Dist: typing-extensions>=4.5.0
Requires-Dist: fastapi>=0.110
Requires-Dist: uvicorn[standard]>=0.29
Requires-Dist: openpyxl>=3.1
Requires-Dist: tushare>=1.4.29
Requires-Dist: tradecal>=2026.10.0
Provides-Extra: profiler
Requires-Dist: line_profiler; extra == "profiler"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

==========
localquant
==========

localquant 是面向本地数据网关的算法交易回测框架，覆盖策略编写、回测执行与报告导出的完整链路。

- 数据：经 dataapi 网关获取行情与财务数据，数据加载与回测在同一进程内完成
- 资产：A 股、场内基金（ETF/LOF）、国内期货，支持日频与 1 分钟
- 扩展：Mod Hook 机制支持对接第三方库与自定义数据准备层

安装
============================

支持 Linux x86_64、Windows amd64、CPython 3.10–3.14，从 PyPI 安装：

.. code-block:: bash

    python -m pip install localquant

使用文档
============================

- 回测框架用户指南：``../各类skills/localquant-backtest/references`` （策略编写、API、配置与报告）
- 源码仓库约束与内部设计：``AGENTS.md`` 与 ``开发日志/``

环境与构建
============================

发行物仅为 Cython 编译的二进制 wheel，Python 明文仅保留 ``examples/`` 与 ``_version.py``；保留 docstring，不携带 DWARF 调试段。安全边界为无法一键还原源码。

Linux 构建入口为 ``scripts/build_local_wheel.sh``，每个 ABI 使用新 manylinux 容器，逐版完成编译、内容校验、安装导入与全量单测，再执行宿主中立目录单测和网关冒烟。Windows 入口为 ``scripts/build_windows_wheel.py``，每个 ABI 使用独立 venv 和 MSVC，逐版完成编译、内容校验、安装导入、CLI 与全量单测；Linux 宿主可用 ``scripts/build_windows_wheel.sh`` 驱动 ``windows-home`` 构建机。

stage 使用 Python 3.11+。各平台门禁通过后才将对应 wheel 写入 ``dist/``，保留另一平台产物。标准 ``python -m build`` 入口拒绝构建 wheel 和 sdist。构建契约与环境要求见 ``开发日志/2026-10-27_发行包Cython编译加密分发管线.md``；本机入口见 ``../VENV.md``。

版本与发布
============================

版本的唯一事实来源为 ``localquant/_version.py`` 中的 ``__version__``；运行时、包元数据和构建脚本均读取该值。
版本采用 ``主版本.次版本.补丁``：兼容的错误修复与性能优化递增补丁，兼容的功能扩展递增次版本，公开接口、配置或结果结构的不兼容变更递增主版本。
验收版使用 ``1.0.0rc1`` 等编号；同一已发布版本不得替换代码或 wheel。撮合、费用和绩效算法修复即使属于补丁，也应在对应功能文档说明生效口径及可能影响的结果。

在本目录执行，脚本的可选参数是 Python 解释器路径与 cp 版本列表；指定矩阵须包含宿主 Python 版本：

.. code-block:: bash

    /data/workspace/.venv/bin/python -m pytest tests/unittest -q
    bash scripts/build_local_wheel.sh /data/workspace/.venv/bin/python              # cp310–cp314 全矩阵
    bash scripts/build_local_wheel.sh /data/workspace/.venv/bin/python cp313       # 指定版本
    bash scripts/build_windows_wheel.sh /data/workspace/.venv/bin/python           # Windows 全矩阵

发布顺序：

1. 修改唯一版本文件并维护受影响的公开契约，运行相关测试和完整框架单测。
2. 运行 Linux 和 Windows 完整矩阵入口，验收两平台逐版本全量单测、内容门禁、安装导入与 Linux 宿主网关冒烟（``smoke_cn_etf.py``）。核对 ``dist/`` 为同一版本的十个二进制 wheel。
3. 将验收后的各平台 wheel 放入 ``../各类skills/localquant-backtest/packages/``，目录只保留当前发行版本的全部平台 wheel；更新 ``localquant-wheel.sha256``、框架 skill 的安装说明和 ``VENV.md``，本机环境显式安装目标 wheel。策略构建 skill 与框架 skill 同级分发，引用这份文档和发行包。
4. 核对 ``localquant.__version__``、安装元数据、wheel 版本与校验值一致后提交，给发布提交打 ``localquant/v<版本>`` 标签，如 ``localquant/v1.0.0``。日常提交不要求发布 wheel。
5. 使用 PyPI 上传凭据校验并上传 ``dist/`` 中的二进制 wheel，随后从公网 PyPI 安装核对版本：

.. code-block:: bash

    python -m twine check --strict dist/*.whl
    python -m twine upload --repository pypi dist/*.whl

回测结果在 ``backtest_settings.framework_version`` 保存运行时版本，供结果核对与复现使用。
