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
pip install qpace
npm install qpace
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);
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
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, ...]
qPACE Suite: Free collection of the best indicators and strategies (separate package to qpace
).
Python:
pip install qpace_suite
JavaScript:
npm install @qpace/suite
- Machine Learning: Lorentzian Classification
- WaveTrend 3D
- Nadaraya-Watson: Envelope
- MLExtensions
- KernelFunctions
- Adaptive Schaff Trend Cycle (STC)
- Amazing Oscillator
- Donchian Trend Ranges
- Exponential Trend
- Supertrended RSI
- Triple Smoothed Signals
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);
Every TA indicator was compiled using Pine to Python/JavaScript compiler.
- 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
- 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
- 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
- Average True Range ATR
- Bollinger Bands BB
- Bollinger %B %B
- Bollinger Width BBW
- Donchian Channel DC
- Relative Volatility Index RVI
- True Range TR
- Accumulation/Distribution (Williams) ACCDIST
- Chaikin Money Flow CMF
- Elderβs Force Index EFI
- Ease of Movement EOM
- Money Flow Index MFI
- Volume Oscillator VO
- Standard Deviation STD
- Bars Since
- Change
- Cross
- Cross-Over
- Cross-Under
- Cumulative Sum CUM
- Highest
- Highest Bars
- Lowest
- Lowest Bars
- Rate of Change ROC
Become a part of the qPACE community and connect with like-minded individuals who are passionate about trading, finance, and technology!