FAQ > 金融建模 > 建模问题 > 期货相关

Q:如何获取指定期货品种的所有合约代码?    

  • A:

    1、可通过getbkall('板块名')获取该板块的所有历史合约,比如:
    直接过能板块名,获取该品种对应的所有合约,包括历史已到期合约:

    return getbkall('铜');

    通过品种代码获取:

    pzName:=spec(base(708003),'cu');//通过品种代码获取品种名称
    return getbkall(pzName);


    2、用户可使用公用函数GetFuturesID获取指定品种在指定日所有在市交易的合约,函数说明及范例见: 
    FAQ:GetFuturesID

    2021-04-05板块目录调整说明:FAQ:2021-03-23-数据更新-数据更新022:关于天软板块变更的说明
    注:由于2021-04-05日天软板块的更新,下面的方法不再适用,请使用getbkall进行替代:
    2、用户也可以自己编辑函数获得,思路及范例如下:
        第一步:通过 getbk('国内商品期货') 获取所有商品期货合约代码;股指期货所有合约代码,则可用getbk("股指期货")获取,国债期货的可用getbk("国债期货")。
        第二步:通过匹配期货合约代码前两个字母,找出指定期货品种的合约代码。
        以铜为例:
        

        r:= sselect thisrow from getbk('国内商品期货') where thisrow like '^cu' end;
        return r;
        

        返回结果(部分截图):