Skip to main content

A high-frequency trading and market-making backtesting tool accounts for limit orders, queue positions, and latencies, utilizing full tick data for trades and order books.

Project description

CodeQL Python Version Package Version Downloads Rust Version Rust crates.io version License Documentation Status Roadmap Github

High-Frequency Trading Backtesting Tool

This framework is designed for developing high-frequency trading and market-making strategies. It focuses on accounting for both feed and order latencies, as well as the order queue position for order fill simulation. The framework aims to provide more accurate market replay-based backtesting, based on full order book and trade tick feed data.

Key Features

The experimental features are currently in the early stages of development, having been completely rewritten in Rust to support the following features.

  • Working in Numba JIT function (Python).

  • Complete tick-by-tick simulation with a customizable time interval or based on the feed and order receipt.

  • Full order book reconstruction based on L2 Market-By-Price and L3 Market-By-Order (Rust-only, WIP) feeds.

  • Backtest accounting for both feed and order latency, using provided models or your own custom model.

  • Order fill simulation that takes into account the order queue position, using provided models or your own custom model.

  • Backtesting of multi-asset and multi-exchange models

  • Deployment of a live trading bot using the same algorithm code: currently for Binance Futures and Bybit. (Rust-only)

Documentation

See full document here.

Getting started

Installation

hftbacktest supports Python 3.10+. You can install hftbacktest using pip:

pip install hftbacktest

Or you can clone the latest development version from the Git repository with:

git clone https://github.com/nkaz001/hftbacktest

Data Source & Format

Please see Data or Data Preparation.

You can also find some data here, hosted by the supporter.

A Quick Example

Get a glimpse of what backtesting with hftbacktest looks like with these code snippets:

@njit
def market_making_algo(hbt):
    asset_no = 0
    tick_size = hbt.depth(asset_no).tick_size
    lot_size = hbt.depth(asset_no).lot_size

    # in nanoseconds
    while hbt.elapse(10_000_000) == 0:
        hbt.clear_inactive_orders(asset_no)

        a = 1
        b = 1
        c = 1
        hs = 1

        # Alpha, it can be a combination of several indicators.
        forecast = 0
        # In HFT, it can be various measurements of short-term market movements,
        # such as the high-low range in the last X minutes.
        volatility = 0
        # Delta risk, it can be a combination of several risks.
        position = hbt.position(asset_no)
        risk = (c + volatility) * position
        half_spread = (c + volatility) * hs

        max_notional_position = 1000
        notional_qty = 100

        depth = hbt.depth(asset_no)

        mid_price = (depth.best_bid + depth.best_ask) / 2.0

        # fair value pricing = mid_price + a * forecast
        #                      or underlying(correlated asset) + adjustment(basis + cost + etc) + a * forecast
        # risk skewing = -b * risk
        reservation_price = mid_price + a * forecast - b * risk
        new_bid = reservation_price - half_spread
        new_ask = reservation_price + half_spread

        new_bid_tick = min(np.round(new_bid / tick_size), depth.best_bid_tick)
        new_ask_tick = max(np.round(new_ask / tick_size), depth.best_ask_tick)

        order_qty = np.round(notional_qty / mid_price / lot_size) * lot_size

        # Elapses a process time.
        if not hbt.elapse(1_000_000) != 0:
            return False

        last_order_id = -1
        update_bid = True
        update_ask = True
        buy_limit_exceeded = position * mid_price > max_notional_position
        sell_limit_exceeded = position * mid_price < -max_notional_position
        orders = hbt.orders(asset_no)
        order_values = orders.values()
        while order_values.has_next():
            order = order_values.get()
            if order.side == BUY:
                if order.price_tick == new_bid_tick or buy_limit_exceeded:
                    update_bid = False
                if order.cancellable and (update_bid or buy_limit_exceeded):
                    hbt.cancel(asset_no, order.order_id, False)
                    last_order_id = order.order_id
            elif order.side == SELL:
                if order.price_tick == new_ask_tick or sell_limit_exceeded:
                    update_ask = False
                if order.cancellable and (update_ask or sell_limit_exceeded):
                    hbt.cancel(asset_no, order.order_id, False)
                    last_order_id = order.order_id

        # It can be combined with a grid trading strategy by submitting multiple orders to capture better spreads and
        # have queue position.
        # This approach requires more sophisticated logic to efficiently manage resting orders in the order book.
        if update_bid:
            # There is only one order at a given price, with new_bid_tick used as the order ID.
            order_id = new_bid_tick
            hbt.submit_buy_order(asset_no, order_id, new_bid_tick * tick_size, order_qty, GTX, LIMIT, False)
            last_order_id = order_id
        if update_ask:
            # There is only one order at a given price, with new_ask_tick used as the order ID.
            order_id = new_ask_tick
            hbt.submit_sell_order(asset_no, order_id, new_ask_tick * tick_size, order_qty, GTX, LIMIT, False)
            last_order_id = order_id

        # All order requests are considered to be requested at the same time.
        # Waits until one of the order responses is received.
        if last_order_id >= 0:
            # Waits for the order response for a maximum of 5 seconds.
            timeout = 5_000_000_000
            if not hbt.wait_order_response(asset_no, last_order_id, timeout):
                return False

    return True

Tutorials

Examples

You can find more examples in examples directory and Rust examples.

The complete process of backtesting Binance Futures

high-frequency gridtrading: The complete process of backtesting Binance Futures using a high-frequency grid trading strategy implemented in Rust.

Migration to V2

Please see the migration guide.

Roadmap

Currently, new features are being implemented in Rust due to the limitations of Numba, as performance is crucial given the size of the high-frequency data. The imminent task is to integrate hftbacktest in Python with hftbacktest in Rust by using the Rust implementation as the backend. Meanwhile, the data format, which is currently different, needs to be unified. On the pure Python side, the performance reporting tool should be improved to provide more performance metrics with increased speed.

Please see the roadmap.

Contributing

Thank you for considering contributing to hftbacktest! Welcome any and all help to improve the project. If you have an idea for an enhancement or a bug fix, please open an issue or discussion on GitHub to discuss it.

The following items are examples of contributions you can make to this project:

Please see the roadmap.

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

hftbacktest-2.0.0.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded PyPy musllinux: musl 1.2+ x86-64

hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (1.8 MB view details)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded PyPy musllinux: musl 1.2+ ARM64

hftbacktest-2.0.0-pp310-pypy310_pp73-manylinux_2_24_armv7l.whl (1.5 MB view details)

Uploaded PyPy manylinux: glibc 2.24+ ARMv7l

hftbacktest-2.0.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl (1.0 MB view details)

Uploaded PyPy manylinux: glibc 2.24+ ARM64

hftbacktest-2.0.0-cp312-none-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_armv7l.whl (1.8 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARMv7l

hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

hftbacktest-2.0.0-cp312-cp312-manylinux_2_24_armv7l.whl (1.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.24+ ARMv7l

hftbacktest-2.0.0-cp312-cp312-manylinux_2_24_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.24+ ARM64

hftbacktest-2.0.0-cp312-cp312-macosx_11_0_arm64.whl (981.2 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

hftbacktest-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12 macOS 10.12+ x86-64

hftbacktest-2.0.0-cp311-none-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_armv7l.whl (1.8 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARMv7l

hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64

hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_armv7l.whl (1.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.24+ ARMv7l

hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.24+ ARM64

hftbacktest-2.0.0-cp311-cp311-macosx_11_0_arm64.whl (981.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

hftbacktest-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11 macOS 10.12+ x86-64

hftbacktest-2.0.0-cp310-none-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_armv7l.whl (1.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARMv7l

hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64

hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_armv7l.whl (1.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ ARMv7l

hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ ARM64

hftbacktest-2.0.0-cp310-cp310-macosx_11_0_arm64.whl (981.3 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

hftbacktest-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10 macOS 10.12+ x86-64

File details

Details for the file hftbacktest-2.0.0.tar.gz.

File metadata

  • Download URL: hftbacktest-2.0.0.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.0

File hashes

Hashes for hftbacktest-2.0.0.tar.gz
Algorithm Hash digest
SHA256 47fdec306166a6d0fe049739958eed9ce4f937667690802d80889b88b3c3682a
MD5 28375ebd64ccaac7776b39414e85d047
BLAKE2b-256 49d31417f920a9c3a4a76e28a4aa72ee3c318a1ba366605d5cb265ea7b3eb3b0

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ddfa2668110fa6a95ee2b5467860c6b31421d6b4f1118118495bd8e9b5e494dc
MD5 0a6cfd0380a40bdb289a13585c831fb3
BLAKE2b-256 88351c4174d29e46b8398f92986c83210f7b98f25c386580ec7bcdb8cdc323e1

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9a76fec1f1af391cffc27157f275bf6499ed8d17d4c8ce8174377cd9e8769a78
MD5 1ef0458d306babd658dd74b24097c098
BLAKE2b-256 fb7768e1c525108d96625b3818b32e04c7836d3c3e5f3c5afb7b76684e1bcf44

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 107c816820d55285e0898674724dedc3af7931fcbd4c7a1badd79ae32d3d746f
MD5 ddf1aa44e2c1f9929fb3e16fead77653
BLAKE2b-256 466364d7f10e31b4112d10dc8a1729c5d014c3b22368d3f9274b14f128641b34

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-pp310-pypy310_pp73-manylinux_2_24_armv7l.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-pp310-pypy310_pp73-manylinux_2_24_armv7l.whl
Algorithm Hash digest
SHA256 299c97d2640372364897f3ebef3dceaaed9a9fcd8c395131918ad8dd69f3a6e1
MD5 6de036c2fc8192604d6ea9726e2363d3
BLAKE2b-256 6f105080bb618da40f27e0ebb6809acbedbac6122a798140cf14bb5fb4982685

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 f4f83bd3e74a2192221276e469c93d7f37dc7f1d83e6af0f396fe51b9dcd695a
MD5 cfc6aeeb15a8850280707aae1ac89a0d
BLAKE2b-256 7e5e80a1c0b96795024d3fc6d7d43d46fe5af05056795c3735ddd9bebd46237a

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 f150258d298c2255a453268f58eef97166f588163e1e73bd077cfe6fd7e11a6b
MD5 e08be47e66ca48d49ba1bec0b9898dbe
BLAKE2b-256 001dae1a0fac9ff8848f2fe3abd67ab61b6c06ab5e7861b203c07f6cbcfa8fb6

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f345d6bdd3f971a4efff0dc364c6f3a4ca4b1dedd5cd3ccef9f4ed1e9645caa4
MD5 3e5651650cd12273854dca6cb6c7f91d
BLAKE2b-256 ea1508721a0e4e595aac6253212a3010644237447411df12ad5c460458dd9cda

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 371b49ccfd2fc62701d925669029eadf622680a3a99e657aef1aa2ed931a1484
MD5 fa325177221d71c7d49de0abccae3e5b
BLAKE2b-256 91e41fcda950949b11c518c358a3216266e38f1f4e15f8ad4bbf3d94b6510cc2

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9baa0a2bb497a1a4ed1537bc8b1695cdff79ed98cfc739c2154b8b78d46e4506
MD5 dd6d1f2927f87f2dd857b8c051e9c6a0
BLAKE2b-256 56478c201c7374f224986b7a324d1c8529981fad8666d83a1dae07a5ebdc6911

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp312-cp312-manylinux_2_24_armv7l.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp312-cp312-manylinux_2_24_armv7l.whl
Algorithm Hash digest
SHA256 f9b920bd4b104de6de65a33ca84311919f8c69ba2c768a3b898969d24dcd2276
MD5 13ac82865e2b8f8a9d3761ab359d78af
BLAKE2b-256 efab12e23b097e0ebc73dda6d6fa53d07d4b0cf9f5e8eb865ba0b493f9b6d489

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp312-cp312-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp312-cp312-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 afd6122c4e57af33c17645ff0d3f73d710e4f16210be9e9bb9c145ea9bfac6b7
MD5 69f3f6489a51481558532f3d085e930f
BLAKE2b-256 65f9384ff229adb6f2a0552a2724d337329168455f99b278eff45cbe3cfc5693

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1f1be8582526af6c490eb6af21e6dad86837e69ce5c596d186feedc5b8010d5
MD5 8911f15c55cb6d3249428b311d99f55a
BLAKE2b-256 c591203181a17fa080c86c3a6c64d48db7d70ed4add7eea068f38a495ed4dd34

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 801cf191fcbe70212ff34a364bc1371e3216dc8627f17fbe07400a92ab5c2fd7
MD5 1db73de24de6de33df158268c182b2f4
BLAKE2b-256 fc279d78f8db2807af8de50a99c54b3fbca3dedc1dff3c419f4bb5e159844fbb

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 52a689b36b4146c2906cb82ccf7718a6df359af64b7836b25b3c15523daf0e48
MD5 6bed91746452153f4555614fc217cf3d
BLAKE2b-256 ebe7b4878637b1c6272e8086e051dff978e7554906ddd873c2f72528daa0dbbb

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f5eefe1001453be4784c92c8dcb6bfb8c9476d4f91921a7b5b97ecd8c8b65832
MD5 811d9aa380fb99b208932cf3de4fbe22
BLAKE2b-256 7a7c4df22367c514924f9dff1bb77b262b64863fa70b71d3885b5ca724d7c7ae

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2b19bf919cbf76189853f28ee681a4cf6508a003e580504ad696c813be17f3da
MD5 1097bc16e15fdb7463c74c18cebde3d1
BLAKE2b-256 4650996e10dd4e6be58021e19739d595fda4100771ae28d767f99091aa794f53

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fb7c51c46808683b7b80824796e8daf8a55229091ecde806a100c3b11af98dab
MD5 debbf3fe8d817f41b28a6230dbd511a7
BLAKE2b-256 68d595d19748d87a744966a9e7d223795cb2d0ba298268dce973aaa2ef1120fa

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 1cda206af77975f25311a5fb62a96e29523e82eb79a65ca9a130a2d559b62f27
MD5 4e244c3001f5c00043d9b63fa5c2027f
BLAKE2b-256 7e8c07e86921b44e21156479d0e6737f8aedd598862fa36f6f6e4f78b32bd20b

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_armv7l.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_armv7l.whl
Algorithm Hash digest
SHA256 c64a34b2196666696f49fcd8a26f38ff766ba94ff59445347d44cf1aba87a8f0
MD5 cf9499d0d92959788962d6f8599ac4b8
BLAKE2b-256 2c438d5020ce43e37bcfa5181361e49f155a55219c904bb5500b64a4fa8d7e4a

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-cp311-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 6642da1e050989dc7e9bad0491acea48b2f2a6cb7672eb678b4055668720f611
MD5 339f534c15274980ef811cd35c0077a1
BLAKE2b-256 f18fa962ed8c73560e2bea19d99cde52e67060689f79a8c125b9d17a76822cb3

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc17ed9a59187726c07af6195ac2dde14484b62fcf4ebf3b1095db5cfa79063c
MD5 3184624f579355f152acc765a50ac601
BLAKE2b-256 791e9057a6de62deac414080c7d98d7a5507df5f1e6ec25399e3c06308c9548e

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8526fbc3c1f6c1218ca965b26fd4d2b30be3864453e5e2839cd22441439d011c
MD5 12d368207c9e50103d14b68459eeae56
BLAKE2b-256 d7b584b8164a89134db91236ec3c9aaa2bcd667a142c0bd73f9333b93bbe636d

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 20a93fd40464c1218e6493442657b85220099d29639185cc390266584bb6633c
MD5 9cc24fde0e4c4597f14dbed6e5a84414
BLAKE2b-256 90c86865fb3d4b9c760fe5473a16d6be000dbd96a147872c1c2e6ff60e30ec53

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e71e91cd03e0177034a325a8060ccd10e30324adffc78cb675bc48464c5457cf
MD5 6d848aa5722ee83eeae9591ff907b8a5
BLAKE2b-256 76839eb1ac45a52ffe4eacb3b8ac820813e3c9d28b2efdadf11f2f2b748da180

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e04dc98879d8dd597082b439d6f1ac4be23356511bd5b2b51cdd3f2e69ed0c20
MD5 985e7c2c8d399563e62c2906b4052f0d
BLAKE2b-256 eac6af5340c0b88f5500cd77bc1139267c8a3d7fbdc45af4c7b5fcdeecd7df96

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f8fdaab7f9a02f71ee7d3a76cef5ed368f81eb253dad190b3c537b033d2016ea
MD5 ddd069b1925de3f02ac93a171c1dc67f
BLAKE2b-256 994204ca97c8c62f1567e0747b5c5ab1aeb0fbb76f432ea4a5877f9d22211c44

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 17492c21a8af23ef312b2c014d9efe958eb238d792b03493cf513a16a93d10a9
MD5 999549dc4269eee5e37700c5218d29ed
BLAKE2b-256 b120c329017d3ff4deb41ce76e745170f101dda7deed076cc7a69578cf578b22

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_armv7l.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_armv7l.whl
Algorithm Hash digest
SHA256 57c42a0b28ffaf8ad671446d4ad1b89f428de43db99ee2df37d1c845be983708
MD5 e0a6c9abb98804853ca7cc9930edf054
BLAKE2b-256 130545a7e2db56e93a3f568c30ec944f797a34bb716381562ef5c54362c60e13

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-cp310-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 baa364f6a7b7cd227f7efe640ea227dffdd7e9acdb51bac08ba47faf76f75808
MD5 16d22502ed80e7c68837c81bd90b4968
BLAKE2b-256 be852d368fd406d9b9aab4010523e557cb53a8e9252a51762bc933723bf1ca3d

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4038f0a15990551b7192dacc9b21cd27f2fb062c26b8dd74fea1626da275c3e
MD5 7b1ecd0a965d0c342f5c0b193557b121
BLAKE2b-256 6869b66a5afc8ec524a5eb87661f14f21d7350a1db1d131da6406e257aa87c68

See more details on using hashes here.

File details

Details for the file hftbacktest-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for hftbacktest-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4badb3471e5d2d4627ec5731b898da738b481df370f98a27ad3a8bf37ed04d08
MD5 a5994b80877bc5290a441ee7f9dfa8a3
BLAKE2b-256 9ed0e71f62fe30f5846e7a8d0154e6285673f28a54bb79a57ddb05acc44083c5

See more details on using hashes here.

Supported by

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