545 lines
12 KiB
Markdown
545 lines
12 KiB
Markdown
# 数学函数 / 统计函数
|
||
|
||
## `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
|
||
```
|