ta 0.0.1-beta

Technical analysis library. Implements number of indicators: EMA, SMA, RSI, MACD, Stochastic, etc.
Documentation

Technical Analysis for Rust (ta)

Build Status License Documentation

Technical analysis library for Rust.

Status

The library is in development.

Goals

  • Implement flexible and easy to use library in pure Rust
  • Support most popular technical analysis indicators
  • Have a good documentation for every indicator

Roadmap

That's the list of things to be done before first stable release 0.1.0. More indicators can be added later.

  • Indicators
    • Trend
      • EMA
      • SMA
    • Oscillators
      • RSI
      • Fast stochastic
      • Slow stochastic
      • MACD
    • Other
      • Minimum
      • Maximum
      • True Range
      • Average True Range
      • Rate of Change
  • Good test coverage
    • Unit tests
    • Integration tests
    • Ensure every indicators implements traits:
      • Default
      • Next
      • Reset
      • Display
      • Debug
      • Clone
  • Documentation
    • Good README and lib doc, that explain the idea behind traits Next<T>, Reset.
    • How to contribute section in README
    • Every indicator must have:
      • Description
      • Formula
      • Example

Get started

Add to you Cargo.toml:

[dependencies]

ta = "*"

Example:

use ta::indicators::ExponentialMovingAverage;
use ta::Next;

let mut ema = ExponentialMovingAverage::new(3).unwrap();
assert_eq!(ema.next(2.0), 2.0);
assert_eq!(ema.next(5.0), 3.5);
assert_eq!(ema.next(1.0), 2.25);
assert_eq!(ema.next(6.25), 4.25);

License

MIT © Sergey Potapov

Contributors

  • greyblake Potapov Sergey - creator, maintainer.