0.0.1 • Published 1 year ago

@omdr/volatility-tools v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

@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

npm install @omdr/volatility-tools

Included Indicators

Indicator NameDescription
atrAverage True Range (7/14/21) – Measures market volatility
bollingerBandsUpper, Middle, Lower bands based on standard deviation
keltnerChannelsUses ATR instead of std deviation for channel construction
donchianChannelsTracks highest high and lowest low over a period
chaikinVolatilityMeasures volatility based on EMA of price ranges
historicalVolatilityCalculates annualized historical volatility using log returns
ulcerIndexMeasures downside risk or "ulcer" caused by deep drawdowns
relativeVolatilityIndexRSI-like metric using absolute volatility instead of price
annualizedVolatilityConverts standard deviation of returns to annual scale
fractalChaosBandsBands based on highest highs and lowest lows in a fractal window

Usage

After installing the package:

npm install @omdr/volatility-tools

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

// 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


Author & Website

Built with love by Offline Pixel

Follow me for more trading tech magic.


License

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