Skip to main content

Techalib: A TECHnical Analysis LIBrary

Project description

Techalib

Techalib is a fast, reliable, and ergonomic technical analysis library written in Rust, with seamless Python bindings.

Inspired by TA-LIB, Techalib has been extensively tested against it to ensure accuracy and performance.

🚧 Techalib is in active development. More features, indicators, and improvements will come.

📦 Installation

Rust

Available soon on Cargo

Python

Available soon on PyPI

📚 Documentation

Rust

Available soon

Python

Available soon

⚡ Benchmarks

Techalib matches TA-LIB in performance and, for specific indicators, achieves even faster execution through algorithmic optimizations.

📊 Supported indicators

The number of supported indicators is set to increase.

Category Function name - Name Status
Overlap
bbands - Bollinger Bands
midpoint - MidPoint over period
midprice - Midpoint Price over period
Moving Average sma - Simple Moving Average
ema - Exponential Moving Average
wma - Weighted Moving Average
dema - Double Exponential Moving Average
tema - Triple Exponential Moving Average
trima - Triangular Moving Average
t3 - Tillson Triple Moving Average
kama - Kaufman Adaptive Moving Average
Momentum
macd - Moving Average Convergence Divergence
adx - Average Directional Movement Index
aroon - Aroon
dx - Directional Movement Index
minus_di - Minus Directional Indicator
minus_dm - Minus Directional Movement
plus_di - Plus Directional Indicator
plus_dm - Plus Directional Movement
roc - Rate of change
rocr - Rate of change ratio
Oscillator rsi - Relative Strength Index
aroonosc - Aroon Oscillator
Volume
ad - Chaikin A/D Line
Volatility
atr - Average True Range

🤓 Contribution

To contribute to the techalib project, first fork the repository and create a new branch from upstream/main using a proper naming convention (feat/, fix/, etc.). Set up your development environment by installing Python, Rust, and project dependencies, then build the project and run tests. If you're adding a new indicator, use the provided tools to generate boilerplate code and test data, and follow the inserted TODO comments. Follow the commit message guidelines and rebase your branch onto the latest changes from upstream/main. Finally, open a pull request with a clear description, allow edits by maintainers, and be ready to respond to review feedback.

For a more detailed description please read this guidelines before submitting a pull request.

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

techalib-0.1.0.tar.gz (60.5 kB view details)

Uploaded Source

Built Distribution

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

techalib-0.1.0-cp38-abi3-manylinux_2_34_x86_64.whl (436.1 kB view details)

Uploaded CPython 3.8+manylinux: glibc 2.34+ x86-64

File details

Details for the file techalib-0.1.0.tar.gz.

File metadata

  • Download URL: techalib-0.1.0.tar.gz
  • Upload date:
  • Size: 60.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.7

File hashes

Hashes for techalib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a962b3773bb9869881ff99e8ca47a706761fee68aae40077239c7986bc379e65
MD5 e472864b31d2dc5434009a4d543deb06
BLAKE2b-256 aac1d9345833950872ad4eba3fd2967d2790bda46b1bca929b62ccab3fe6938c

See more details on using hashes here.

File details

Details for the file techalib-0.1.0-cp38-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for techalib-0.1.0-cp38-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8d163237e948a2edd807bce2891759382182338c1dcf20299d30c0aa5199f04a
MD5 c3d38533266dd01ff8c58984839fc85b
BLAKE2b-256 86619a700106be94c656099ce80492428c9b619684e434cfb37657eedb56f186

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