掘金社区

主力合约对应的月份合约 GetContinuousContractsPinned highlighted

zhuyeaini 发表在策略研究 2019-01-28 14:12:24

策略研究
215
7
0

你好:
GetContinuousContracts该函数在模拟盘里面无法获取当前日期主力合约对应的月份合约,只能获取前几天的,这就没法跑模拟盘,因为不知道当前是哪个月份合约了。
GMData<DataTable> ds = GMApi.GetContinuousContracts("CZCE.SR", "2019-01-25", "2019-01-28");
data直接返回null

        GMData<DataTable> ds = GMApi.GetContinuousContracts("CZCE.SR", "2019-01-24", "2019-01-28");

data有一个数据,有什么函数能获取当前日期主力合约对应的月份合约吗

评论: 7
  • 当前的主力合约需要自己判断,主力合约是掘金生成的,为了方便做历史回测。

    2019-01-28 14:25:47
  • 能获取到24日的,一般主力也不会频繁切换,您可以获取最近日期的就行,不知道掘金后台主力怎么定义的,以及数据更新时间是什么。

    tData = get_continuous_contracts({'CZCE.SR'}, '2019-01-10', '2019-01-28');

    'symbol' 'created_at'
    'CZCE.SR905' '2019-01-10'
    'CZCE.SR905' '2019-01-11'
    'CZCE.SR905' '2019-01-12'
    'CZCE.SR905' '2019-01-13'
    'CZCE.SR905' '2019-01-14'
    'CZCE.SR905' '2019-01-15'
    'CZCE.SR905' '2019-01-16'
    'CZCE.SR905' '2019-01-17'
    'CZCE.SR905' '2019-01-18'
    'CZCE.SR905' '2019-01-19'
    'CZCE.SR905' '2019-01-20'
    'CZCE.SR905' '2019-01-21'
    'CZCE.SR905' '2019-01-22'
    'CZCE.SR905' '2019-01-23'
    'CZCE.SR905' '2019-01-24'

    2019-01-28 14:51:23
  • 主力不用频繁检测,获取最近日期的就行。

    2019-01-28 14:52:01
  • @tzxt 后台需要根据当天收盘后的总持仓数据,才能确定当日的主力合约,数据一般是滞后的

    2019-01-28 15:37:30
  • @技术支持1 每天股票和期货的收盘价后台服务器都是几点更新? 18点?

    2019-01-28 21:36:50
  • @tzxt 一般是19点

    2019-01-31 09:23:06
  • def getSymbolContinuousContracts(self,startDate,endDate):
    #获取一定时间范围内每天的主力交易合约代码
    symContinuousContracts = get_continuous_contracts(self.symbol,startDate, endDate)
    contracts=[]
    for sym in symContinuousContracts:
    #print(sym['trade_date'],sym['symbol'])
    if (len(contracts)==0):
    symbolinfo={}
    symbolinfo['symbol']=sym['symbol']
    symbolinfo['start_date']=sym['trade_date']
    symbolinfo['end_date']=sym['trade_date']
    contracts.append(symbolinfo)
    elif (contracts[len(contracts)-1]['symbol']==sym['symbol']):
    contracts[len(contracts)-1]['end_date']=sym['trade_date']
    else:
    symbolinfo={}
    symbolinfo['symbol']=sym['symbol']
    symbolinfo['start_date']=sym['trade_date']
    symbolinfo['end_date']=sym['trade_date']
    contracts.append(symbolinfo)
    return contracts
    自己写函数获取合约代码及止时间。

    2019-02-02 16:16:43
相关阅读
  • 问题反馈主力合约换月
  • 策略研究主力合约策略优化
  • Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.