FAQ > 金融建模 > 建模问题 > 市场相关

Q:如何获取市场的融资融券数据?    

  • A:可通过融资融券汇总表查询各市场的每日的融资融券数据。
    各市场的融资融券标的证券
    上交所:RZRQ000001
    深交所:RZRQ000002
    北交所:RZRQ000003
    实现示例
    本文中分别给出以下取数范例:
    1.获取指定市场指定日的融券余额
    2.获取多市场指定日的融券余额加总数值
    3.获取指定市场指定区间的融资融券多个字段的数据
    4.获取全市场指定区间的融资融券数据
    5.获取多市场指定区间的每日融资融券加总数值

    范例一:获取指定市场指定日的融券余额
      //获取上海市场20250826的融券余额数据
      code:="RZRQ000001";
      field:="融券余额";
      endt:=20250826;
      v:=vselect [field] from infotable 165 of code where ["截止日"]=endt end;
      return v; //结果:10728914966


    范例二:获取多市场指定日的融券余额加总数值
      //获取全市场20250826的融券余额数据
      codes:=array("RZRQ000001","RZRQ000002","RZRQ000003");//沪深北
      field:="融券余额";
      endt:=20250826;
      v:=vselect sumof([field]) from infotable 165 of codes where ["截止日"]=endt end;
      return v; //结果:15451629864

    范例三:获取指定市场指定区间的融资融券多个字段的数据
      //获取上海市场20250801-20250826区间每日的融资余额及融券余额数据
      code:="RZRQ000001";
      begt:=20250801;
      endt:=20250826;
      v:=select 0 to 2,["融资余额"],["融券余额"] from infotable 165 of code where ["截止日"]>=begt and ["截止日"]<=endt end;
      return v;

    结果:

    范例四:获取全市场指定区间的融资融券数据
      //获取全市场20250820-20250826区间每日的融资余额及融券余额数据
      codes:=array("RZRQ000001","RZRQ000002","RZRQ000003");
      begt:=20250820;
      endt:=20250826;
      v:=select 0 to 2,["融资余额"],["融券余额"] from infotable 165 of codes where ["截止日"]>=begt and ["截止日"]<=endt end;
      return v;  

    结果:

    范例五:获取多市场指定区间的每日融资融券加总数值
      codes:=array("RZRQ000001","RZRQ000002","RZRQ000003");
     begt:=20250820;
     endt:=20250826;
    //取数
     t:=select 0 to 2,["融资余额"],["融券余额"] from infotable 165 of codes
         where ["截止日"]>=begt and ["截止日"]<=endt
          end;
    //求和
     return select ["截止日"],sumof(["融资余额"]) as "市场融资余额",
          sumof(["融券余额"]) as "市场融券余额"
          from t group by ["截止日"] order by ["截止日"] end;

    结果: