FAQ > 金融建模 > 应用案例 > 数据处理

Q:如何获取序列中排名前70%的样本    

  • A:下面是展示取排名符合百分范围部分样本的实例,供实用参考:
    范例01:过去120个交易日的日内振幅最低的70%个交易日的日收益率之和
     stockid:="SH600519";
      N:=120;
      endt:=20260320T;
      setsysparam(pn_stock(),stockid);
      setsysparam(pn_cycle(),cy_day());
      setsysparam(pn_date(),endt);
      dt:= Nday(N,"date",sp_time(),"振幅",stockzdf3(),"涨幅(%)",stockzf3());
      //数据处理-生成百分位排名
      dt:=select *,thisorder/N*100 as "百分位%" from dt order by ["振幅"] end;

      //过去120个交易日的日内振幅最低的70%个交易日的日收益率之和
      lzfS:=vselect sumof(["涨幅(%)"]) from dt where ["百分位%"]<=70 end;
      return lzfS;

    返回:-17.6605662748052