npm package: @omdr/volatility-tools
Description: A lightweight collection of volatility indicators designed for real-time stock market analysis and algorithmic trading. This package includes core volatility tools like ATR, Bollinger Bands, Keltner Channels, Donchian Channels, Chaikin Volatility, and mor
Author: OM
Latest version: 0.0.1

# @omdr/volatility-tools

A lightweight collection of volatility indicators designed for real-time stock market analysis and algorithmic trading. This package includes core volatility tools like ATR, Bollinger Bands, Keltner Channels, Donchian Channels, Chaikin Volatility, and more.

> Perfect for integrating into trading bots, dashboards, or analytical pipelines.

---

## Features

- 10 Popular Volatility Indicators
- Minimal Dependencies
- Bundled & Minified with esbuild
- TypeScript types supported
- CommonJS & ESModule compatible

---

## Installation

```bash
npm install @omdr/volatility-tools
```

---
 
## Included Indicators

| Indicator Name             | Description                                                             |
|---------------------------|-------------------------------------------------------------------------|
| `atr`                     | Average True Range (7/14/21) – Measures market volatility                |
| `bollingerBands`          | Upper, Middle, Lower bands based on standard deviation                  |
| `keltnerChannels`         | Uses ATR instead of std deviation for channel construction               |
| `donchianChannels`        | Tracks highest high and lowest low over a period                        |
| `chaikinVolatility`       | Measures volatility based on EMA of price ranges                        |
| `historicalVolatility`    | Calculates annualized historical volatility using log returns           |
| `ulcerIndex`              | Measures downside risk or "ulcer" caused by deep drawdowns              |
| `relativeVolatilityIndex`| RSI-like metric using absolute volatility instead of price              |
| `annualizedVolatility`    | Converts standard deviation of returns to annual scale                  |
| `fractalChaosBands`       | Bands based on highest highs and lowest lows in a fractal window        |

---
## Usage

After installing the package:

```bash
npm install @omdr/volatility-tools
```

You can import and use any of the included volatility tools like so:

```js
// index.js or your main file
const {
  atr,
  bollingerBands,
  keltnerChannels,
  donchianChannels,
  chaikinVolatility,
  historicalVolatility,
  ulcerIndex,
  relativeVolatilityIndex,
  annualizedVolatility,
  fractalChaosBands
} = require('@omdr/volatility-tools');

// Example: Calculate 14-period ATR
const priceData = [
  { high: 120, low: 115, close: 118 },
  { high: 122, low: 117, close: 121 },
  { high: 123, low: 119, close: 122 },
  // ... more bars
];

const atr14 = atr(priceData, 14);
console.log('ATR(14):', atr14);

// Example: Calculate Bollinger Bands
const closingPrices = [120, 121, 122, 124, 125, 123, 122, 121, 120, 122];
const bb = bollingerBands(closingPrices, 20, 2);
console.log('Bollinger Bands:', bb);
```

You can use the rest of the tools in a similar manner. Each function is pure and expects an array of price data with the relevant fields (`close`, `high`, `low`), depending on the indicator.



## Designed For

- Node.js scripts
- Web apps (React, Angular, Vue, etc.)
- VS Code extensions
- Trading dashboards
- Custom strategy engines

---

## 🙌 Support This Project

If you find this useful, you can buy me a ☕:

[👉 Support via PayPal](https://www.paypal.me/dranolia)

---

## Author & Website

Built with love by [Offline Pixel](https://offline-pixel.github.io/)

Follow me for more trading tech magic.

---

## License

MIT — Free to use and extend, commercial or personal.