feat: init the repo

This commit is contained in:
Pratik Bhadane
2026-03-23 23:34:28 +05:30
commit 7a5a220dfe
344 changed files with 75728 additions and 0 deletions
+70
View File
@@ -0,0 +1,70 @@
pub mod aggregation;
pub mod alerts;
pub mod attribution;
pub mod batch;
pub mod chunked;
pub mod crypto;
pub mod cycle;
pub mod extended;
pub mod math_ops;
pub mod momentum;
pub mod overlap;
pub mod pattern;
pub mod portfolio;
pub mod price_transform;
pub mod regime;
pub mod resampling;
pub mod signals;
pub mod statistic;
pub mod streaming;
pub mod validation;
pub mod volatility;
pub mod volume;
use pyo3::prelude::*;
/// ferro_ta — A fast Technical Analysis library powered by Rust.
///
/// Indicators are organized into modules matching the TA-Lib category structure:
/// - **overlap** : Overlap Studies (SMA, EMA, WMA, DEMA, TEMA, TRIMA, KAMA, T3, MACD, BBANDS, SAR, MA, MAVP, MAMA, SAREXT, MACDEXT, …)
/// - **momentum** : Momentum Indicators (RSI, STOCH, ADX, CCI, WILLR, AROON, MFI, …)
/// - **volume** : Volume Indicators (AD, ADOSC, OBV)
/// - **volatility** : Volatility Indicators (ATR, NATR, TRANGE)
/// - **statistic** : Statistic Functions (STDDEV, VAR, LINEARREG, BETA, CORREL, …)
/// - **price_transform**: Price Transformations (AVGPRICE, MEDPRICE, TYPPRICE, WCLPRICE)
/// - **pattern** : Pattern Recognition (CDLDOJI, CDLENGULFING, CDLHAMMER, …)
/// - **cycle** : Cycle Indicators (HT_TRENDLINE, HT_DCPERIOD, HT_DCPHASE, HT_PHASOR, HT_SINE, HT_TRENDMODE)
/// - **batch** : Batch Execution (batch_sma, batch_ema, batch_rsi — 2-D array input)
/// - **streaming** : Streaming Indicators (StreamingSMA, StreamingEMA, … — bar-by-bar PyO3 classes)
/// - **extended** : Extended Indicators (VWAP, SUPERTREND, DONCHIAN, ICHIMOKU, …)
/// - **math_ops** : Rolling Math Operators (rolling_sum, rolling_max, rolling_min, …)
/// - **resampling** : OHLCV resampling helpers (volume_bars, ohlcv_agg)
/// - **aggregation** : Tick/trade aggregation pipeline (aggregate_tick_bars, aggregate_volume_bars_ticks, aggregate_time_bars)
/// - **portfolio** : Portfolio analytics (portfolio_volatility, beta_full, rolling_beta, drawdown_series, correlation_matrix, relative_strength, spread, zscore_series, compose_weighted)
/// - **signals** : Signal helpers (rank_series, top_n_indices, bottom_n_indices)
#[pymodule]
fn _ferro_ta(m: &Bound<'_, PyModule>) -> PyResult<()> {
pyo3_log::init();
overlap::register(m)?;
momentum::register(m)?;
volume::register(m)?;
volatility::register(m)?;
statistic::register(m)?;
price_transform::register(m)?;
pattern::register(m)?;
cycle::register(m)?;
batch::register(m)?;
streaming::register(m)?;
extended::register(m)?;
math_ops::register(m)?;
resampling::register(m)?;
aggregation::register(m)?;
portfolio::register(m)?;
signals::register(m)?;
alerts::register(m)?;
crypto::register(m)?;
chunked::register(m)?;
regime::register(m)?;
attribution::register(m)?;
Ok(())
}