Changelog

All notable changes to TechKit will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.2.0] - 2024-12-06

Added

Python Bindings

  • Complete Python package with pybind11 integration

    • OOP API with SMA, RSI, MACD, etc. classes

    • Both incremental (update()) and batch (calculate()) modes

    • NumPy integration for efficient array operations

    • TA-Lib compatible API via techkit.talib_compat

    • Type hints with .pyi stub files

    • Support for Python 3.10, 3.11, 3.12, 3.13

CI/CD

  • PyPI publishing workflow (.github/workflows/python-publish.yml)

    • Automated wheel builds for Linux, Windows, macOS

    • Multi-architecture support (x86_64, aarch64, arm64)

    • Source distribution (sdist) generation

    • Automatic PyPI publishing on GitHub release

Build System

  • setuptools_scm integration for automatic version management from Git tags

  • cibuildwheel configuration for cross-platform wheel building

  • Updated MANIFEST.in for proper source distribution

Changed

  • Updated pyproject.toml with complete PyPI metadata

  • Version now dynamically read from Git tags via setuptools_scm


[1.1.0] - 2024-12-06

Added

Phase 2: Advanced Analytics (31 new indicators)

Risk Metrics (7)

  • Sharpe Ratio - Risk-adjusted return measurement

  • Sortino Ratio - Downside deviation based risk-adjusted return

  • Maximum Drawdown - Peak-to-trough decline tracking

  • Drawdown Series - Running drawdown with duration

  • Calmar Ratio - Return over maximum drawdown

  • Value at Risk (VaR) - Historical percentile-based risk

  • Conditional VaR (CVaR) - Expected shortfall

Volatility Models (4)

  • EWMA Volatility - Exponentially weighted moving average (RiskMetrics)

  • Realized Volatility - Rolling sum of squared returns

  • Parkinson Volatility - High-low range estimator

  • GARCH(1,1) - Generalized autoregressive conditional heteroskedasticity

Structure Analysis (3)

  • ZigZag - Pivot point detection with deviation threshold

  • Swing High/Low - Local extrema identification

  • Pivot Points - Support/resistance levels (5 calculation methods)

Harmonic Patterns (6)

  • Gartley Pattern - Classic harmonic with 0.786 XAD retracement

  • Butterfly Pattern - Extension pattern with 1.27-1.618 XAD

  • Bat Pattern - Deep retracement with 0.886 XAD

  • Crab Pattern - Extended pattern with 1.618 XAD

  • Shark Pattern - Emerging pattern with 0.886-1.13 XAD

  • Cypher Pattern - Unique structure with 0.786 XAD

Chart Patterns (11)

  • Head and Shoulders / Inverse

  • Double Top / Double Bottom

  • Triple Top / Triple Bottom

  • Symmetrical Triangle

  • Ascending Triangle

  • Descending Triangle

  • Rising Wedge

  • Falling Wedge

Documentation

  • Complete API reference documentation (23 files, 8,925 lines)

  • Quick Start guide with C and C++ examples

  • Implementation notes with algorithm details

  • Example code files

Changed

  • Updated version to 1.1.0

  • Improved README with comprehensive feature overview

  • Enhanced code examples in documentation

Validated

  • Phase 2 validation suite completed

  • Risk metrics validated against Python empyrical

  • Volatility models validated against Python arch

  • Pattern recognition validated with visual inspection

  • 2,000+ test assertions


[1.0.1] - 2024-12-06

Changed

  • Disabled macOS builds in release workflow to reduce GitHub Actions costs

  • Disabled regular CI workflow (push/PR triggers)

  • Release now only builds Windows x64 and Linux x64

Notes

  • macOS build config preserved as comments for easy re-enabling

  • No code changes from v1.0.0


[1.0.0] - 2024-12-06

Added

  • Complete TA-Lib function coverage (158/158 functions)

  • Comprehensive validation test suite

  • C ABI for cross-language compatibility

  • C++ RAII wrapper

  • Streaming/incremental computation for all indicators

  • Thread-safe, zero global state design

Indicators

  • Overlap Studies: SMA, EMA, WMA, DEMA, TEMA, KAMA, MAMA, T3, TRIMA, BBANDS, MIDPOINT, MIDPRICE, SAR, SAREXT, MAVP, HT_TRENDLINE

  • Momentum: RSI, MACD, MACDEXT, MACDFIX, STOCH, STOCHF, STOCHRSI, ADX, ADXR, APO, PPO, MOM, ROC, ROCP, ROCR, ROCR100, TRIX, ULTOSC, WILLR, CCI, CMO, MFI, BOP, AROON, AROONOSC, DX, PLUS_DI, MINUS_DI, PLUS_DM, MINUS_DM

  • Volume: OBV, AD, ADOSC

  • Volatility: ATR, NATR, TRANGE

  • Cycle: HT_DCPERIOD, HT_DCPHASE, HT_PHASOR, HT_SINE, HT_TRENDLINE, HT_TRENDMODE

  • Statistics: VAR, STDDEV, LINEARREG, LINEARREG_SLOPE, LINEARREG_INTERCEPT, LINEARREG_ANGLE, TSF, BETA, CORREL

  • Price Transform: AVGPRICE, MEDPRICE, TYPPRICE, WCLPRICE

  • Pattern Recognition: All 61 candlestick patterns

  • Math: MIN, MAX, SUM, MINMAX, MIDPOINT, MIDPRICE

Validation

  • Validated against TA-Lib 0.4.0

  • 1873 test cases across multiple datasets

  • 1749 tests passed (93.4% pass rate)

  • Known differences documented in doc/KNOWN_DIFFERENCES.md

Documentation

  • doc/KNOWN_DIFFERENCES.md: Documented differences from TA-Lib

  • doc/TALIB_FUNCTION_INVENTORY.md: Complete function mapping

  • Comprehensive README with examples


[0.5.1] - 2024-12-06

Documentation

  • README.md: Major rewrite with improved documentation

    • Added “Why TechKit?” section explaining key benefits

    • Added comprehensive O(1) incremental calculation examples

    • Added zero-copy input and thread-safety demonstrations

    • Added streaming-first architecture code samples

    • Reorganized indicator categories with complexity table

    • Enhanced API reference with all 127 indicators

    • Updated performance characteristics section

  • Release workflow: Enhanced .cursor/rules/release.mdc with detailed tag message guidelines

    • Added ASCII art formatting templates

    • Added workflow instructions for AI assistant

    • Improved release notes structure and examples

  • TA-Lib Function Inventory: Added doc/TALIB_FUNCTION_INVENTORY.md

    • Complete 158 TA-Lib function mapping

    • 97.5% coverage analysis (154/158 functions)

    • Detailed category breakdown with implementation status

Fixed

  • BOP indicator: Minor code cleanup

  • ROC variants: Minor code cleanup (ROCP, ROCR, ROCR100)

[0.5.0] - 2024-12-06

Added

  • Candlestick Pattern Recognition: 61 candlestick patterns fully implemented

    • Single candlestick patterns (Doji, Hammer, Shooting Star, etc.)

    • Double candlestick patterns (Engulfing, Harami, Piercing, etc.)

    • Triple candlestick patterns (Morning Star, Evening Star, Three White Soldiers, etc.)

    • Complex patterns (Rising/Falling Three Methods, etc.)

  • CDL pattern recognition validation framework with TA-Lib compatibility testing

Fixed

  • MACDEXT: Added EMA alignment for TA-Lib compatibility

  • ATR/NATR/MFI/OBV: Corrected lookback and warmup calculations

Documentation

  • Comprehensive README update

  • MACDEXT/MACDFIX validation failure analysis report

[0.4.0] - 2024-12-01

Added

  • TSF (Time Series Forecast) indicator

  • BETA (Beta coefficient) indicator

  • CORREL (Pearson correlation) indicator

  • MACDEXT (MACD with configurable MA types)

  • MACDFIX (Fixed-period MACD)

  • Window functions: MIN, MAX, SUM, MIDPOINT, MIDPRICE, MINMAX

  • ROC variants: ROCP, ROCR, ROCR100

  • BOP (Balance of Power) indicator

  • Price transform functions: AVGPRICE, MEDPRICE, TYPPRICE, WCLPRICE

  • Phase 2 validation tests

[0.3.1] - 2024-11-28

Fixed

  • Bug fixes and stability improvements

[0.2.0] - 2024-11-25

Added

  • Momentum indicators: RSI, MACD, Stochastic, CCI, ADX, MOM, ROC, WILLR

  • Volatility indicators: ATR, Bollinger Bands, NATR, TRANGE

  • Directional Movement: DM, DI, DX, ADXR

  • Volume indicators: OBV, AD, MFI

  • Oscillators: APO, PPO, TRIX, ADOSC, StochF, StochRSI

  • Independent indicators: Aroon, CMO, ULTOSC, SAR

  • Statistics: VAR, STDDEV, Linear Regression

[0.1.0] - 2024-11-20

Added

  • Initial release

  • Core infrastructure with C ABI

  • Moving averages: SMA, EMA, WMA, DEMA, TEMA, KAMA, TRIMA, T3, MA

  • Thread-safe, zero-global-state design

  • O(period) memory footprint with ring buffers

  • Incremental update support for streaming data