Skip to content

nersent/qpace

Repository files navigation

qPACE banner

qPACE

The Quant SDK for Python Β· JavaScript Β· Rust

From research to production - all in one toolkit.

PyPI NPM Discord

qPACE: The all-in-one quantitative toolkit powered by Rust - usable from Python, Node.js, and the browser.

  • Cross‑language, cross‑platform - high‑performance Rust core with the fully typed API for Python, Node.js (NAPI), and Browser (WebAssembly).

  • Extremely fast backtesting engine - millions of bars per second. Export exact trades back to Pine for one‑click visual validation.

  • Technical Analysis - more than 30 indicators fully compliant with TradingView results, written in Pine and compiled using our compiler.

  • Data layer - resampling/aggregation, zipping/unzipping, reading/writing from CSV/Parquet, and more.

  • Cross-ecosystem - interoperable with Pandas, Polars, and more.

  • CLI + upcoming UI

Quick Links

Installation

Python

pip install qpace

JavaScript

npm install qpace

Quick Example

Python

import qpace as qp

ohlcv = qp.Ohlcv.read_csv("btc.csv")
ctx = qp.Ctx(ohlcv, qp.Sym.BTC_USD())
rsi = qp.ta.rsi(ctx.copy(), ohlcv.close, 14)

Node.js

import * as qp from "qpace/node";

const ohlcv = qp.Ohlcv.readCsv("btc.csv");
const ctx = new qp.Ctx(ohlcv, qp.Sym.BTC_USD());
const rsi = qp.ta.rsi(ctx.copy(), ohlcv.close, 14);

Pine from Python/JavaScript

We designed and developed in-house Pine Script compiler that takes your original Pine Script code and compiles it to efficient rust code that is later exposed to Python, Node.js and Web/WASM with type hints. Easy interface and practically no hustle from your side. Our compiler supports any technical analysis indicator and strategy, while having extreme performance.

  • bot automation
  • machine learning
  • backtesting
  • parameter optimization
  • and much more

Get started

Compiler gif

script.pine

//@version=5
library("MyLibrary")

export custom_ma(series float src, int length) =>
    ta.ema(ta.change(src) * volume, length)

Python:

import qpace as qp
import my_library as pine

ctx = qp.Ctx(ohlcv, qp.Sym.BTC_USD())
custom_ma = pine.script.custom_ma(ctx.copy(), ohlcv.close, 14)
print(custom_ma) # [1.0, 2.0, ...]

Node.js:

import * as qp from "qpace/node";
import * as pine from "my_library"; 

const ctx = new qp.Ctx(ohlcv, qp.Sym.BTC_USD());
const customMa = pine.script.custom_ma(ctx.copy(), ohlcv.close, 14);
console.log(customMa); // [1.0, 2.0, ...]

Suite

qPACE Suite: Free collection of the best indicators and strategies (separate package to qpace).

Python:

pip install qpace_suite

JavaScript:

npm install @qpace/suite

Jdehorty

AlgoAlpha

TA

Built-in TA functions.

import qpace as qp
rsi = qp.ta.rsi(ctx.copy(), src=ohlcv.close, length=14)
import * as qp from "qpace/node";
const rsi = qp.ta.rsi(ctx.copy(), ohlcv.close, 14);

Roadmap

Every TA indicator was compiled using Pine to Python/JavaScript compiler.

Momentum (17)

  • Awesome Oscillator AO
  • Absolute Price Oscillator APO
  • Balance of Power BOP
  • Commodity Channel Index CCI
  • Coppock Curve
  • KST Oscillator KST
  • Moving Average Convergence Divergence MACD
  • Momentum MOM
  • Price Oscillator PO
  • Rate of Change ROC
  • Relative Strength Index RSI
  • Relative Vigor Index RVGI
  • Stochastic RSI STOCHRSI
  • Trix TRIX
  • True Strength Index TSI
  • Ultimate Oscillator UO
  • Williams %R W%R

Overlap (11)

  • Double Exponential MA DEMA
  • Exponential MA EMA
  • Fibonacci Weighted MA FMWA
  • Hull MA HMA
  • Linear Weighted MA LWMA
  • Relative MA RMA
  • Simple MA SMA
  • Symmetrically Weighted MA SWMA
  • Triple Exponential MA TEMA
  • Volume-Weighted MA VWMA
  • Weighted MA WMA

Trend (8)

  • Advance/Decline Ratio ADR
  • Aroon AROON
  • Bull/Bear Power BBP
  • Chande-Kroll Stop CKS
  • Choppiness Index CHOP
  • Detrended Price Oscillator DPO
  • Supertrend ST
  • Vortex Indicator VI

Volatility (7)

  • Average True Range ATR
  • Bollinger Bands BB
  • Bollinger %B %B
  • Bollinger Width BBW
  • Donchian Channel DC
  • Relative Volatility Index RVI
  • True Range TR

Volume (6)

  • Accumulation/Distribution (Williams) ACCDIST
  • Chaikin Money Flow CMF
  • Elder’s Force Index EFI
  • Ease of Movement EOM
  • Money Flow Index MFI
  • Volume Oscillator VO

Statistics (1)

  • Standard Deviation STD

Utilities & Helpers (11)

  • Bars Since
  • Change
  • Cross
  • Cross-Over
  • Cross-Under
  • Cumulative Sum CUM
  • Highest
  • Highest Bars
  • Lowest
  • Lowest Bars
  • Rate of Change ROC

Community

Become a part of the qPACE community and connect with like-minded individuals who are passionate about trading, finance, and technology!

Join Discord