A Rust library providing various financial algorithms, including but not limited to KDJ and MACD indicators, for technical analysis.
- Easy integration with existing projects
- Well-documented and tested
- MA (Moving Average)
- EMA (Exponential Moving Average)
- MACD (Moving Average Convergence Divergence)
- DMI/ADX (Directional Movement Index / Average Directional Index)
- TRIX (Triple Exponential Average)
- RSI (Relative Strength Index)
- ROC (Rate of Change)
- CCI (Commodity Channel Index)
- Stochastic Oscillator (KDJ)
- MOM (Momentum)
- ATR (Average True Range)
- Bollinger Bands
- STD (Standard Deviation)
- OBV (On-Balance Volume)
- VOL (Volume)
- MFI (Money Flow Index)
- VWAP (Volume Weighted Average Price)
- SAR (Parabolic SAR)
- PSY (Psychological Line)
- Williams %R
- CR (Cumulative Resistance)
Add financial_indicators to your Cargo.toml:
cargo add financial_indicatorsOr manual add to cargo.toml
[dependencies]
financial_indicators = "0.1.0"Here's an example of how to use the library to calculate KDJ indicators:
use financial_indicators::kdj::{calculate_kdj, OHLC};
fn main() {
let prices = vec![
OHLC {
close: 10.0,
high: 12.0,
low: 8.0,
},
OHLC {
close: 11.0,
high: 13.0,
low: 9.0,
},
OHLC {
close: 12.0,
high: 14.0,
low: 10.0,
},
OHLC {
close: 11.5,
high: 13.5,
low: 10.5,
},
OHLC {
close: 13.0,
high: 15.0,
low: 11.0,
},
];
let (k_values, d_values, j_values) = calculate_kdj(&prices, 3);
println!("K values: {:?}", k_values);
println!("D values: {:?}", d_values);
println!("J values: {:?}", j_values);
}We welcome contributions!👏
This project is licensed under the MIT License - see the LICENSE file for details.