获取期货 Contract 对象¶
目前没有提供直接获取期货 Contract 对象的方法, 需要用户自己构建。 示例如下:
>>> from tigeropen.trade.domain.contract import Contract
# 通过 Quoteclient 获取某一品种的合约信息。
>>> openapi_client.get_current_future_contract('ES')
contract_code symbol type name contract_month multiplier exchange \
0 ES1903 ES ES SP500指数1903 201903 50.0 GLOBEX
currency first_notice_date last_bidding_close_time last_trading_date trade \
0 USD None None 20190315 True
continuous
0 False
# 自己构建 contract 对象
>>> contract = Contract(symbol='ES',
currency = 'USD',
expiry = '20190315', # 对应 last_trading_date 的数据
multiplier = '50.0',
exchange = 'GLOBEX' # 注意,下单的交易所要使用合约信息中的交易所,不能使用CME
)
这里的contract虽然从get_current_future_contract()函数中可以得到一些信息,但还是要自己构建contract对象。也就是说contract= Contract(sy……)这个语句必须要写,只是这里的内容可以从QuoteClient的get_current_future_contract方法中查询。
另外还需要记录的是,老虎证券对环球账户和模拟账户都开通了期货交易,可以下单没问题,环球账户需要大于2000美金,否则期货不能开仓,只能平仓。目前api模拟账户的期货下单还会报错,正在排查中,原因已找到,模拟账户只能交易美港股,不能买期货(2019年3月29日记)。