Metadata-Version: 2.4
Name: fsb-core
Version: 0.4.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Financial :: Investment
Summary: Native Rust indicator and equity helpers for ForexSmartBot (PyO3)
Keywords: forex,indicators,backtest,pyo3,rust
Author-email: VoxHash <contact@voxhash.dev>
License: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/VoxHash/ForexSmartBot
Project-URL: Issues, https://github.com/VoxHash/ForexSmartBot/issues
Project-URL: Repository, https://github.com/VoxHash/ForexSmartBot

# fsb_core

Optional Rust (PyO3) extension for ForexSmartBot indicator and equity hot paths.

**0.4.0** adds EMA + MACD indicators and EMA/MACD crossover equity sweeps (on top of 0.3.x RSI mean-reversion and 0.2.x SMA walk-forward / multi-symbol workers).

## Build

```bash
# Requires rustup + maturin
pip install maturin
maturin develop --release
```

## Smoke test

```bash
python -c "import fsb_core; print(fsb_core.__version__, fsb_core.ema([1,2,3,4,5], 3))"
python -c "from forexsmartbot.utils.native_indicators import sweep_ema_crossover, sweep_macd; import numpy as np; c=np.linspace(1.1,1.2,200); print(sweep_ema_crossover(c,[5,8],[15,20]).shape, sweep_macd(c,[8],[17],[5]).shape)"
```

Python wrappers with NumPy fallback live in `forexsmartbot.utils.native_indicators`.

