Skip to content

MA (Moving Average)

Moving Average calculation functions.

Usage in getKlineWithIndicators

typescript
const data = await sdk.getKlineWithIndicators('sz000858', {
  indicators: {
    ma: { periods: [5, 10, 20, 60] }
  }
});

data.forEach(k => {
  console.log(`MA5: ${k.ma?.ma5}, MA10: ${k.ma?.ma10}`);
});

Manual Calculation

typescript
import { calcMA, calcSMA, calcEMA, calcWMA } from 'stock-sdk';

const closes = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19];

// Simple Moving Average
const sma5 = calcSMA(closes, 5);

// Exponential Moving Average
const ema5 = calcEMA(closes, 5);

// Weighted Moving Average
const wma5 = calcWMA(closes, 5);

// Generic MA with type
const ma = calcMA(closes, 5, 'sma'); // 'sma' | 'ema' | 'wma'

Formula

SMA (Simple Moving Average) $$SMA = \frac{\sum_{i=1}^{n} P_i}{n}$$

EMA (Exponential Moving Average) $$EMA_t = \alpha \times P_t + (1 - \alpha) \times EMA_{t-1}$$

Where $\alpha = \frac{2}{n + 1}$

WMA (Weighted Moving Average) $$WMA = \frac{\sum_{i=1}^{n} (w_i \times P_i)}{\sum_{i=1}^{n} w_i}$$

Released under the ISC License.