Expand description
§Technical Indicators
A comprehensive Rust library for calculating financial technical indicators using the Polars DataFrame library.
This crate provides functions to calculate various technical indicators from OHLCV (Open, High, Low, Close, Volume) data stored in Polars DataFrames.
§Categories
The indicators are organized into the following categories:
- Moving Averages: Trend-following indicators that smooth price data
- Oscillators: Indicators that fluctuate within a bounded range
- Volatility: Indicators that measure the rate of price movement
- Volume: Indicators based on trading volume
- Momentum: Indicators that measure the rate of price change
§Usage Examples
§Basic Indicator Calculation
use polars::prelude::*;
use ta_lib_in_rust::indicators::moving_averages::calculate_sma;
fn main() -> PolarsResult<()> {
let close_prices = Series::new(
"close".into(),
&[
100.0, 101.0, 102.0, 103.0, 105.0, 104.0, 106.0, 107.0, 109.0, 108.0,
107.0, 109.0, 111.0, 114.0, 113.0, 116.0, 119.0, 120.0, 119.0, 117.0,
118.0, 120.0, 123.0, 122.0, 120.0, 118.0, 119.0, 121.0, 124.0, 125.0,
],
);
// Create a sample DataFrame with price data
let mut df = DataFrame::new(vec![close_prices.clone().into()])?;
// Calculate a Simple Moving Average
let sma_10 = calculate_sma(&df, "close", 10)?;
df.with_column(sma_10)?;
println!("{}", df);
Ok(())
}
§Advanced Intraday Strategy Example
See examples/enhanced_minute_strategy_example.rs
for a full example of an advanced minute-level multi-indicator strategy. This example demonstrates:
- Loading minute-level OHLCV data from CSV
- Running a multi-indicator strategy with risk management
- Calculating and printing performance metrics
- Saving all signals and indicators to a CSV file (
enhanced_minute_strategy_results.csv
) for further analysis
See the documentation for each module for more detailed information and examples.
Re-exports§
pub use indicators::*;
Modules§
- indicators
- Technical Indicators
- util