Skip to main content

Numba accelerated minimalist trading simulator

Project description

Intro

  • Numba accelerated minimalist trading simulator

Usage

pip install fast-trading-simulator
import numpy as np
import talib as ta
from crypto_data_downloader.utils import load_pkl
from trading_models.utils import D_TYPE

from fast_trading_simulator.sim import map_trades, simulate

path = "./futures_data_2025-08-01_2025-11-20.pkl"
data: D_TYPE = load_pkl(path, gz=True)

ref_sym = "BTCUSDT"
price_idx = 1
delta = 0.05

T = len(data[ref_sym])
data = {k: v for k, v in data.items() if len(v) == T}
all_act = []
for sym, v in data.items():
    p = v[:, price_idx]
    obs = p / ta.KAMA(p, 20) - 1
    pos = np.where(obs < -delta, 1, 0)
    pos = np.where(obs > delta, -1, pos)
    lev = np.full(T, 20)
    timeout = np.full(T, 10)
    take_profit = np.full(T, 0.01)
    stop_loss = np.full(T, -0.9)
    act = np.array([pos, lev, timeout, take_profit, stop_loss]).T
    all_act.append(act)
market = np.array(list(data.values()))
action = np.array(all_act)
tot_fee = 1e-3
liq_fee = np.full(len(data), 0.02)

trades = simulate(market, action, tot_fee, liq_fee, use_ratio=0.2, alloc_ratio=0.01)
map_trades(trades, plot=True)

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

fast_trading_simulator-0.1.3.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

fast_trading_simulator-0.1.3-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file fast_trading_simulator-0.1.3.tar.gz.

File metadata

  • Download URL: fast_trading_simulator-0.1.3.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for fast_trading_simulator-0.1.3.tar.gz
Algorithm Hash digest
SHA256 e1c44cad912ef398365c9fa0ae4c17cb6fac1dcf0d524905b25f068c76add230
MD5 cf3785aa0188cd36298fb7dfad6701e3
BLAKE2b-256 8ad47a88fde39139af7972e4a96dbfb2b67f2ca4395ffe5b46fd6131ca315d96

See more details on using hashes here.

File details

Details for the file fast_trading_simulator-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for fast_trading_simulator-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 342cfca898407689852daeecd840f4a71fc95603b9eb050a6674b48a64ee1312
MD5 395c9461972e01baf0882fc474f09820
BLAKE2b-256 813283377434f33341bd4346d4d75bafca54cd9db94408f1b223b00880e7bf7f

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