34 lines
2.5 KiB
Markdown
34 lines
2.5 KiB
Markdown
# 基础算法 / 权重调整
|
|
|
|
## `sb_WeightAdjust(data, stock_upper, crn_upper, hy_upper, crn_n, fconfig, scn_upper)`
|
|
|
|
声明:function
|
|
|
|
根据给定的股票和约束,给出调整后的新权重
|
|
|
|
<!-- tags: 约束条件 限制条件 组合权重 资产配置 证券 个股 权重约束 权重调整 -->
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `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);
|
|
```
|