# 基础算法 / 权重调整 ## `sb_WeightAdjust(data, stock_upper, crn_upper, hy_upper, crn_n, fconfig, scn_upper)` 声明:function 根据给定的股票和约束,给出调整后的新权重 | 参数 | 类型 | 说明 | | ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `data` | array | 二维表,必须包含"代码","加权系数"列,若存在行业约束则必须包含"行业" 列,若存在市场约束则必须包含"市场"列。其中"加权系数"列也可用"比例(%)"列代替,与框 架 Fdata 格式一致 | | `stock_upper` | array | 实数或者一维数组,个股权重上限(%) | | `crn_upper` | real | 实数,集中度权重上限(%) | | `hy_upper` | real | 实数,行业权重上限(%) | | `crn_n` | integer | 整数,前 N 个票,集中度参数 | | `fconfig` | array | 求解参数,用于算法调整,有以下两种设置 array('行业约束优化算法':1) 用于调整行 业约束优化算法或者 array('集中度头部压缩方式':3) 用于调整集中度优化算法 | | `scn_upper` | real | 单只证券权重上限约束 | 返回:array ### 示例 范例01:调用示例 ```tsl endt := 20250106T; t := GetBKByDate('SH000300', endt); data := PF_Percent(t,endt,1); data[:,'加权系数'] := data[:,'数值']; return SB_WeightAdjust(data, 3, 30); ```