FAQ > 金融建模 > 应用案例 > 指标或功能实现

Q:怎么获取指数实时k线与黄线数据?    

  • Q:怎么获取指数实时k线与黄线数据?
    A:指数实时k线与黄线数据可以通过模型Index_ActuTimeHOLCAndYLData来获取,导出数据后可在excel进行绘图得到
    • 定义:Index_ActuTimeHOLCAndYLData(indexID:string or array,begt,endt:TDateTime,cycle:string,option:integer):array;
    • 含义:获取指数的高开低收和黄线(等权价格),支持实时
    • 算法:
      1、此模型支持用户自定义指数,自定义时用户所给的比例(%)表示第一日的权重,后续权重根据个股涨跌自动调整。
      2、区间设置为左开右闭,如1分钟线:
             2021-11-01 9:31:00  的数据区间 (9:25:00,9:31:00]
             2021-11-01 9:32:00  的数据区间 (9:31:00,9:32:00]
          按照指数的更新规则,区间内的数据周期固定为5秒一条数据,利用指数5秒更新的价格计算:
          开:区间的第一个价格
          高:区间的最高价格
          低:区间的最低价格
          收:区间的最后一个价格
      3、黄线即为该指数变为等权重的指数价格,比例(%) = 1/成分股个数*100。说明,黄线开盘参考起点和K线起点相同(用户自定义时价格起点为自定义点位起点),每日盘前等权重,而非开始日等权重后的数据延伸。
      4、实时K线每分钟刷新一次,在每日收盘之后,即15:01之后不再实时刷新
      注:
      (1)、当且仅当endt为当日、option=1,实时时间在15:01以前时,才会进行实时刷新
      (2)、自定义指数时,参数indexID为二维数组,字段包括'代码'和'比例(%)',非自定义时,参数indexID为指数代码
    • 参数:

    参数名
        类型    含义    备注

    indexID
    字符串或数组(自定义)指数二维数组字段包括代码和比例(%)

    begt
    Datetime开始日
        
    endt
    Datetime截止日
        
    cycle
    String周期不能小于5秒,默认一分钟线

    option
    Integer是否实时刷新
    0:不实时计算(默认)
    1:实时计算(一分钟刷新一次)

    Point
    Numeric昨日点位,仅在自定义成分及权重时有效
    • 返回:指数指定周期的高开低收和黄线数据
    范例01:不实时刷新,获取指数'SZ399279'在2022-04-01日一分钟线的K线和黄线数据

       indexID:='SZ399279';
       begt:=20220401T;
       endt:=20220401T;
       cycle:=cy_1m();
       return Index_ActuTimeHOLCAndYLData(indexID,begt,endt,cycle,0); 

    结果如下:

    画图展示的结果如下:

    范例02:不实时刷新,获取自定义指数在2022-04-01日一分钟线的K线和黄线数据,昨日点位为1000.

       indexID:=array(('代码':'SZ000858','比例(%)':50),
                                ('代码':'SZ000568','比例(%)':50));
       begt:=20220401T;
       endt:=20220401T;
       cycle:=cy_1m();
       point:=1000;
       return Index_ActuTimeHOLCAndYLData(indexID,begt,endt,cycle,0,point); 

    范例03:实时刷新,获取自定义指数在2022-04-01日一分钟线的K线和黄线数据,并每分钟实时刷新

       indexID:=array(('代码':'SZ000858','比例(%)':50),
                      ('代码':'SZ000568','比例(%)':50));
       begt:=20220401T;
       endt:=20220401T;
       cycle:=cy_1m();
       point:=1000;
       return Index_ActuTimeHOLCAndYLData(indexID,begt,endt,cycle,1,point); 

    附件:2022-04-11 指数K线和黄线计算模型.tslfunc