Skip to content

历史 K 线

getHistoryKline

获取 A 股历史 K 线(日/周/月),数据来源:东方财富。

签名

typescript
getHistoryKline(
  symbol: string,
  options?: {
    period?: 'daily' | 'weekly' | 'monthly';
    adjust?: '' | 'qfq' | 'hfq';
    startDate?: string;
    endDate?: string;
  }
): Promise<HistoryKline[]>

参数

参数类型默认值说明
symbolstring-股票代码,如 '000001''sz000001'
periodstring'daily'K 线周期:'daily' / 'weekly' / 'monthly'
adjuststring'hfq'复权类型:''(不复权)/ 'qfq'(前复权)/ 'hfq'(后复权)
startDatestring-开始日期 YYYYMMDD
endDatestring-结束日期 YYYYMMDD

返回类型

typescript
interface HistoryKline {
  date: string;               // 日期 YYYY-MM-DD
  code: string;               // 股票代码
  open: number | null;        // 开盘价
  close: number | null;       // 收盘价
  high: number | null;        // 最高价
  low: number | null;         // 最低价
  volume: number | null;      // 成交量
  amount: number | null;      // 成交额
  changePercent: number | null;  // 涨跌幅 %
  change: number | null;         // 涨跌额
  amplitude: number | null;      // 振幅 %
  turnoverRate: number | null;   // 换手率 %
}

示例

typescript
// 获取日线(默认后复权)
const dailyKlines = await sdk.getHistoryKline('000001');

// 获取周线,前复权,指定日期范围
const weeklyKlines = await sdk.getHistoryKline('sz000858', {
  period: 'weekly',
  adjust: 'qfq',
  startDate: '20240101',
  endDate: '20241231',
});

weeklyKlines.forEach(k => {
  console.log(`${k.date}: 开 ${k.open} 高 ${k.high} 低 ${k.low} 收 ${k.close}`);
});

getHKHistoryKline

获取港股历史 K 线(日/周/月),数据来源:东方财富。

签名

typescript
getHKHistoryKline(
  symbol: string,
  options?: {
    period?: 'daily' | 'weekly' | 'monthly';
    adjust?: '' | 'qfq' | 'hfq';
    startDate?: string;
    endDate?: string;
  }
): Promise<HKUSHistoryKline[]>

参数

参数类型说明
symbolstring港股代码,5 位数字(如 '00700''09988'

返回类型

typescript
interface HKUSHistoryKline {
  date: string;               // 日期 YYYY-MM-DD
  code: string;               // 股票代码
  name: string;               // 股票名称
  open: number | null;        // 开盘价
  close: number | null;       // 收盘价
  high: number | null;        // 最高价
  low: number | null;         // 最低价
  volume: number | null;      // 成交量
  amount: number | null;      // 成交额
  changePercent: number | null;  // 涨跌幅 %
  change: number | null;         // 涨跌额
  amplitude: number | null;      // 振幅 %
  turnoverRate: number | null;   // 换手率 %
}

示例

typescript
// 获取腾讯控股日 K 线
const klines = await sdk.getHKHistoryKline('00700');

// 获取阿里巴巴周 K 线,前复权
const weeklyKlines = await sdk.getHKHistoryKline('09988', {
  period: 'weekly',
  adjust: 'qfq',
  startDate: '20240101',
  endDate: '20241231',
});

console.log(klines[0].name);   // 腾讯控股
console.log(klines[0].close);  // 收盘价

getUSHistoryKline

获取美股历史 K 线(日/周/月),数据来源:东方财富。

签名

typescript
getUSHistoryKline(
  symbol: string,
  options?: {
    period?: 'daily' | 'weekly' | 'monthly';
    adjust?: '' | 'qfq' | 'hfq';
    startDate?: string;
    endDate?: string;
  }
): Promise<HKUSHistoryKline[]>

参数

参数类型说明
symbolstring美股代码,格式:{market}.{ticker}(如 '105.MSFT''106.BABA'

市场代码

代码说明示例
105纳斯达克105.AAPL105.MSFT105.TSLA
106纽交所106.BABA
107美国其他107.XXX

示例

typescript
// 获取微软日 K 线
const klines = await sdk.getUSHistoryKline('105.MSFT');

// 获取苹果周 K 线,前复权
const weeklyKlines = await sdk.getUSHistoryKline('105.AAPL', {
  period: 'weekly',
  adjust: 'qfq',
  startDate: '20240101',
  endDate: '20241231',
});

console.log(klines[0].name);   // 微软
console.log(klines[0].close);  // 收盘价

// 获取阿里巴巴月 K 线
const monthlyKlines = await sdk.getUSHistoryKline('106.BABA', {
  period: 'monthly',
});

复权说明

类型说明
不复权''原始价格,可能存在跳空缺口
前复权'qfq'以最新价格为基准向前调整,适合技术分析
后复权'hfq'以上市价格为基准向后调整,适合计算真实收益

复权选择建议

  • 技术分析:使用前复权 'qfq',图形连续性更好
  • 收益计算:使用后复权 'hfq',价格反映真实收益
  • 原始数据:使用不复权 '',获取实际成交价格

Released under the ISC License.