indicatorts icon indicating copy to clipboard operation
indicatorts copied to clipboard

IndicatorTS - Stock technical indicators and strategies in TypeScript for browser and server programs.

npm version License Build Status codecov CodeQL Analysis

Indicator TS

Indicator is a TypeScript module providing various stock technical analysis indicators, strategies, and a backtest framework for trading.

This is a clone of my Indicator Go Golang module.

Indicators Provided

The following list of indicators are currently supported by this package:

Trend Indicators

  • Absolute Price Oscillator (APO)
  • Aroon Indicator
  • Balance of Power (BOP)
  • Chande Forecast Oscillator (CFO)
  • Community Channel Index (CCI)
  • Double Exponential Moving Average (DEMA)
  • Exponential Moving Average (EMA)
  • Mass Index (MI)
  • Moving Average Convergence Divergence (MACD)
  • Moving Max (MMAX)
  • Moving Min (MMIN)
  • Moving Sum (MSUM)
  • Parabolic SAR (PSAR)
  • Qstick
  • Random Index (KDJ)
  • Rolling Moving Average (RMA)
  • Simple Moving Average (SMA)
  • Since Change
  • Triple Exponential Moving Average (TEMA)
  • Triangular Moving Average (TRIMA)
  • Triple Exponential Average (TRIX)
  • Typical Price
  • Volume Weighted Moving Average (VWMA)
  • Vortex Indicator

Momentum Indicators

  • Awesome Oscillator (AO)
  • Chaikin Oscillator (CMO)
  • Ichimoku Cloud
  • Percentage Price Oscillator (PPO)
  • Percentage Volume Oscillator (PVO)
  • Price Rate of Change (ROC)
  • Relative Strength Index (RSI)
  • Stochastic Oscillator (STOCH)
  • Williams R (WILLR)

Volatility Indicators

  • Acceleration Bands (AB)
  • Average True Range (ATR)
  • Bollinger Bands (BB)
  • Bollinger Band Width (BBW)
  • Chandelier Exit (CE)
  • Donchian Channel (DC)
  • Keltner Channel (KC)
  • Moving Standard Deviation (MSTD)
  • Projection Oscillator (PO)
  • True Range (TR)
  • Ulcer Index (UI)

Volume Indicators

  • Accumulation/Distribution (AD)
  • Chaikin Money Flow (CMF)
  • Ease of Movement (EMV)
  • Force Index (FI)
  • Money Flow Index (MFI)
  • Negative Volume Index (NVI)
  • On-Balance Volume (OBV)
  • Volume Price Trend (VPT)
  • Volume Weighted Average Price (VWAP)

Strategies Provided

Strategies relies on the following:

  • Asset
    • New Asset with Length
    • Concat Assets
  • Action
    • Reverse Actions
    • Apply Actions
  • Strategy Function
  • Buy and Hold Strategy

The following list of strategies are currently supported by this package:

Trend Strategies

  • Absolute Price Oscillator Strategy
  • Aroon Strategy
  • Balance of Power Strategy
  • Chande Forecast Oscillator Strategy
  • KDJ Strategy
  • MACD Strategy
  • Parabolic SAR Strategy
  • Typical Price Strategy
  • Volume Weighted Moving Average (VWMA) Strategy
  • Vortex Strategy

Momentum Strategies

  • Awesome Oscillator Strategy
  • Ichimoku Cloud Strategy
  • RSI 2 Stategy
  • Stochastic Oscillator Strategy
  • Williams R Strategy

Volatility Strategies

  • Acceleration Bands Strategy
  • Bollinger Bands Strategy
  • Projection Oscillator Strategy

Volume Strategies

  • Chaikin Money Flow Strategy
  • Ease of Movement Strategy
  • Force Index Strategy
  • Money Flow Index Strategy
  • Negative Volume Index Strategy
  • Volume Weighted Average Price Strategy

Backtest

Backtesting is the method for seeing how well a strategy would have done. The following backtesting functions are provided for evaluating strategies.

  • Strategy Info
  • Strategy Result
  • Backtest Function
  • Company Info
  • Company Result
  • Strategy Stats
    • Compute Strategy Stats

Chart

Chart provides an easy way to plot the outcome of the indicators and the strategies.

  • Chart Initialization
  • Data Set
  • Add Data
  • Remove Data
  • Draw Chart

Build

The project can be build from its source through the build command.

npm run build

Usage

Install package.

npm install indicatorts

Import indicator.

import { ao } from 'indicatorts';

const highs = [10, 20, 30, 40];
const lows = [1, 2, 3, 4];

// Awesome Oscillator!
const result = ao(highs, lows);

Disclaimer

The information provided on this project is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security.

License

Copyright (c) 2022 Onur Cinar. All Rights Reserved.

The source code is provided under MIT License.