A comprehensive Rust library for technical analysis, providing common indicators, methods, and an interface for custom indicators.
YATA is a Rust library for technical analysis in financial markets. It provides a comprehensive collection of pre-built indicators and methods for analyzing price data, along with an interface for creating custom indicators. It solves the problem of implementing reliable, high-performance technical analysis tools in Rust for trading systems and market analysis.
Rust developers building trading algorithms, backtesting engines, financial analysis tools, or quantitative finance applications that require technical indicator calculations.
Developers choose YATA for its extensive built-in indicator library, high performance demonstrated by nanosecond benchmarks, and the flexibility to create custom indicators—all within a safe, idiomatic Rust crate.
Yet Another Technical Analysis library [for Rust]
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes over 20 moving averages, oscillators like RSI and MACD, and advanced methods such as Ichimoku Cloud, as listed in the README's detailed sections.
Benchmarks show execution times as low as 3-7 ns for methods like SMA and EMA, with optional unsafe code for further optimization, highlighting high efficiency for trading systems.
Provides a foundation for building and integrating custom technical indicators, demonstrated in the README with examples for method and indicator creation.
Supports feature flags for serde integration, period/value type customization (e.g., u16, f32), and performance tuning, allowing adaptation to specific project needs.
Defining methods within indicators involves string parsing (e.g., 'sma-4') or enum usage, which can be error-prone and less intuitive compared to type-safe alternatives.
Lack of bindings for other languages limits use to Rust projects, with no mentioned integrations for popular financial data pipelines or frameworks in other ecosystems.
Documentation primarily consists of API references on docs.rs, with no tutorials or beginner-friendly guides, making onboarding harder for new users.
At version 0.6, the API is not stabilized, posing a risk of breaking changes for production applications, as indicated by the crate version.