Skip to main content

A polymarket high-frequency trading and market-making backtesting tool

Project description

Key Features

  • Tick-level Polymarket backtesting

  • Fast execution with Numba JIT and Rust

  • Built for strategy research and exchange execution simulation

  • Compatible with the hftbacktest ecosystem

Quick Start

Installation

pip install pm-hftbacktest

Data

Polymarket data is available for free from pmdata.dev. Get an API key from pmdata.dev before running the example.

Example

from hftbacktest import (
    init_orderbook,
    polymarket_to_hbt,
    BacktestAssetPoly,
    ROIVectorMarketDepthBacktest,
    Recorder,
    GTC,
    LIMIT,
)
from hftbacktest.stats import PolyAssetRecord
import pandas as pd
from numba import njit
import numpy as np


# Endgame trading strategy.
@njit
def endgame_trading(
    hbt,
    recorder,
    up_trigger: float,
    stop_long: float,
    order_qty: float,
):
    asset_no = 0

    if not init_orderbook(hbt, asset_no):
        return

    hbt_tick_size = hbt.depth(asset_no).tick_size
    price_tick_size = 0.01

    # Strategy state: enter once and stop once to avoid repeated
    # open/close cycles in the same endgame move.
    activated = False
    # side=1 means buying UP; side=-1 means buying DOWN, represented
    # as selling the UP contract.
    side = 0
    submitted_once = False
    stop_submitted = False

    up_trigger = min(max(up_trigger, price_tick_size), 1.0 - price_tick_size)
    down_trigger = 1.0 - up_trigger

    # stop_long is the UP long stop level. The DOWN side uses the
    # symmetric stop_short level.
    stop_long = min(max(stop_long, price_tick_size), 1.0 - price_tick_size)
    stop_short = 1.0 - stop_long
    order_qty = np.float64(max(order_qty, 0.0))

    # Run strategy logic every 100ms.
    while hbt.elapse(100_000_000) == 0:
        hbt.clear_inactive_orders(asset_no)
        depth = hbt.depth(asset_no)

        # Use the mid price as the trigger price to reduce one-sided
        # order book noise.
        bid, ask = depth.best_bid, depth.best_ask
        mid = (bid + ask) / 2.0

        # Enter the endgame certainty zone: buy UP on an upside break
        # and buy DOWN on a downside break.
        if not activated:
            if mid >= up_trigger:
                activated = True
                side = 1
            elif mid <= down_trigger:
                activated = True
                side = -1

        # Submit the entry order only once after the trigger.
        if activated and (not submitted_once):
            if side > 0:
                p = up_trigger
            else:
                p = down_trigger

            p = round(p / price_tick_size) * price_tick_size
            p = max(price_tick_size, min(1.0 - price_tick_size, p))

            # For a single-submit example, use the price tick index
            # directly as the order id.
            oid = np.uint64(round(p / hbt_tick_size))

            if side > 0:
                hbt.submit_buy_order(asset_no, oid, p, order_qty, GTC, LIMIT, False)
            else:
                hbt.submit_sell_order(asset_no, oid, p, order_qty, GTC, LIMIT, False)
            submitted_once = True

        # position is the net position in the UP contract: positive means
        # holding UP, while negative can be interpreted as holding DOWN.
        pos = hbt.position(asset_no)
        if (not stop_submitted) and (pos != 0):
            need_stop = (pos > 0 and mid <= stop_long) or (
                pos < 0 and mid >= stop_short
            )
            if need_stop:
                close_qty = np.float64(np.abs(pos))
                if pos > 0:
                    px = (
                        round((bid - price_tick_size) / price_tick_size)
                        * price_tick_size
                    )
                    px = max(price_tick_size, min(1.0 - price_tick_size, px))
                    oid = np.uint64(round(px / hbt_tick_size))
                    hbt.submit_sell_order(
                        asset_no, oid, px, close_qty, GTC, LIMIT, False
                    )
                else:
                    px = (
                        round((ask + price_tick_size) / price_tick_size)
                        * price_tick_size
                    )
                    px = max(price_tick_size, min(1.0 - price_tick_size, px))
                    oid = np.uint64(round(px / hbt_tick_size))
                    hbt.submit_buy_order(
                        asset_no, oid, px, close_qty, GTC, LIMIT, False
                    )
                stop_submitted = True

        recorder.record(hbt)

    recorder.record(hbt)


slug = "btc-updown-15m-1778263200"
api_key = "<YOUR_API_KEY>"
storage_options = {"api_key": api_key, "User-Agent": "Mozilla/5.0"}

l2_df = pd.read_parquet(
    f"https://api.pmdata.dev/download/poly_l2/{slug}.parquet",
    storage_options=storage_options,
)
trade_df = pd.read_parquet(
    f"https://api.pmdata.dev/download/poly_trade/{slug}.parquet",
    storage_options=storage_options,
)

data = polymarket_to_hbt(l2_df, trade_df=trade_df)

asset = BacktestAssetPoly().data(data)
hbt = ROIVectorMarketDepthBacktest([asset])
recorder = Recorder(hbt.num_assets, 5_000_000)

endgame_trading(
    hbt,
    recorder.recorder,
    up_trigger=0.84,
    stop_long=0.4,
    order_qty=5,
)
_ = hbt.close()

BOOK_SIZE = 100
stats = PolyAssetRecord(recorder.get(0)).resample("1s").stats(book_size=BOOK_SIZE)
print(f"earn: {stats.earn}")
stats.plot()

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (6.4 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl (5.9 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (6.2 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ ARMv7l

pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ ARM64

pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_armv7l.whl (5.9 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARMv7l

pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

pm_hftbacktest-1.0.8-cp314-cp314-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.14Windows x86-64

pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_armv7l.whl (5.9 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARMv7l

pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARMv7l

pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pm_hftbacktest-1.0.8-cp314-cp314-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pm_hftbacktest-1.0.8-cp314-cp314-macosx_10_12_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

pm_hftbacktest-1.0.8-cp313-cp313-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.13Windows x86-64

pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_armv7l.whl (5.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARMv7l

pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARMv7l

pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pm_hftbacktest-1.0.8-cp313-cp313-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pm_hftbacktest-1.0.8-cp313-cp313-macosx_10_12_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

pm_hftbacktest-1.0.8-cp312-cp312-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_armv7l.whl (5.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARMv7l

pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARMv7l

pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pm_hftbacktest-1.0.8-cp312-cp312-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pm_hftbacktest-1.0.8-cp312-cp312-macosx_10_12_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

pm_hftbacktest-1.0.8-cp311-cp311-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.11Windows x86-64

pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_armv7l.whl (5.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARMv7l

pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARMv7l

pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pm_hftbacktest-1.0.8-cp311-cp311-macosx_11_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pm_hftbacktest-1.0.8-cp311-cp311-macosx_10_12_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

Details for the file pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 51b9e83f9c4274a1fb986dd3052be66d0b95fe5964a1ec5aef48e833c0eb67dd
MD5 3518cf1313619e9b0e29b6211be0612a
BLAKE2b-256 c38707a047f4bf7ae823dccf18ceecd5fd55ac4bdc38a897decd8dea83283bb5

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f2e4d52369618f03cb652929296f001580c4623c35fec15907ec966fdbead51f
MD5 78d4c87ef05775a221febe3449a61714
BLAKE2b-256 da9243292c3ab1638969a4c0c332b74ae6e3678eccaca35ffccb9f1321b5ee2c

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7d6894dd1c3132ae05a4f83577d089cd4c554541a77c3fdd636f57c5cd23f803
MD5 8e908756a4e11be15d0741c547a18142
BLAKE2b-256 7561d19468986c2cdb5d4087cd293db6cdfb11331a076053e8b0391a6e69b58d

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b706d98a68e027df6b134479437a416c77c62409a86eef4c56dde42ec5d093f
MD5 6a4623e49f7c18e999c426ede84e1698
BLAKE2b-256 5dae6c168348ed5bc58cd1b70fbb207916b5295fbaffa92d72aba7bfa811d092

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 5f0244b21450f0e791c8f7c3ace911856fa0ffe653a7e1081c7ad43b7e67cce4
MD5 33591fbb3101b8417cfdd581c6fcca99
BLAKE2b-256 cb8841e99bf01e7123a0d3a2b2530fb519afadd6a71f1cb227bf1e89647aadfe

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 792f5d8f0585d22d7aeaa4242778ce92c499ed0fe4bc911812cc0601f3bfe860
MD5 a6205a6abd435512d5c52f0e35ddc5b7
BLAKE2b-256 da18176b98ed7d95228ce49686e76a61adeb0ea29294626d456dbd6c6478d8fa

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 637a0c3f58b0b0cef61a4a3b5fb1d1c01d5c608a83fa4d4244688b9ec79930c5
MD5 1e6a646befe61c2b27b3e87ff05961c9
BLAKE2b-256 372671d0bedc1c282f4f78879f803acfa20c3b400d6609a49d39fc8db4df6b44

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 490a2d01d198ae8b8bc0061c9f9e1c17d71f566f46d7c497e5f97c37ba595eec
MD5 ac5ecbb0b327315ab48eef2a60950b09
BLAKE2b-256 28db4cb6d876ab39a2c64ef71fdeb35aabbc535aa978db1e9836555a0720f297

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 283c9c13753fa31ee4ef72f3d5bfe72fff818500b7f3610f8a0ced7c57418bb0
MD5 e3165d2c3d474fde02fd4de90c2bee7b
BLAKE2b-256 60857df033ec73f205aa315ce8777a5b7a95c3baae2fe47046571e1d540558b1

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d2d38a1b8bb406c5a8e01809bcf0758fff9ee9ba0c5f3291bab657587557e327
MD5 cf87e97fa38405d7903469bb12823ab0
BLAKE2b-256 feffba64bd59194f4b1997795dac5a2248573bee4653f3196dc32d8a804b6cd1

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 a1f6706a43ea739912901c714f9e27f2f4c6151a5150972e5aa4cac010d70358
MD5 9a4311cb87b9b6f46951a1b62eb5098e
BLAKE2b-256 47939a1c270544266760637046cc5558c27ba8003876c6206127d40b70fa77ac

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d4e3ef3c4cac4f138544a97604343814c25909ce6d06c6ad1537f2adc5e408e5
MD5 37afee9809d9224efcc1d91ddf7c6a99
BLAKE2b-256 cf27b86879e07ae0b70e467003394747bd9eb041d7a664b7441ea85b3129f3a2

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 36c515d3120e77b24253c59000f589bbc5788ad194ff98ceb853433323ead06e
MD5 86e5102ea1513656c2c61c1b6be29e5a
BLAKE2b-256 1c8b1f0cd4cfc6388aa825fb79e1dfe6922dbfc46ef2ecf99c627691af0a73a4

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 02e37ab11a340fd3728a2c742c414b1bf7497986d6a183643b90f450df29f2b6
MD5 d380c35f4dc8dda5f8885b3245f07c54
BLAKE2b-256 dfe8fe4698555466743cfc2fda8bdf915bee64b506a7107dffa2ed0aa76de89d

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 61f96b5a92ce5f79391d32c4a335eb76d75a2d88eecb2b9292eabcda7075f505
MD5 d8615945627078883dc86f98b8104bc7
BLAKE2b-256 f6a1c3664586124d6ca99c5bc05f0781e407d28e93d17840abae5912294c30d2

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 096dc45e72415291d6274e99e3ac875a543414c2ff730959cac25b7fd232049b
MD5 9897e58dd37c81366b2d79897137ad33
BLAKE2b-256 d5d40a27d07150f228f6836edc12111c8c6b4aa8bf3fa873f4c04455c05b2cf6

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1ac202279b40180da53b7971ff3fe4a29e126fe4d0ffc4ea5917d7fe6bde28d9
MD5 467c69f62a5fabbee70ed84d4898635a
BLAKE2b-256 544fb3fc2e36b56f48866071d69468376a43c3cbed521d69d57250811ba6b1d4

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 061bac4a8b84eb56756ee2c4c2c5f4af6de004acd65b67205415bf3973c33124
MD5 310da6247b924b2fb8aea24553cc5424
BLAKE2b-256 4ae9b1ac94afec4460ed35af34bec0e7410e3c0c4b92e98713107ec90c48c2d4

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 961ee862548c38bf7b87d5fa8b2554f4b206615c52d3acce9c6254366fbe367f
MD5 4e538a3057c697376db255660f74b0b1
BLAKE2b-256 2496b2a978f10f30112e8a4c8235b3c32d1d5ac8da1a793dcb5263097fc94624

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e52d5638c07cedd8b4bd1725acacf1f5f59fce851feff7fe85802582cef0e3a0
MD5 30e161afe070adb0028e58125344669f
BLAKE2b-256 d02256e21e397558f8e47828ea2604aeed261d848665fd80c6d28c2ad68b7e65

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9668f2461fc6e538bf32c9f79fd5418e1584fa5d53a7092a5d87c66f0468e6cf
MD5 ec0bc2ef3cf8ef56b619be0d73bfae11
BLAKE2b-256 5ed9c7e8e8d9343abdaeba326e3efdbee6e0e7131e1f79cd01192f44c918702d

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 042371e8edf920f8a713bf50e90ddfd4d18baedee149e0b18621eb8302047ad7
MD5 c4822371c0212288f94477c48640fc8f
BLAKE2b-256 593310ef559097b8c7d513c4597b98199336e00a94529e0615798be3cb99e1c2

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f571aef0fb4949031c60ae363b88a5ed94734eebb796049571f45a96658629a6
MD5 0496365e2ceaa0fcd45cf497a139d1ab
BLAKE2b-256 fc98169904a04cfc468affe098b674d05b5dcd39cd26c81feb4bcf77a0680b4e

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 28f0d81be90916c0fe04ad08a5ae5fe1b7b5b92d62ec15cb0d4693337084c50d
MD5 7b956b47eb697bf10ec23485fc3364af
BLAKE2b-256 aea02cfd9996d5df4369dcbee43c38fbb9f7736bb54e40f9adf3c44277eb8f47

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c6656dad4a673dd5948fc368c3a923a1ed028e191cfda7c62dc7b289723ecd36
MD5 12fc2dd36ebdfd3b91a108a1a0d29c8c
BLAKE2b-256 a76539403622b6880d844937060f04a13fe9bacbccd6874b59424377c1edc450

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ebbde78bbb8bda582832436c3948c71d19e7ec0720ba4eb2286883703028eb98
MD5 cf74d63f3b889521365ab47c96d702f8
BLAKE2b-256 f620b94783960343de350d870c231a3c838af733a2e54a89c271cf7a4c7c2ada

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 5b6e1278594af811f0961e80cccf1b637c84139a3236f7553ad32fdfb1bd2aa8
MD5 d84e130ae432d8773cc3852a3a7f2dfb
BLAKE2b-256 40df9e32eed77c6ae11600a0f25a14d30e3b6782c87a6bd2836a37b1931fda66

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 601b86f552a9eab8a71b8635abe83b4a1683b660231f884c989820c90cdfb8a2
MD5 93965f5823829f127420d45dc3202931
BLAKE2b-256 407894f6681f6e0737cf511cd034c68119afcb73c9d09a72e4a4158b4a521101

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42ebc0ae5e2a4511a09d28c413cf34860bbb3834e47c7f36831a8fd71d3dc26d
MD5 1f9a428767b22b251401490895e337a8
BLAKE2b-256 fcef115762c70de21c6163ec8c675b172956c0ee0d1364cdb08e919d72ace79e

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e25a804146e032a4b5b8cadc8417e1889bea0b877c6bcd847869d1d23f6c8978
MD5 39edfb1bcf90e0e0f8a1f165bd46137d
BLAKE2b-256 9623ff95ab2edabbbea3a0f970d56c96fa6fc11d41eeedcdf6b872c708a5af8e

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3e147c4c831bb22e07d87129b09dfbb3511772354a9ab059ef01da5c94291520
MD5 c1ce8ba19b79d1b0072156dd671fd202
BLAKE2b-256 a2a9830293f7fef143346c4c14c5d927de73bdfa30c136dec4186e5e0829d905

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a16021cd103279e223f338bfe1fd5f68010a090404367440aaa73086655a9a0
MD5 f47ae43e24f4b681539ca37484d4d4ee
BLAKE2b-256 af140be6abdb2ba7de0da6c4cfe485b170803383137238f20eb5c5b4e84f9847

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e54c54f3f9205a42bf348311838d7ba8fcf6880daf4a84dd84ed91f143b5d028
MD5 df5375dd723daa6034c6dd32b6bf6a52
BLAKE2b-256 6c00f230203481acbdc459c186319ff85e8195143d506c89a01fd7102acb4bdd

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 42f8552643fa41b18209f4d47af019f5597d9e5e277bbeb038da9794eac42ebc
MD5 17e4d88b113a8172532965b5f967d092
BLAKE2b-256 4c67d6ead9b6e3fac22c4c42a4bbdc68116e0790fa180640a8521ea8ba445279

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 049f9b3589e34cff38c722c1c3ceda8c89211dbfd74e2670cc10dfd7df17277c
MD5 cc402179efc246cbbe8c15bf26a9d401
BLAKE2b-256 01d2bd6129cb49c3dbd97ca0938e843f713495f8daa43355c6ab59b1ea5d6366

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 2af5b4fc247cc0b4f9661451aef0c1099effd0cf3bc8d58a5f602550ae23a8d0
MD5 1876f1659b2d0984061a96fe9f092c3b
BLAKE2b-256 b9aeda0a8e6849fcc94e4e1e3465055850d93c21bf1e001c5384f79e24178ae4

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c029f985aacae248da2994f6c86ed1e16f6e51835b241a7573d9d83b64457505
MD5 dd10fff1379169fa83621b4ef2bfb825
BLAKE2b-256 306478027696ae6e72b9383ddd83ada9992d01a1da62128e1f500099097fb28c

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 89cf0cb005569b71e5056887299630e547d1eece44ce88ed328a4965ebab49af
MD5 5f5b9ed274bbff7a1ae41600c197c6e3
BLAKE2b-256 e2b327a69f86e363a84d063a30c23d3fde2f035e7eb0e39daf9843b5d7a4463f

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 717bf323395628a0e1fee0a2760aac2d502f70e35d03dc89f9b74f5932d3fd34
MD5 f07d2b6b599353a0d415d2e68a567e60
BLAKE2b-256 1d740b27b09d9a304adcf984d8525ac9268859d5eea7b16c4cc7d16330b91c48

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5d174ddbd31f1926e6c3baf8ab18a03f2a7beac2b5536659c4fab29dffe7c0dd
MD5 df68c5cf2ec5af51382cd9a572863baf
BLAKE2b-256 3b17433a8793aaf0806e775472ea4c1f44823e373e7c5ebf33998f1d7f10b80c

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d3e6c38260bf70a137c2142bb3a59cccab46d1e4ae95299356586cb0ed90b1b1
MD5 a38f7eebe015e29e5fe701fd0e204044
BLAKE2b-256 14b7d68fea3814dd8fcfb4e8c3f38d42152feafb750be5d9dc038d9ce1e190f5

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9f86370ed2c3c82f7bcce740719b4fed7527f84491f22758c627c9b5426366e2
MD5 ccd3e40d270f9edec694efc30beb5a9b
BLAKE2b-256 e4c68c6936f75476b63254558094b0a3ff79cbb06dff1dc908ce4f0562c6d833

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 98d1f8400b2eb0ff26bc09485efd6fd50a7c409c2a4946e97759608b21cdce32
MD5 cda6b1edc97f4a51c11ca72dde51bbdd
BLAKE2b-256 1abd0f320d88897defa91d452b878bdf00093fd0af48a21f1b19d633d47bb979

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0bbb802e16e7c13e55085936567b61a3487477a2f24183752257627595b4d768
MD5 0bedc432fbf5449186564d66ba01d55a
BLAKE2b-256 4f144b7ebe1837a1f1444e91c9a97370b637ae79acc305257de3dda5b22111cc

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 1b0796ebbd96ac356a2056cd0673d2c1058c4825ebfb02197a852f653f683810
MD5 84f2a33c207aee4dc7f8f849d04b91c1
BLAKE2b-256 eee57821026de8b34aaabcbcd1f77ba7f57b29759d12b216dd866e2e1a07a3c9

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6cfc5033a2e00735dfdccda78dc52f84c76b92f4f02f601281792a97755b1173
MD5 242d4ad0f91dbb135faf0f3556bfe1d3
BLAKE2b-256 6595c6496a770b802a72135f324af0ad9f6bacdb1bea8cd41985fbac5de5699a

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8c6759ef4b931d6bb53607fb9a248a48479d290470386bc3628d6a36ded1610
MD5 0b576098ebf118ed41feb980019a333d
BLAKE2b-256 cbbdb1581be50ac3f2af7597b7ee173c39c1dbafc76694586f3904f1655c73fe

See more details on using hashes here.

File details

Details for the file pm_hftbacktest-1.0.8-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pm_hftbacktest-1.0.8-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ccd412810acb7fe5fe646b8e5a2fd37c228a56cf3d4af392fe5e8cf280ece678
MD5 f923bb45beeb9a9988af3d77c6f1adc9
BLAKE2b-256 0ddfe182de6493a311c8c6ee646848b894d6d745d7b17a381e77b9883d253114

See more details on using hashes here.

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