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

Q:期货代码、名称(连续合约、主力合约、指数合约)编制规则    

  • A: 商品期货代码的编码规则:
    商品期货的编码规则:“品种”+合约到期年份+合约到期月份;
    商品期货主力合约代码(主力线是昨持仓最大的合约)为ZL+8位数字,商品期指数线的代码为QI+8位数字。
    商品期货连续线一般有5个:连续、连一、连二、连三、连四,在天软的合约代码规则是:LX+交易代码+00/01/02/03/04
        连续:当月合约的连续; 
        连一:当月合约后第一个合约的连续; 
        连二:当月合约后第二个合约的连续; 
        连三:当月合约后第三个合约的连续; 
        连四:当月合约后第四个合约的连续。 


    商品期货品种与主力/连续合约的对照表-较早期的品种代码列表:
    品种名称品种代码原品种代码主力合约代码指数线代码连续连一连二连三连四品种代码更换说明
    沪铝alZL000001QI000001LXAL00LXAL01LXAL02LXAL03LXAL04
    沪黄金auZL000002QI000002LXAU00LXAU01LXAU02LXAU03LXAU04
    沪铜cuZL000003QI000003LXCU00LXCU01LXCU02LXCU03LXCU04
    沪燃油fuZL000004QI000004LXFU00LXFU01LXFU02LXFU03LXFU04
    沪天胶ruZL000005QI000005LXRU00LXRU01LXRU02LXRU03LXRU04
    沪锌znZL000006QI000006LXZN00LXZN01LXZN02LXZN03LXZN04
    郑棉一CFZL000007QI000007LXCF00LXCF01LXCF02LXCF03LXCF04
    郑菜籽油OIROZL000009QI000009LXRO00LXRO01LXRO02LXRO03LXRO04从合约OI1307开始更换,上市日为2012-08-06
    郑白糖SRZL000010QI000010LXSR00LXSR01LXSR02LXSR03LXSR04
    郑甲酸TAZL000011QI000011LXTA00LXTA01LXTA02LXTA03LXTA04
    郑强麦WHWSZL000012QI000012LXWS00LXWS01LXWS02LXWS03LXWS04从合约WH1307开始更换,上市日为2012-07-24
    郑硬麦PMWTZL000013QI000013LXWT00LXWT01LXWT02LXWT03LXWT04从合约PM1301开始更换,上市日为2012-01-17
    连豆一aZL000014QI000014LXA00LXA01LXA02LXA03LXA04
    连豆二bZL000015QI000015LXB00LXB01LXB02LXB03LXB04
    连玉米cZL000016QI000016LXC00LXC01LXC02LXC03LXC04
    连聚乙烯lZL000017QI000017LXL00LXL01LXL02LXL03LXL04
    连豆粕mZL000018QI000018LXM00LXM01LXM02LXM03LXM04
    连棕榈油pZL000019QI000019LXP00LXP01LXP02LXP03LXP04
    连豆油yZL000020QI000020LXY00LXY01LXY02LXY03LXY04
    早籼稻RIERZL000021QI000021LXER00LXER01LXER02LXER03LXER04从合约RI1307开始更换,上市日为2012-07-26
    线材wrZL000022QI000022LXWR00LXWR01LXWR02LXWR03LXWR04
    螺纹钢rbZL000023QI000023LXRB00LXRB01LXRB02LXRB03LXRB04
    聚氯乙烯vZL000024QI000024LXV00LXV01LXV02LXV03LXV04
    沪铅pbZL000025QI000025LXPB00LXPB01LXPB02LXPB03LXPB04
    连焦炭jZL000026QI000026LXJ00LXJ01LXJ02LXJ03LXJ04
    郑甲醇MAMEZL000027QI000027LXME00LXME01LXME02LXME03LXME04从合约MA1506开始更换,上市日为2014-06-17
    沪银AgZL000028QI000028LXAG00LXAG01LXAG02LXAG03LXAG04
    郑玻璃FGZL000029QI000029LXFG00LXFG01LXFG02LXFG03LXFG04
    郑菜籽RSZL000030QI000030LXRS00LXRS01LXRS02LXRS03
    郑菜粕RMZL000031QI000031LXRM00LXRM01LXRM02LXRM03LXRM04
    连焦煤JMZL000032QI000032LXJM00LXJM01LXJM02LXJM03LXJM04
    沪沥青buZL000033QI000033LXBU00LXBU01LXBU02LXBU03LXBU04
    连铁矿石IZL000034QI000034LXI00LXI01LXI02LXI03LXI04
    郑动力煤ZCTCZL000035QI000035LXTC00LXTC01LXTC02LXTC03LXTC04从合约ZC1506开始更换,上市日为2015-05-18
    连纤维板FBZL000036QI000036LXFB00LXFB01LXFB02LXFB03LXFB04
    连胶合板BBZL000037QI000037LXBB00LXBB01LXBB02LXBB03LXBB04
    郑粳稻JRZL000038QI000038LXJR00LXJR01LXJR02LXJR03LXJR04
    连鸡蛋JDZL000039QI000039LXJD00LXJD01LXJD02LXJD03LXJD04
    热轧卷板HCZL000040QI000040LXHC00LXHC01LXHC02LXHC03LXHC04
    聚丙烯PPZL000041QI000041LXPP00LXPP01LXPP02LXPP03LXPP04
    晚籼稻LRZL000042QI000042LXLR00LXLR01LXLR02LXLR03LXLR04
    硅铁SFZL000043QI000043LXSF00LXSF01LXSF02LXSF03LXSF04
    锰硅SMZL000044QI000044LXSM00LXSM01LXSM02LXSM03LXSM04
    淀粉CSZL000045QI000045LXCS00LXCS01LXCS02LXCS03LXCS04
    NIZL000046QI000046LXNI00LXNI01LXNI02LXNI03LXNI04
    SNZL000047QI000047LXSN00LXSN01LXSN02LXSN03LXSN04
    棉纱CYZL000048QI000048LXCY00LXCY01LXCY02LXCY03LXCY04
    鲜苹果APZL000049QI000049LXAP00LXAP01LXAP02LXAP03LXAP04
    中质含硫原油SCZL000050QI000050LXSC00LXSC01LXSC02LXSC03LXSC04
    纸浆SPZL000051QI000051LXSP00LXSP01LXSP02LXSP03LXSP04
    乙二醇EGZL000052QI000052LXEG00LXEG01LXEG02LXEG03LXEG04
    红枣CJZL000053QI000053LXCJ00LXCJ01LXCJ02LXCJ03LXCJ04
    20号胶NRZL000054QI000054LXNR00LXNR01LXNR02LXNR03LXNR04
    尿素URZL000055QI000055LXUR00LXUR01LXUR02LXUR03LXUR04
    粳米RRZL000056QI000056LXRR00LXRR01LXRR02LXRR03LXRR04
    不锈钢SSZL000057QI000057LXSS00LXSS01LXSS02LXSS03LXSS04
    苯乙烯EBZL000058QI000058LXEB00LXEB01LXEB02LXEB03LXEB04
    纯碱SAZL000059QI000059LXSA00LXSA01LXSA02LXSA03LXSA04
    液化石油气PGZL000060QI000060LXPG00LXPG01LXPG02LXPG03LXPG04
    低硫燃料油LUZL000061QI000061LXLU00LXLU01LXLU02LXLU03LXLU04
    短纤PFZL000062QI000062LXPF00LXPF01LXPF02LXPF03LXPF04
    国际铜BCZL000063QI000063LXBC00LXBC01LXBC02LXBC03LXBC04
    生猪LHZL000064QI000064LXLH00LXLH01LXLH02LXLH03LXLH04
    花生PKZL000065QI000065LXPK00LXPK01LXPK02LXPK03LXPK04

    股指期货的代码规则:
    如沪深300股指期货:IF+合约到期年份(2位数字)+合约到期月份(2位数字),如IF2209。
    另有,IF00表示沪深300股指期货主力线;
    IF01表示的是沪深300股指期货当月连续合约;
    IF02表示的是沪深300股指期货下月连续合约;
    IF03表示的是沪深300股指期货的下季连续合约;
    IF04表示的是沪深300股指期货的隔季连续合约。
    上证50、中证500、中证100指数期货规则同沪深300股指期货。

    国债期货合约规则:
    国债期货合约为最近3个季月(3/6/9/12中的最近3个),
    如5年期国债期货TF,其合约代码为:TF+合约到期年份(2位数字)+合约到期月份(2位数字),如TF1512。
    其中TF00表示5年期国债期货主力线;
    TF01是5年期国债连一;
    TF02是5年期国债连二;
    TF03是5年期国债连三。
    10年期国债(T)规则同5年期国债期货。

    股指/国债期货合约品种及主力/连续合约代码对照表:
    品种品种名称主力合约代码指数线代码当月连续/连一下月连续/连二下季连续/连三隔季连续
    IF沪深300期货IF00IFIndIF01IF02IF03IF04
    IC中证500期货IC00ICIndIC01IC02IC03IC04
    IH上证50期货IH00IHIndIH01IH02IH03IH04
    IM中证1000期货IM00IMIndIM01IM02IM03IM04
    T10年期国债期货T00TIndT01T02T03
    TF5年期国债期货TF00TFIndTF01TF02TF03
    TS2年期国债期货TS00TSIndTS01TS02TS03


    名称说明:
    在商品期货的名称中的有部分代码前面会出现D.+合约代码,E.+合约代码,F.+合约代码,其中的D、E、F分别代表上海、大连、郑州,当前还在上市交易的合约的名称前会标注这些字母,已经交割的合约名称前面则没有。

    最新所有期货品种信息及代码对照,可通过以下代码获取:

    t1:= select * from infotable 708 of  getbk('期货品种代码') end;
    t2:= select ['StockID'],["上市地"],["大类资产"],["大类资产2"],
          ["其他分类1"],["其他分类2"]
          from infotable 299 of  getbk('期货品种代码') end;
    return select [1].*,[2].* from t1 full join t2 
           with([1].['StockID'] on [2].['StockID'])
           order by ['主力代码']
          end;

    部分结果截图如下:


    相关代码集合的提取:
    1、所有期货主力合约代码:
    return getbk('期货主力');

    2、所有国内商品期货主力合约代码:
    return sselect thisrow from getbk('期货主力') where thisrow like '^ZL' end;

    3、所有国债期货和股指期货的主力合约代码:
    return sselect thisrow from getbk('期货主力') where rightstr(thisrow,2)='00' end;

    4、所有期货连续合约代码:
    return getbk('期货连续');

    5、所有国内商品期货连续合约代码:
    return sselect thisrow from getbk('期货连续') where thisrow like '^LX' end;

    6、所有国内商品期货当月连续合约代码:
    return sselect thisrow from getbk('期货连续') where thisrow like '^LX[A-Z]+00$' end;
    注:若为连一,则'^LX[A-Z]+00$改为'^LX[A-Z]+01$即可,其它的类推

    7、所有国债期货和股指期货的连续合约代码:
    return sselect thisrow from getbk('期货连续') where not (thisrow like '^LX') end;

    8、所有国债期货和股指期货的当月连续合约代码:
    return sselect thisrow from getbk('期货连续') where
        rightstr(thisrow,2)='01' and
        not (thisrow like '^LX') end;
    注:若为下月连续,则'01'改为'02'即可,其它的类推

    9、所有期货指数线合约代码:
    return getbk('期货指数线');

    10、所有国内商品期货指数线合约代码:
    return sselect thisrow from getbk('期货指数线') where thisrow like '^QI' end;

    11、所有国债期货和股指期货的期货指数线合约代码:
    return sselect thisrow from getbk('期货指数线') where thisrow like 'Ind$' end;

    12、指定日所有在市交易的期货合约:
    {变更说明:板块已发生调整,原板块已不能满足,所有期货用“上市期货;退市期货”板块进行提取
    原demo板块:QHArr := getbk('期货;国内商品期货;股指期货;国债期货');已不能提取所有,只能提取现在最新的合约
    2021-04-05板块调整说明:FAQ:2021-03-23-数据更新-数据更新022:关于天软板块变更的说明}
    }
     
       QHArr := getbk('上市期货;退市期货');
       Endt:=20200713T;
       return sselect thisrow  from QHArr
                    where spec(FuturesIsTrade(EndT),thisrow) =1 end;

    13、指定日某个品种在市交易的所有合约代码:

      //返回2016年4月5日”IF”期货还能交易的合约代码。
      EndT:= 20160405T;
      return GetFuturesID ('IF',EndT);

    14、指定某个品种所有合约代码

     pz:='CU';
         pzName:=spec(base(708003),pz);
         stocks:=getbk(pzName);
         dpz:=UpperCase(pz);
         ts:=sselect thisrow from getbk('退市期货') where spec(UpperCase(base(703003)),thisrow)=dpz end;
         return ts union2 stocks;

    15、指定日在市交易的期货主力

     endt:=20200101T;
        dendt:=datetoint(endt);
        return sselect thisrow from getbk('期货主力') where spec(base(700000,0),thisrow)<=dendt end;