# 獲取歷史 K 線

request_history_kline(code, start=None, end=None, ktype=KLType.K_DAY, autype=AuType.QFQ, fields=[KL_FIELD.ALL], max_count=1000, page_req_key=None, extended_time=False)

  • 介紹

    獲取歷史 K 線

  • 參數

    參數 類型 説明
    code str 股票代碼
    start str 開始時間
    end str 結束時間
    ktype KLType K 線類型
    autype AuType 復權類型
    fields KLFields 需返回的欄位列表
    max_count int 本次請求最大返回的 K 線根數
    page_req_key bytes 分頁請求
    extended_time bool 是否允許美股盤前盤後數據
    • start 和 end 的組合如下
      Start 類型 End 類型 説明
      str str start 和 end 分別為指定的日期
      None str start 為 end 往前 365 天
      str None end 為 start 往後 365 天
      None None end 為當前日期,start 往前 365 天
  • 返回

    參數 類型 説明
    ret RET_CODE 介面呼叫結果
    data pd.DataFrame 當 ret == RET_OK,返回歷史 K 線數據
    str 當 ret != RET_OK,返回錯誤描述
    page_req_key bytes 下一頁請求的 key
    • 歷史 K 線數據格式如下:
      欄位 類型 説明
      code str 股票代碼
      name str 股票名稱
      time_key str K 線時間
      open float 開盤價
      close float 收盤價
      high float 最高價
      low float 最低價
      pe_ratio float 市盈率
      turnover_rate float 換手率
      volume int 成交量
      turnover float 成交額
      change_rate float 漲跌幅
      last_close float 昨收價
  • Example

from moomoo import *
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
ret, data, page_req_key = quote_ctx.request_history_kline('US.AAPL', start='2019-09-11', end='2019-09-18', max_count=5, session=Session.ALL)  # 每頁5個,請求第一頁
if ret == RET_OK:
    print(data)
    print(data['code'][0])    # 取第一條的股票代碼
    print(data['close'].values.tolist())   # 第一頁收盤價轉為 list
else:
    print('error:', data)
while page_req_key != None:  # 請求後面的所有結果
    print('*************************************')
    ret, data, page_req_key = quote_ctx.request_history_kline('US.AAPL', start='2019-09-11', end='2019-09-18', max_count=5, page_req_key=page_req_key, session=Session.ALL) # 請求翻頁後的數據
    if ret == RET_OK:
        print(data)
    else:
        print('error:', data)
print('All pages are finished!')
quote_ctx.close() # 結束後記得關閉當條連線,防止連線條數用盡
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  • Output
code  name             time_key       open      close       high        low  pe_ratio  turnover_rate    volume      turnover  change_rate  last_close
0  US.AAPL   蘋果  2019-09-11 00:00:00  52.631194  53.963447  53.992409  52.549135    18.773        0.01039  177158584  9.808562e+09     3.179511   52.300545
..       ...   ...                  ...        ...        ...        ...        ...       ...            ...       ...           ...          ...         ...
4  US.AAPL   蘋果  2019-09-17 00:00:00  53.087346  53.265945  53.294907  52.884612    18.530        0.00432   73545872  4.046314e+09     0.363802   53.072865

[5 rows x 13 columns]
US.AAPL
[53.9634465, 53.84156475, 52.7953125, 53.072865, 53.265945]
*************************************
       code  name             time_key       open      close       high        low  pe_ratio  turnover_rate   volume      turnover  change_rate  last_close
0  US.AAPL   蘋果  2019-09-18 00:00:00  53.352831  53.76554  53.784847  52.961844    18.704        0.00602  102572372  5.682068e+09     0.937925   53.265945
All pages are finished!
1
2
3
4
5
6
7
8
9
10
11
12

介面限制

  • 分 K 提供最近 8 年數據,日 K 提供最近 20 年的數據,日 K 以上不限制。
  • 我們會根據您賬戶的資產和交易的情況,下發歷史 K 線額度。因此,30 天內您只能獲取有限只股票的歷史 K 線數據。具體規則參見 訂閲額度 & 歷史 K 線額度。您當日消耗的歷史 K 線額度,會在 30 天后自動釋放。
  • 每 30 秒內最多請求 60 次歷史 K 線介面。注意:如果您是分頁獲取數據,此限頻規則僅適用於每隻股票的首頁,後續頁請求不受限頻規則的限制。
  • 換手率,僅提供日 K 及以上級別。
  • 期權,僅提供日K, 1分K,5分K,15分K,60分K。
  • 美股 盤前、盤後、夜盤 K 線,僅支援 60 分鐘及以下級別。由於美股盤前盤後和夜盤時段為非常規交易時段,此時段的 K 線數據可能不足 2 年。
  • 美股的 成交額,僅提供 2015-10-12 之後的數據。