feat(tsl-api-reference): add class and framework API lookup

This commit is contained in:
csh
2026-08-20 13:49:55 +08:00
parent 7233646398
commit 651c1f68d2
637 changed files with 25498 additions and 36673 deletions
@@ -0,0 +1,544 @@
# 数学函数 / 统计函数
## `betaAndAlpha(y, x, beta, alpha)`
声明:function
获取斜率和截距
<!-- tags: 获取 查询 -->
| 参数 | 类型 | 说明 |
| ------- | ----- | ------------------ |
| `y` | array | 一维数字数组 |
| `x` | array | 一维数字数组 |
| `beta` | real | 实数,斜率,返回值 |
| `alpha` | real | 实数,截距,返回值 |
返回:void
### 示例
```tsl
betaAndAlpha(array(3, 6), array(4, 12), k, b);
return k;
// 输出:0.375
```
## `correlpaired(a, b)`
声明:function
计算 a 的每一列与 b 的每一列之间的相关系数矩阵
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------- |
| `a` | array | 一维数字数组, |
| `b` | array | 一维数字数组, |
返回:array
### 示例
范例01
```tsl
a := array(1, 2, 3, 4, 5);
b := array(2, 4, 6, 8, 10);
return correlpaired(a, b);
// 输出:array((1.0))
```
范例02
```tsl
a := array(1, 2, 3, 4, 5);
b := `array(
"B1": array(2, 4, 6, 8, 10),
"B2": array(10, 8, 6, 4, 2)
);
return correlpaired(a, b);
// 输出:array((1.0,-1.0))
```
范例03
```tsl
a := `array(
"A1": array(1, 2, 3, 4, 5),
"A2": array(5, 4, 3, 2, 1)
);
b := `array(
"B1": array(2, 4, 6, 8, 10),
"B2": array(10, 8, 6, 4, 2),
"B3": array(1, 2, 3, 4, 5),
"B4": array(5, 4, 3, 2, 1)
);
return correlpaired(a, b);
// 输出:array((1.0,-1.0,1.0,-1.0),(-1.0,1.0,-1.0,1.0))
```
范例04
```tsl
a := `array("A": array(1, 2, 3, 4, 5));
b := `array(
"A": array(2, 4, 6, 8, 10),
"B": array(10, 8, 6, 4, 2)
);
return correlpaired(a, b);
// 输出:array((1.0,-1.0))
```
## `correlpaired_side(a, dir_type)`
声明:function
计算 a 的每两列之间符合对应过滤条件的相关系数矩阵, 1) +-相关系数 :将 a <0 的元素替换为0 ,b>0的元素替换为0,计算相关系数 2) 同向相关系数 :将 a 与 b 非同向(乘积<0)的元素替换为0,计算相关系数 场景支持同 correlpaired 内部强制 a 转化为fmarray进行计算
<!-- tags: 过滤 筛选 filter 计算 求解 -->
| 参数 | 类型 | 说明 |
| ---------- | ----- | ------------------- |
| `a` | array | 一维数字数组, |
| `dir_type` | any | 用户自定义,方向类型 |
返回:array
## `expdMax(r)`
声明:function
统计数组累计到当前行的最大值序列
| 参数 | 类型 | 说明 |
| ---- | ------------- | ------------------------------------------------------------ |
| `r` | array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
返回:array
### 示例
```tsl
r := array(-1, 2, -3, 9);
return expdMax(r); // 输出:array(-1,2,2,9)
```
## `expdMin(r)`
声明:function
统计数组累积到当前行的最小值序列
| 参数 | 类型 | 说明 |
| ---- | ------------- | ------------------------------------------------------------ |
| `r` | array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
返回:array
### 示例
```tsl
r := array(-1, 2, -3, 9);
return expdMin (r); // 输出:array(-1,-1,-3,-3)
```
## `expdProduct(r)`
声明:function
返回数组累积到当前行的累乘序列
<!-- tags: 返回 获取 -->
| 参数 | 类型 | 说明 |
| ---- | ------------- | ------------------------------------------------------------ |
| `r` | array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
返回:array
### 示例
```tsl
r := array(-1, 2, -3, 9);
return expdProduct (r); // 输出:array(-1,-2,6,54)
```
## `expdStd(r, ddof)`
声明:function
返回数组累积到当前行的标准差序列
<!-- tags: 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ------------- | ------------------------------------------------------------ |
| `r` | array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
| `ddof` | integer | 整型,标准差选项,取值如下 |
返回:array
### 示例
```tsl
r := array(-1, 2, -3, 9);
return expdStd (r, 0); // 输出:array(0,1.5,2.05,4.55)
```
## `expdSum(r)`
声明:function
返回数组累积到当前行的求和序列
<!-- tags: 返回 获取 -->
| 参数 | 类型 | 说明 |
| ---- | ------------- | ------------------------------------------------------------ |
| `r` | array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
返回:array
### 示例
```tsl
r := array(-1, 2, -3, 9);
return expdSum (r); // 输出:array(-1,1,-2,7)
```
## `expdVar(r, ddof)`
声明:function
返回数组累积到当前行的方差序列
<!-- tags: 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ------------- | ------------------------------------------------------------ |
| `r` | array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
| `ddof` | integer | 整型,方差选项,取值如下 |
返回:array
### 示例
```tsl
r := array(-1, 2, -3, 9);
return expdVar (r, 0); // 输出:array(0,2.25,4.22,20.69)
```
## `kurt(t, real)`
声明:function
峰度
| 参数 | 类型 | 说明 |
| ------ | ----- | ---------------------- |
| `t` | array | 一维数字数组,一维数据 |
| `real` | | 实数,返回的峰度 |
返回:any
### 示例
```tsl
kurt(array(1, 2, 3, 4, 5), s);
return s;
// 输出:-1.2
```
## `meanAndPopnStdDevWithRate(data, rate, mean, stddev)`
声明:function
带权重总体标准差以及平均值
| 参数 | 类型 | 说明 |
| -------- | ----- | -------------------- |
| `data` | array | 一维数字数组 |
| `rate` | array | 一维数字数组 |
| `mean` | real | 实数,均值,返回值 |
| `stddev` | real | 实数,标准差,返回值 |
返回:real
### 示例
```tsl
meanAndPopnStdDevWithRate(array(1, 2, 3), array(1, 1, 1), m, s);
return m;
// 输出:2
```
## `nanMean(a)`
声明:function
计算含Nan一维数组的算术平均值
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------ |
| `a` | array | 一维数字数组 |
返回:real
### 示例
```tsl
a := array(5, 6, 8, nan);
return nanMean(a);
// 输出:6.33
```
## `nanPercentRankArr(a, f_name)`
声明:function
1、返回一维数组中的每个值在一维数组中的百分比排名
| 参数 | 类型 | 说明 |
| -------- | ------ | ------------------------ |
| `a` | array | 数字数组,待计算的数组 |
| `f_name` | string | 字符串,字段名,默认为空 |
返回:array
### 示例
```tsl
a := array(1, 1, 2, 2, 2, 9, nan, 9, 9);
return nanPercentRankArr(a);
// 输出:array(0.0,0.0,0.29,0.29,0.29,0.71,NAN,0.71,0.71)
```
## `nanPopnStd(a)`
声明:function
计算含Nan一维数组的总体标准差
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------ |
| `a` | array | 一维数字数组 |
返回:real
### 示例
```tsl
a := array(5, 6, 8, nan);
return nanPopnStd(a);
// 输出:1.25
```
## `nanPopnVariance(a)`
声明:function
计算含Nan一维数组的总体方差
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------ |
| `a` | array | 一维数字数组 |
返回:real
### 示例
```tsl
a := array(5, 6, 8, nan);
return nanPopnVariance(a);
// 输出:1.56
```
## `nanRankArr(a, f_name, sortorder)`
声明:function
1、返回一维数组中的每个值在一维数组中的排位
<!-- tags: 排序 sort -->
| 参数 | 类型 | 说明 |
| ----------- | ------ | ------------------------ |
| `a` | array | 数字数组,待计算的数组 |
| `f_name` | string | 字符串,字段名,默认为空 |
| `sortorder` | bool | 排序方向,默认为1 |
返回:array
### 示例
```tsl
a := array(1, 1, 2, 2, 2, 9, nan, 9, 9);
return nanRankArr(a);
// 输出:array(1,1,3,3,3,6,NAN,6,6)
```
## `nanStd(a)`
声明:function
计算含Nan一维数组的标准差的估计(样本标准差)
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------ |
| `a` | array | 一维数字数组 |
返回:real
### 示例
```tsl
a := array(5, 6, 8, nan);
return nanStd(a);
// 输出:1.53
```
## `nanSum(a)`
声明:function
计算含Nan一维数组的总和
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------ |
| `a` | array | 一维数字数组 |
返回:real
### 示例
```tsl
a := array(5, 6, 8, nan);
return nanSum(a);
// 输出:19
```
## `nanVariance(a)`
声明:function
计算含Nan一维数组的方差的估计(样本方差)
<!-- tags: 计算 求解 -->
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------ |
| `a` | array | 一维数字数组 |
返回:real
### 示例
```tsl
a := array(5, 6, 8, nan);
return nanVariance(a);
// 输出:2.33
```
## `regressionChannel(y, x, nowy, nowx, beta, alpha, top_alpha, bottom_alpha, top, bottom, pos, expectvalue)`
声明:function
回归通道模型
| 参数 | 类型 | 说明 |
| -------------- | ----- | ----------------------- |
| `y` | array | 一维数字数组,Y坐标数组 |
| `x` | array | 一维数字数组,X坐标数组 |
| `nowy` | real | 实数 |
| `nowx` | real | 实数 |
| `beta` | real | 实数 |
| `alpha` | real | 实数 |
| `top_alpha` | real | 实数 |
| `bottom_alpha` | real | 实数 |
| `top` | real | 实数 |
| `bottom` | real | 实数 |
| `pos` | real | 实数 |
| `expectvalue` | real | 实数,预期值(回归值) |
返回:real
### 示例
```tsl
regressionChannel(array(1, 2, 3, 4, 5), array(6, 7, 8, 9, 10), 1, 2, 3, 4, 5, 6, 7, 8, s, a);
return a;
// 输出:-3
```
## `selfStdDev(t, rmar)`
声明:function
下方标准差
| 参数 | 类型 | 说明 |
| ------ | ----- | ---------------------------------- |
| `t` | array | 数据表类型,一维数据 |
| `rmar` | real | 实数,最低可接受的收益率(已折算过) |
返回:real
### 示例
```tsl
return selfStdDev(array(1, 2, 3, 4, 5), 3);
// 输出:0.89
```
## `skew(t, skew)`
声明:function
偏斜度
| 参数 | 类型 | 说明 |
| ------ | ----- | ---------------------- |
| `t` | array | 一维数字数组,一维数据 |
| `skew` | real | 实数,返回的偏斜度 |
返回:any
### 示例
```tsl
skew(array(1, 2, 3, 4, 5, 7), s);
return s;
// 输出:0.46
```
## `variationCoefficient(x)`
声明:function
变异系数
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------ |
| `x` | array | 一维数字数组 |
返回:real
### 示例
```tsl
return variationCoefficient(array(1, 2, 1, 2, 1, 2));
// 输出:0.33
```