12 KiB
数学函数 / 统计函数
betaAndAlpha(y, x, beta, alpha)
声明:function
获取斜率和截距
| 参数 | 类型 | 说明 |
|---|---|---|
y |
array | 一维数字数组 |
x |
array | 一维数字数组 |
beta |
real | 实数,斜率,返回值 |
alpha |
real | 实数,截距,返回值 |
返回:void
示例
betaAndAlpha(array(3, 6), array(4, 12), k, b);
return k;
// 输出:0.375
correlpaired(a, b)
声明:function
计算 a 的每一列与 b 的每一列之间的相关系数矩阵
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 一维数字数组, |
b |
array | 一维数字数组, |
返回:array
示例
范例01:
a := array(1, 2, 3, 4, 5);
b := array(2, 4, 6, 8, 10);
return correlpaired(a, b);
// 输出:array((1.0))
范例02:
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:
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:
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进行计算
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 一维数字数组, |
dir_type |
any | 用户自定义,方向类型 |
返回:array
expdMax(r)
声明:function
统计数组累计到当前行的最大值序列
| 参数 | 类型 | 说明 |
|---|---|---|
r |
array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
返回:array
示例
r := array(-1, 2, -3, 9);
return expdMax(r); // 输出:array(-1,2,2,9)
expdMin(r)
声明:function
统计数组累积到当前行的最小值序列
| 参数 | 类型 | 说明 |
|---|---|---|
r |
array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
返回:array
示例
r := array(-1, 2, -3, 9);
return expdMin (r); // 输出:array(-1,-1,-3,-3)
expdProduct(r)
声明:function
返回数组累积到当前行的累乘序列
| 参数 | 类型 | 说明 |
|---|---|---|
r |
array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
返回:array
示例
r := array(-1, 2, -3, 9);
return expdProduct (r); // 输出:array(-1,-2,6,54)
expdStd(r, ddof)
声明:function
返回数组累积到当前行的标准差序列
| 参数 | 类型 | 说明 |
|---|---|---|
r |
array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
ddof |
integer | 整型,标准差选项,取值如下 |
返回:array
示例
r := array(-1, 2, -3, 9);
return expdStd (r, 0); // 输出:array(0,1.5,2.05,4.55)
expdSum(r)
声明:function
返回数组累积到当前行的求和序列
| 参数 | 类型 | 说明 |
|---|---|---|
r |
array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
返回:array
示例
r := array(-1, 2, -3, 9);
return expdSum (r); // 输出:array(-1,1,-2,7)
expdVar(r, ddof)
声明:function
返回数组累积到当前行的方差序列
| 参数 | 类型 | 说明 |
|---|---|---|
r |
array of real | 数组,一维或二维(此时按列统计)数字数组,也可以为二维数据表 |
ddof |
integer | 整型,方差选项,取值如下 |
返回:array
示例
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
示例
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
示例
meanAndPopnStdDevWithRate(array(1, 2, 3), array(1, 1, 1), m, s);
return m;
// 输出:2
nanMean(a)
声明:function
计算含Nan一维数组的算术平均值
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 一维数字数组 |
返回:real
示例
a := array(5, 6, 8, nan);
return nanMean(a);
// 输出:6.33
nanPercentRankArr(a, f_name)
声明:function
1、返回一维数组中的每个值在一维数组中的百分比排名
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 数字数组,待计算的数组 |
f_name |
string | 字符串,字段名,默认为空 |
返回:array
示例
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一维数组的总体标准差
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 一维数字数组 |
返回:real
示例
a := array(5, 6, 8, nan);
return nanPopnStd(a);
// 输出:1.25
nanPopnVariance(a)
声明:function
计算含Nan一维数组的总体方差
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 一维数字数组 |
返回:real
示例
a := array(5, 6, 8, nan);
return nanPopnVariance(a);
// 输出:1.56
nanRankArr(a, f_name, sortorder)
声明:function
1、返回一维数组中的每个值在一维数组中的排位
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 数字数组,待计算的数组 |
f_name |
string | 字符串,字段名,默认为空 |
sortorder |
bool | 排序方向,默认为1 |
返回:array
示例
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一维数组的标准差的估计(样本标准差)
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 一维数字数组 |
返回:real
示例
a := array(5, 6, 8, nan);
return nanStd(a);
// 输出:1.53
nanSum(a)
声明:function
计算含Nan一维数组的总和
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 一维数字数组 |
返回:real
示例
a := array(5, 6, 8, nan);
return nanSum(a);
// 输出:19
nanVariance(a)
声明:function
计算含Nan一维数组的方差的估计(样本方差)
| 参数 | 类型 | 说明 |
|---|---|---|
a |
array | 一维数字数组 |
返回:real
示例
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
示例
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
示例
return selfStdDev(array(1, 2, 3, 4, 5), 3);
// 输出:0.89
skew(t, skew)
声明:function
偏斜度
| 参数 | 类型 | 说明 |
|---|---|---|
t |
array | 一维数字数组,一维数据 |
skew |
real | 实数,返回的偏斜度 |
返回:any
示例
skew(array(1, 2, 3, 4, 5, 7), s);
return s;
// 输出:0.46
variationCoefficient(x)
声明:function
变异系数
| 参数 | 类型 | 说明 |
|---|---|---|
x |
array | 一维数字数组 |
返回:real
示例
return variationCoefficient(array(1, 2, 1, 2, 1, 2));
// 输出:0.33