如何取得過去的期貨資料

回覆文章
stm
文章: 8
註冊時間: 2021-09-01, 19:04

如何取得過去的期貨資料

文章 stm »

因為 API 的 Contracts 在換月之後就不會再有之前月份的合約,此時便無法取得歷史資料。
不過我們仍然可以自己將合約組起來,便可使用 ticks() 查詢。
以下是範例:

代碼: 選擇全部

import shioaji as sj

mxf08 = sj.contracts.Future(
    code='MXFH1',
    symbol='MXF202108',
    name='小型臺指',
    category='MXF',
    delivery_month='202108',
    underlying_kind='H',
    # 以下亂寫一通
    unit=1,
    limit_up=19000.0,
    limit_down=3000.0,
    reference=10000.0,
    update_date=datetime.datetime.now().strftime('%Y/%m/%d')
  )

ticks = api.ticks(
    contract=mxf08,
    date='2021-08-02',
    query_type='RangeTime',
    time_start='09:00:00',
    time_end='13:30:00'
  )
elsonly
文章: 18
註冊時間: 2021-09-01, 14:02

Re: 如何取得過去的期貨資料

文章 elsonly »

已新增期貨連續合約(國內商品期貨)
期貨連續合約結尾代碼為R1(近月)、R2(次進月),如TXFR1, TXFR2
僅開放kbars, ticks使用,snapshots, 下單功能暫時無法使用
連續合約連結時間點為: 結算日13:30:00
連續合約無價差調整

代碼: 選擇全部

contract = api.Contracts.Futures.TXF['TXFR1']
kbars = api.kbars(contract, start="2021-08-01", end="2021-09-10")
ticks = api.ticks(contract, date="2021-09-10")
Hungry
文章: 3
註冊時間: 2021-10-04, 21:51

Re: 如何取得過去的期貨資料

文章 Hungry »

請問可以提供C#的範例嗎
我試著從

代碼: 選擇全部

 shioajiApi.Contracts.Future 
回來的資料進行欄位修改
可是出現 沒有 "delivery_month" "underlying_kind" 欄位的錯誤
stm
文章: 8
註冊時間: 2021-09-01, 19:04

Re: 如何取得過去的期貨資料

文章 stm »

抱歉我沒有使用 C# 無法給你答案 XD

不過
已新增期貨連續合約(國內商品期貨)
期貨連續合約結尾代碼為R1(近月)、R2(次進月),如TXFR1, TXFR2
你要不要直接試這個 lol
Hungry
文章: 3
註冊時間: 2021-10-04, 21:51

Re: 如何取得過去的期貨資料

文章 Hungry »

好的
使用R1沒問題的獲取歷史沒問題
感謝大大!
回覆文章