1. 程式人生 > 其它 >history_n - 查詢歷史行情最新n條

history_n - 查詢歷史行情最新n條

函式原型:

  1. history_n(symbol, frequency, count, end_time=None, fields=None, skip_suspended=True,
  2. fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=False)

引數:

引數名型別說明
symbol str 標的程式碼(只允許單個標的的程式碼字串),使用時參考symbol
frequency str 頻率, 支援 ‘tick’, ‘1d’, ‘15s’, ‘30s’ 等,詳情見股票行情資料期貨行情資料
count int 數量(正整數)
end_time str or datetime.datetime 結束時間 (%Y-%m-%d %H:%M:%S 格式), 也支援datetime.datetime格式
fields str 指定返回物件欄位, 如有多個欄位, 中間用,隔開, 預設所有,
具體欄位見:股票欄位,期貨欄位
skip_suspended bool 是否跳過停牌, 預設跳過
fill_missing str or None 填充方式,None- 不填充,'NaN'- 用空值填充,'Last'- 用上一個值填充, 預設None
adjust int ADJUST_NONE or 0: 不復權
,ADJUST_PREV or 1: 前復權,ADJUST_POST or 2: 後復權預設不復權 , 目前只支援股票
adjust_end_time str 復權基點時間, 預設當前時間
df bool 是否返回dataframe 格式, 預設False, 返回list[dict]

返回值:

當df = True時,返回

型別說明
dataframe tick的dataframe 或者 bar的dataframe

示例1:

  1. history_n_data = history_n(symbol='SHSE.600519', frequency='1d', count=100, end_time='2020-10-20 15:30:00', fields='symbol, open, close, low, high, eob', adjust=ADJUST_PREV, df=True)

輸出1:

  1. symbol open ... high eob
  2. 0 SHSE.600519 1350.2278 ... 1350.3265 2020-05-22 00:00:00+08:00
  3. 1 SHSE.600519 1314.6434 ... 1350.8010 2020-05-25 00:00:00+08:00
  4. 2 SHSE.600519 1354.0629 ... 1354.1321 2020-05-26 00:00:00+08:00
  5. 3 SHSE.600519 1343.3086 ... 1344.2970 2020-05-27 00:00:00+08:00
  6. 4 SHSE.600519 1322.5214 ... 1331.3878 2020-05-28 00:00:00+08:00

當df = False時, 返回

型別說明
list tick 列表 或者 bar 列表

示例2:

1 history_n_data = history_n(symbol='SHSE.600519', frequency='1d', count=2, end_time='2020-10-20 15:30:00', fields='symbol, open, close, low, high, eob', adjust=ADJUST_PREV, df=False)

輸出2:

  1. [{'symbol': 'SHSE.600519', 'open': 1725.0, 'close': 1699.0, 'low': 1691.9000244140625, 'high': 1733.97998046875, 'eob': datetime.datetime(2020, 10, 19, 0, 0, tzinfo=tzfile('PRC'))}, {'symbol': 'SHSE.600519', 'open': 1699.989990234375, 'close': 1734.0, 'low': 1695.0, 'high': 1734.969970703125, 'eob': datetime.datetime(2020, 10, 20, 0, 0, tzinfo=tzfile('PRC'))}]

注意:

1.返回的list/DataFrame是以引數eob/bob的升序來排序的

2.若輸入無效標的程式碼,返回空列表/空DataFrame

3.若輸入程式碼正確,但查詢欄位包含無效欄位,返回的列表、DataFrame只包含
eob、symbol和輸入的其他有效欄位

4.end_time中月,日,時,分,秒均可以只輸入個位數,例:'2017-7-30 20:0:20',但若對應位置為零,則0不可被省略,如不可輸入'2017-7-30 20: :20'

5.skip_suspended 和 fill_missing 引數暫不支援

6.單次返回資料量最大返回33000, 超出部分不返回

7.start_time和end_time輸入不存在日期時,會報錯details = “Can’t parse string as time: 2020-10-40 15:30:00”