Technical Indicators

Technical Indicators API

Calculate common technical indicators including Bollinger Bands, MACD, RSI and more.

MethodEndpointDescription
GET/v1/indicators/bbandsBollinger Bands
GET/v1/indicators/macdMACD
GET/v1/indicators/rsiRSI
GET/v1/indicators/maSimple moving average
GET/v1/indicators/emaExponential moving average
GET/v1/indicators/vwapVWAP
GET/v1/indicators/stochStochastic
GET/v1/indicators/atrATR
GET/v1/indicators/obvOBV
GET/v1/indicators/adxADX

Common Query Parameters

Indicator endpoints support these common parameters:

ParameterTypeDefaultDescription
symbolstringRequired-
start_datestring-Start date (YYYY-MM-DD)
end_datestring-End date (YYYY-MM-DD)
limitint5000Number of records to return

Bollinger Bands

Endpoint

MethodEndpoint
GET/v1/indicators/bbands

Parameters

ParameterTypeRequiredDefaultDescription
symbolstring-Stock code
intervalstring-1dTime interval
timeperiodint-20Calculation period
stdsfloat-2.0Standard deviation multiplier

Try It

GET/v1/indicators/bbands

Code Examples

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/bbands",
    params={
        "symbol": "sz.000001",
        "interval": "1d",
        "timeperiod": 20,
        "stds": 2.0
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"Upper={data['values'][0]['upper_band']}, Middle={data['values'][0]['middle_band']}")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  
  timeperiod: 20,
  stds: 2.0
});

const response = await fetch(
  `https://tickerlab.org/v1/indicators/bbands?${params}`,
  { headers: { 'X-API-Key': API_KEY } }
);

const data = await response.json();
console.log('Bollinger Bands:', data.values[0]);

cURL

curl -G "https://tickerlab.org/v1/indicators/bbands" \
  -H "X-API-Key: your_api_key" \
  -d "symbol=sz.000001" \
  -d "interval=1d" \
  -d "timeperiod=20" \
  -d "stds=2.0"

Response Example

{
  "meta": {"symbol": "sz.000001", "indicator": {"name": "BBANDS"}},
  "values": [
    {"datetime": "2024-01-15", "upper_band": "10.80", "middle_band": "10.50", "lower_band": "10.20"}
  ]
}

MACD

Endpoint

MethodEndpoint
GET/v1/indicators/macd

Parameters

ParameterTypeRequiredDefaultDescription
symbolstring-Stock code
intervalstring-1dTime interval
fastperiodint-12Fast EMA period
slowperiodint-26Slow EMA period
signalperiodint-9Signal line period

Try It

GET/v1/indicators/macd

Code Examples

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/macd",
    params={
        "symbol": "sz.000001",
        "interval": "1d",
        "start_date": "2024-01-01",
        "end_date": "2024-01-31",
        "fastperiod": 12,
        "slowperiod": 26,
        "signalperiod": 9
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
item = data["values"][0]
print(f"MACD={item['macd']}, Signal={item['macd_signal']}, Hist={item['macd_hist']}")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  
  start_date: '2024-01-01',
  end_date: '2024-01-31',
  fastperiod: 12,
  slowperiod: 26,
  signalperiod: 9
});

const response = await fetch(
  `https://tickerlab.org/v1/indicators/macd?${params}`,
  { headers: { 'X-API-Key': API_KEY } }
);

const data = await response.json();
console.log('MACD:', data.values[0]);

cURL

curl -G "https://tickerlab.org/v1/indicators/macd" \
  -H "X-API-Key: your_api_key" \
  -d "symbol=sz.000001" \
  -d "interval=1d" \
  -d "start_date=2024-01-01" \
  -d "end_date=2024-01-31" \
  -d "fastperiod=12" \
  -d "slowperiod=26" \
  -d "signalperiod=9"

Response Example

{
  "meta": {"symbol": "sz.000001", "indicator": {"name": "MACD"}},
  "values": [
    {"datetime": "2024-01-15", "macd": "0.15", "macd_signal": "0.10", "macd_hist": "0.05"}
  ]
}

RSI (Relative Strength Index)

Endpoint

MethodEndpoint
GET/v1/indicators/rsi

Parameters

ParameterTypeRequiredDefaultDescription
symbolstring-Stock code
intervalstring-1dTime interval
timeperiodint-14Calculation period

Try It

GET/v1/indicators/rsi

Code Examples

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/rsi",
    params={
        "symbol": "sz.000001",
        "interval": "1d",
        "timeperiod": 14
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
rsi = float(data["values"][0]["rsi"])
signal = "Overbought" if rsi > 70 else "Oversold" if rsi < 30 else "Neutral"
print(f"RSI={rsi:.2f} ({signal})")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  
  timeperiod: 14
});

const response = await fetch(
  `https://tickerlab.org/v1/indicators/rsi?${params}`,
  { headers: { 'X-API-Key': API_KEY } }
);

const data = await response.json();
const rsi = parseFloat(data.values[0].rsi);
const signal = rsi > 70 ? 'Overbought' : rsi < 30 ? 'Oversold' : 'Neutral';
console.log(`RSI=${rsi.toFixed(2)} (${signal})`);

cURL

curl -G "https://tickerlab.org/v1/indicators/rsi" \
  -H "X-API-Key: your_api_key" \
  -d "symbol=sz.000001" \
  -d "interval=1d" \
  -d "timeperiod=14"

Response Example

{
  "meta": {"symbol": "sz.000001", "indicator": {"name": "RSI"}},
  "values": [
    {"datetime": "2024-01-15", "rsi": "58.75"}
  ]
}

Moving Averages (SMA/EMA)

Endpoint

MethodEndpoint
GET/v1/indicators/ma

Simple moving average endpoint. Use /v1/indicators/ema for exponential moving averages.

Parameters

ParameterTypeRequiredDefaultDescription
symbolstring-Stock code
timeperiodint-20Calculation period
series_typestring-closeData type: close, open, high, low

Try It

GET/v1/indicators/ma

Code Examples

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/ma",
    params={
        "symbol": "sz.000001",
        "timeperiod": 20,
        "series_type": "close",
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"SMA20: {data['values'][0]['sma']}")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  timeperiod: 20,
  series_type: 'close',
  apikey: API_KEY
});

const response = await fetch(`https://tickerlab.org/v1/indicators/ma?${params}`, {
  headers: { "X-API-Key": API_KEY }
});
const data = await response.json();
console.log('SMA20:', data.values[0].sma);

cURL

curl -G "https://tickerlab.org/v1/indicators/ma" \
  -H "X-API-Key: your_api_key" \
  -d "symbol=sz.000001" \
  -d "timeperiod=20" \
  -d "series_type=close"

Response Example

{
  "meta": {"symbol": "sz.000001", "indicator": {"name": "SMA"}},
  "values": [
    {"datetime": "2024-01-15", "sma": "10.35"}
  ]
}

Signal Interpretation

IndicatorOverboughtOversoldDescription
RSI> 70< 30Relative strength
MACDDIF > DEADIF < DEATrend direction
BollingerAbove upperBelow lowerVolatility range

VWAP (Volume Weighted Average Price)

Endpoint

MethodEndpoint
GET/v1/indicators/vwap

Parameters

ParameterTypeRequiredDescription
symbolstringCode
intervalstring-Interval (default 1d)

Code Examples

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/vwap",
    params={
        "symbol": "sz.000001",
        "interval": "1d"
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
# Get latest VWAP value
latest = data["values"][0]
print(f"Date: {latest['datetime']}, VWAP: {latest['vwap']}")

JavaScript

const API_KEY = 'your_api_key';

const response = await fetch(
  "https://tickerlab.org/v1/indicators/vwap?symbol=sz.000001",
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('Latest VWAP:', data.values[0].vwap);

cURL

```bash
curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/vwap?symbol=sz.000001"

Response Example

{
  "meta": {
    "symbol": "sz.000001",
    "indicator": { "name": "VWAP" }
  },
  "values": [
    {
      "datetime": "2024-03-20 15:00:00",
      "vwap": 10.45
    },
    {
      "datetime": "2024-03-19 15:00:00",
      "vwap": 10.38
    }
  ]
}

Stochastic

Endpoint

MethodEndpoint
GET/v1/indicators/stoch

Parameters

ParameterTypeDefaultDescription
fastk_periodint14Fast K period
slowk_periodint3Slow K period
slowd_periodint3Slow D period

Code Examples

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/stoch",
    params={
        "symbol": "sz.000001",
        "fastk_period": 14,
        "slowk_period": 3,
        "slowd_period": 3
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
k_value = data['values'][0]['slowk']
d_value = data['values'][0]['slowd']
print(f"SlowK: {k_value}, SlowD: {d_value}")

JavaScript

const API_KEY = 'your_api_key';

const params = new URLSearchParams({
  symbol: 'sz.000001',
  fastk_period: 14,
  slowk_period: 3,
  slowd_period: 3
});

const response = await fetch(
  `https://tickerlab.org/v1/indicators/stoch?${params}`,
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('Stoch K/D:', data.values[0]);

cURL

curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/stoch?symbol=sz.000001&fastk_period=14"

Response Example

{
  "meta": {
    "symbol": "sz.000001",
    "indicator": {
      "name": "STOCH",
      "k_period": 14,
      "d_period": 3
    }
  },
  "values": [
    {
      "datetime": "2024-03-20 00:00:00",
      "slowk": 75.5,
      "slowd": 70.2
    },
    {
      "datetime": "2024-03-19 00:00:00",
      "slowk": 68.4,
      "slowd": 65.1
    }
  ]
}

ATR (Average True Range)

Endpoint

MethodEndpoint
GET/v1/indicators/atr

Parameters

ParameterTypeDefaultDescription
timeperiodint14Calculation period

Code Examples

Python

import requests

API_KEY = "your_api_key"

# Calculate ATR
response = requests.get(
    "https://tickerlab.org/v1/indicators/atr",
    params={
        "symbol": "sh.600519",
        "timeperiod": 14
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"Current Volatility (ATR): {data['values'][0]['atr']}")

JavaScript

const API_KEY = 'your_api_key';

const response = await fetch(
  "https://tickerlab.org/v1/indicators/atr?symbol=sh.600519&timeperiod=14",
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('ATR:', data.values[0].atr);

cURL

curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/atr?symbol=sh.600519&timeperiod=14"

Response Example

{
  "meta": {
    "symbol": "sh.600519",
    "indicator": { "name": "ATR", "period": 14 }
  },
  "values": [
    {
      "datetime": "2024-03-20 00:00:00",
      "atr": 1250.50
    },
    {
      "datetime": "2024-03-19 00:00:00",
      "atr": 1200.30
    }
  ]
}

OBV (On Balance Volume)

Endpoint

MethodEndpoint
GET/v1/indicators/obv

Parameters

ParameterTypeRequiredDescription
symbolstringCode

Code Examples

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/obv",
    params={"symbol": "sz.000001"},
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"OBV: {data['values'][0]['obv']}")

JavaScript

const API_KEY = 'your_api_key';

const response = await fetch(
  "https://tickerlab.org/v1/indicators/obv?symbol=sz.000001",
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('OBV:', data.values[0].obv);

cURL

```bash
curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/obv?symbol=sz.000001"

Response Example

{
  "meta": {
    "symbol": "sz.000001",
    "indicator": { "name": "OBV" }
  },
  "values": [
    {
      "datetime": "2024-03-20 15:00:00",
      "obv": 58000000.0
    },
    {
      "datetime": "2024-03-19 15:00:00",
      "obv": 55000000.0
    }
  ]
}

ADX (Average Directional Index)

Endpoint

MethodEndpoint
GET/v1/indicators/adx

Parameters

ParameterTypeDefaultDescription
timeperiodint14Calculation period

Code Examples

Python

import requests

API_KEY = "your_api_key"

response = requests.get(
    "https://tickerlab.org/v1/indicators/adx",
    params={
        "symbol": "sz.000001",
        "timeperiod": 14
    },
    headers={"X-API-Key": API_KEY}
)

data = response.json()
print(f"ADX Trend Strength: {data['values'][0]['adx']}")

JavaScript

const API_KEY = 'your_api_key';

const response = await fetch(
  "https://tickerlab.org/v1/indicators/adx?symbol=sz.000001",
  { headers: { "X-API-Key": API_KEY } }
);

const data = await response.json();
console.log('ADX:', data.values[0].adx);

cURL

```bash
curl -H "X-API-Key: your_key" \
  "https://tickerlab.org/v1/indicators/adx?symbol=sz.000001"

Response Example

{
  "meta": {
    "symbol": "sz.000001",
    "indicator": { "name": "ADX", "period": 14 }
  },
  "values": [
    {
      "datetime": "2024-03-20 15:00:00",
      "adx": 35.5
    },
    {
      "datetime": "2024-03-19 15:00:00",
      "adx": 32.1
    }
  ]
}