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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fast_trading_simulator-0.1.7.tar.gz
Algorithm Hash digest
SHA256 275bb80d6df47b2e08f4a69e223519d65714043fe23db010defa7b73b45d2015
MD5 c168999d336d66065734c4c0a548b203
BLAKE2b-256 a3a67fb75d38cec755fa277f3ab5df388366e11d753d0a259a85f1911d38f8a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fast_trading_simulator-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 4c6910ee1475a9298faa4cde431bdb9fe1d7da51f504bb4d64c1302523350a56
MD5 4f29c5d0f665953d8ba91c61a51dfaef
BLAKE2b-256 837a78c25320e65d8a9504b6a79c53c631296d46f2164a0376ce3699c4020772

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