天软金融分析.NET函数大全 > 金融函数 > 金融工程 > 因子研究 > 因子计算 > 因子分组

MF_WtGroup_CrossGroupByHY    

简述

   A、权重分组
     按因子值(fname)从大到小按累计权重 - 比例(%) 分组,最大的为第1组 
   B、支持按行业(GName)分层
定义
MF_WtGroup_CrossGroupByHY(Data:DBData;FName:String;GName:String;GNum:EditedExpression;BenchmarkWeights:DBData;stkwtype:UserDefine;ifNormalize:Boolean):array
参数
名称类型说明
DataDBData数据表类型,因子数据,包含字段:代码、行业、行业名称、比例(%)
FNameString字符串,因子名称,排序用,为nil表示不排序
GNameString字符串,分组用字段名,为nil表示所有数据为一组
GNumEditedExpression表达式, 整数类型表示每层分组数
数组类型表示每层分组权重阈值
BenchmarkWeightsDBData数据表类型, 行业基准比例,包含字段:行业名称、行业比例(%)
stkwtypeUserDefine用户自定义, 行业内股票权重分配方式
显示名 取值
按自有比例分配 1
按等权重分配 2
ifNormalizeBoolean真假,行业间是否归一化,默认否
返回arrayarray,分组详情。返回的比例(%),为占总体比例(%)
  • 范例

    范例01:
    //分行业 按累计市值分组
       Data := array(
    ("代码":"SZ002602","截止日":43889.0,"因子值":2.15,"行业":"SW801760","行业名称":"申万传媒","下期收益":-8.18),
    ("代码":"SH600637","截止日":43889.0,"因子值":1.36,"行业":"SW801760","行业名称":"申万传媒","下期收益":-13.88),
    ("代码":"SZ300413","截止日":43889.0,"因子值":0.8,"行业":"SW801760","行业名称":"申万传媒","下期收益":-1.09),
    ("代码":"SZ002558","截止日":43889.0,"因子值":0.29,"行业":"SW801760","行业名称":"申万传媒","下期收益":-12.53),
    ("代码":"SZ002555","截止日":43889.0,"因子值":-0.87,"行业":"SW801760","行业名称":"申万传媒","下期收益":-3.54));
      FName := "因子值";
      GName := "行业名称";
      GNum := array((0,50),(50,100));
      BenchmarkWeights := array();
      stkwtype := 1;
      ifNormalize := 1;
      return MF_WtGroup_CrossGroupByHY(Data,FName,GName,GNum,BenchmarkWeights,stkwtype,ifNormalize);

    //结果

    范例02:
    //全部按 累计市值分组
      Data := array(
    ("代码":"SZ002602","截止日":43889.0,"因子值":2.15,"行业":"SW801760","行业名称":"申万传媒","下期收益":-8.18),
    ("代码":"SH600637","截止日":43889.0,"因子值":1.36,"行业":"SW801760","行业名称":"申万传媒","下期收益":-13.88),
    ("代码":"SZ300413","截止日":43889.0,"因子值":0.8,"行业":"SW801760","行业名称":"申万传媒","下期收益":-1.09),
    ("代码":"SZ002558","截止日":43889.0,"因子值":0.29,"行业":"SW801760","行业名称":"申万传媒","下期收益":-12.53),
    ("代码":"SZ002555","截止日":43889.0,"因子值":-0.87,"行业":"SW801760","行业名称":"申万传媒","下期收益":-3.54));
      FName := "因子值";
      GName := nil;
      GNum := array((0,50),(50,100));
      BenchmarkWeights := array();
      stkwtype := 1;
      return MF_WtGroup_CrossGroupByHY(Data,FName,GName,GNum,BenchmarkWeights,stkwtype);

    //结果
相关