Miha Kralj 35e5571237 docs
2025-12-18 13:51:06 -08:00
2025-12-16 21:16:50 -08:00
2025-12-18 13:51:06 -08:00
2025-11-28 13:35:16 -08:00
2025-12-18 13:51:06 -08:00
2025-12-18 13:51:06 -08:00
2025-12-16 21:16:50 -08:00
2024-10-31 09:49:06 -07:00
2025-12-18 13:51:06 -08:00

Codacy grade codecov Security Rating CodeFactor

Nuget GitHub last commit Nuget GitHub watchers .NET

QuanTAlib - Quantitative Technical Indicators Without Compromises

TA libraries face a fundamental choice: accept approximations for simplicity OR enforce math rigor. We chose rigor.

Quantitative TA library (QuanTAlib) is a C# library built on the premise that you shouldn't have to choose. Modern CPUs process 4-8 FLOPS per cycle via SIMD. Modern .NET exposes memory layouts making hardware acceleration trivial. QuanTAlib exploits both. Result: mathematically rigorous indicators at speeds making real-time multi-symbol analysis practical on ordinary hardware.

Key Features

  • Zero Allocation: Hot paths are allocation-free. No GC pauses during trading.
  • SIMD Accelerated: Uses AVX2/AVX-512 for 8x throughput on modern CPUs.
  • O(1) Streaming: Constant time updates regardless of lookback period.
  • Platform Agnostic: Runs on .NET 8/9/10, compatible with Quantower, NinjaTrader, QuantConnect.
  • Mathematically Rigorous: Validated against original research papers and established libraries.

Quick Start

Install from NuGet:

dotnet add package QuanTAlib

Calculate an SMA in real-time:

using QuanTAlib;

var sma = new Sma(period: 14);
double price = 100.0;

// Update with new price
var result = sma.Update(new TValue(DateTime.UtcNow, price));

if (result.IsHot)
{
    Console.WriteLine($"SMA: {result.Value}");
}

Performance Snapshot

QuanTAlib is designed for speed. Here is how it compares calculating a 500,000 bar SMA against other libraries:

Library Mean Time Allocations Relative Speed
QuanTAlib (Span) 318.3 μs 0 B 1.00x (baseline)
TA-Lib 356.4 μs 34 B 1.12x slower
Tulip 359.3 μs 0 B 1.13x slower
Skender 71,277 μs 50.8 MB 224x slower

See Benchmarks for full details and methodology.

Documentation

  • Architecture: Learn about SoA layout, SIMD, and design philosophy.
  • Indicators: Full catalog of available indicators and their mathematical families.
  • Usage Guides: Detailed patterns for Span, Streaming, Batch, and Eventing modes.
  • Integration: Setup guides for Quantower, NinjaTrader, and QuantConnect.
  • Benchmarks: Detailed performance evidence and test methodology.
Languages
C# 97.7%
Python 2.1%