Skip to content

Futures ​

getFuturesKline ​

Get domestic futures historical K-line (daily/weekly/monthly). Data source: Eastmoney.

Supports all varieties from SHFE, DCE, CZCE, INE, CFFEX, and GFEX exchanges.

Signature ​

typescript
getFuturesKline(
  symbol: string,
  options?: {
    period?: 'daily' | 'weekly' | 'monthly';
    startDate?: string;
    endDate?: string;
  }
): Promise<FuturesKline[]>

Parameters ​

ParameterTypeDefaultDescription
symbolstring-Contract code, e.g. 'rb2605' (specific) or 'RBM' (main continuous)
periodstring'daily'K-line period: 'daily' / 'weekly' / 'monthly'
startDatestring-Start date YYYYMMDD
endDatestring-End date YYYYMMDD

Symbol Format ​

FormatDescriptionExample
variety + contract monthSpecific contractrb2605, IF2604, TA509
variety + MMain continuous contractRBM, IFM, TAM, scM

Return Type ​

typescript
interface FuturesKline {
  date: string;               // Date YYYY-MM-DD
  code: string;               // Contract code
  name: string;               // Contract name
  open: number | null;        // Open price
  close: number | null;       // Close price
  high: number | null;        // High price
  low: number | null;         // Low price
  volume: number | null;      // Volume
  amount: number | null;      // Turnover
  amplitude: number | null;   // Amplitude %
  changePercent: number | null;  // Change %
  change: number | null;         // Change amount
  turnoverRate: number | null;   // Turnover rate %
  openInterest: number | null;   // Open interest
}

Example ​

typescript
// Get rebar main continuous daily K-line
const klines = await sdk.getFuturesKline('RBM');

// Get CSI 300 futures specific contract weekly K-line
const weeklyKlines = await sdk.getFuturesKline('IF2604', {
  period: 'weekly',
  startDate: '20250101',
});

klines.forEach(k => {
  console.log(`${k.date}: close ${k.close} OI ${k.openInterest}`);
});

getGlobalFuturesSpot ​

Get global futures real-time quotes (COMEX, NYMEX, CBOT, SGX, NYBOT, LME, MDEX, TOCOM, IPE). Data source: Eastmoney.

Signature ​

typescript
getGlobalFuturesSpot(
  options?: {
    pageSize?: number;
  }
): Promise<GlobalFuturesQuote[]>

Return Type ​

typescript
interface GlobalFuturesQuote {
  code: string;               // Contract code
  name: string;               // Name
  price: number | null;       // Latest price
  change: number | null;      // Change amount
  changePercent: number | null;  // Change %
  open: number | null;        // Open
  high: number | null;        // High
  low: number | null;         // Low
  prevSettle: number | null;  // Previous settlement price
  volume: number | null;      // Volume
  buyVolume: number | null;   // Buy volume
  sellVolume: number | null;  // Sell volume
  openInterest: number | null;   // Open interest
}

Example ​

typescript
const quotes = await sdk.getGlobalFuturesSpot();
quotes.forEach(q => {
  console.log(`${q.name} (${q.code}): ${q.price} ${q.changePercent}%`);
});

getGlobalFuturesKline ​

Get global futures historical K-line (daily/weekly/monthly). Data source: Eastmoney.

Signature ​

typescript
getGlobalFuturesKline(
  symbol: string,
  options?: {
    period?: 'daily' | 'weekly' | 'monthly';
    startDate?: string;
    endDate?: string;
    marketCode?: number;
  }
): Promise<FuturesKline[]>

Parameters ​

ParameterTypeDefaultDescription
symbolstring-Contract code, e.g. 'HG00Y' (COMEX copper continuous)
periodstring'daily'K-line period
marketCodenumber-Eastmoney market code (for varieties not built-in)

Built-in Varieties ​

ExchangeVarietiesMarket Code
COMEXHG, GC, SI, QI, QO, MGC101
NYMEXCL, NG, RB, HO, PA, PL102
CBOTZW, ZM, ZS, ZC, ZL, ZR, YM, NQ, ES103
NYBOTSB, CT108
LMELCPT, LZNT, LALT109

Example ​

typescript
// Get COMEX copper continuous daily K-line
const klines = await sdk.getGlobalFuturesKline('HG00Y');

// Get NYMEX crude oil weekly K-line
const oilKlines = await sdk.getGlobalFuturesKline('CL00Y', {
  period: 'weekly',
  startDate: '20250101',
});

getFuturesInventorySymbols ​

Get futures inventory symbol list. Data source: Eastmoney Data Center.

Signature ​

typescript
getFuturesInventorySymbols(): Promise<FuturesInventorySymbol[]>

Return Type ​

typescript
interface FuturesInventorySymbol {
  code: string;       // Variety code
  name: string;       // Variety name
  marketCode: string; // Market code
}

Example ​

typescript
const symbols = await sdk.getFuturesInventorySymbols();
symbols.forEach(s => {
  console.log(`${s.name} (${s.code})`);
});

getFuturesInventory ​

Get futures inventory data. Data source: Eastmoney Data Center.

Signature ​

typescript
getFuturesInventory(
  symbol: string,
  options?: {
    startDate?: string;
    pageSize?: number;
  }
): Promise<FuturesInventory[]>

Parameters ​

ParameterTypeDefaultDescription
symbolstring-Variety code (from getFuturesInventorySymbols)
startDatestring'2020-10-28'Start date YYYY-MM-DD

Return Type ​

typescript
interface FuturesInventory {
  code: string;             // Variety code
  date: string;             // Date
  inventory: number | null; // Inventory
  change: number | null;    // Change
}

Example ​

typescript
const inventory = await sdk.getFuturesInventory('rb');
inventory.forEach(item => {
  console.log(`${item.date}: inventory ${item.inventory} change ${item.change}`);
});

getComexInventory ​

Get COMEX gold/silver inventory data. Data source: Eastmoney Data Center.

Signature ​

typescript
getComexInventory(
  symbol: 'gold' | 'silver',
  options?: {
    pageSize?: number;
  }
): Promise<ComexInventory[]>

Parameters ​

ParameterTypeDescription
symbolstring'gold' or 'silver'

Return Type ​

typescript
interface ComexInventory {
  date: string;                // Date
  name: string;                // Variety name
  storageTon: number | null;   // Storage (tons)
  storageOunce: number | null; // Storage (ounces)
}

Example ​

typescript
// Get COMEX gold inventory
const goldInventory = await sdk.getComexInventory('gold');
goldInventory.forEach(item => {
  console.log(`${item.date}: ${item.storageTon} tons`);
});

// Get COMEX silver inventory
const silverInventory = await sdk.getComexInventory('silver');

Released under the ISC License.