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
npm install @omdr/volatility-toolsA 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.
---
- 10 Popular Volatility Indicators
- Minimal Dependencies
- Bundled & Minified with esbuild
- TypeScript types supported
- CommonJS & ESModule compatible
---
``bash`
npm install @omdr/volatility-tools
---
| 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 |
---
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.
- Node.js scripts
- Web apps (React, Angular, Vue, etc.)
- VS Code extensions
- Trading dashboards
- Custom strategy engines
---
If you find this useful, you can buy me a ☕:
---
Built with love by Offline Pixel
Follow me for more trading tech magic.
---
MIT — Free to use and extend, commercial or personal.