feat(tsl-api-reference): expand API and module coverage

This commit is contained in:
csh
2026-08-14 17:12:55 +08:00
parent 8f1056130d
commit 3d3036ebe1
571 changed files with 47842 additions and 14458 deletions
@@ -0,0 +1,55 @@
# 数学函数 / 增长率与比率
## `outPutValueByUnit(data, data_type, data_unit)`
声明:function
按指定单位换算数值
<!-- tags: 数学 单位 换算 数值 conversion unit -->
| 参数 | 类型 | 说明 |
| ----------- | ------ | ------------------------- |
| `data` | real | 待换算数值 |
| `data_type` | string | 数据类型,`Real` 表示实数 |
| `data_unit` | real | 换算单位 |
返回:real
### 示例
范例01:按 10 为单位换算实数
```tsl
return outPutValueByUnit(1234.5, "Real", 10);
// 输出:123.45
```
## `ytmToAccumulativeYTM(t, f_name, dw, return_type)`
声明:function
将日收益率序列转换为复合收益率或累计收益率
<!-- tags: 数学 收益率 复合收益率 累计收益率 yield return -->
| 参数 | 类型 | 说明 |
| ------------- | ------- | -------------------------------------- |
| `t` | array | 日收益率序列 |
| `f_name` | string | 收益率字段名称 |
| `dw` | integer | 输入单位和返回形式 |
| `return_type` | any | 返回复合收益率序列或最近一日复合收益率 |
返回:array\|real
### 示例
范例01:把日收益率转换为复合收益率序列
```tsl
value := array(
("date": 20180801T, "yield": 0.003),
("date": 20180802T, "yield": 0.006),
("date": 20180803T, "yield": 0.009));
return ytmToAccumulativeYTM(value, "yield", 2, 0);
```
@@ -0,0 +1,39 @@
# 数学函数 / 数值计算 / 其他
## `generateCombinations(list, ret, start, n, combine)`
声明:function
生成一维数组的全部非空组合
<!-- tags: 数学 组合 全组合 子集 combinatorics combination -->
| 参数 | 类型 | 说明 |
| --------- | ------- | ---------------------------------- |
| `list` | array | 输入的一维数组 |
| `ret` | array | 接收生成的组合 |
| `start` | integer | 可选。开始选取的位置,默认 0 |
| `n` | integer | 可选。当前组合的写入位置,默认 0 |
| `combine` | array | 可选。递归生成过程中使用的组合缓存 |
返回:integer
### 示例
范例01:生成三个元素的全部非空组合
```tsl
list := array("a", "b", "c");
ret := array();
generateCombinations(list, ret);
return ret;
// 输出:
// array(
// ("a"),
// ("a","b"),
// ("a","b","c"),
// ("a","c"),
// ("b"),
// ("b","c"),
// ("c"))
```
@@ -0,0 +1,32 @@
# 数学函数 / 优化
## `nonLP_fmincon(fun, x_0, a, b, aeq, beq, nonlcon)`
声明:function
使用起作用集法求解带线性约束和非线性约束的优化问题
<!-- tags: 数学 优化 非线性规划 约束优化 nonlinear constrained optimization -->
| 参数 | 类型 | 说明 |
| --------- | ------ | ---------------------------------- |
| `fun` | string | 目标函数名称 |
| `x_0` | array | 初始点 |
| `a` | array | 线性不等式约束矩阵 |
| `b` | array | 线性不等式约束向量 |
| `aeq` | array | 线性等式约束矩阵 |
| `beq` | array | 线性等式约束向量 |
| `nonlcon` | string | 非线性约束函数名称,空字符串表示无 |
返回:array
### 示例
范例01:调用无显式约束的目标函数
```tsl
empty_matrix := array();
return nonLP_fmincon(
"sum", array(1.0), empty_matrix, empty_matrix,
empty_matrix, empty_matrix, "");
```
@@ -0,0 +1,25 @@
# 数学函数 / 主成分分析 / 中间函数
## `rotatedComponentMatrix(cm)`
声明:function
对载荷矩阵执行方差最大正交旋转
<!-- tags: 主成分分析 因子分析 载荷矩阵 正交旋转 PCA rotation -->
| 参数 | 类型 | 说明 |
| ---- | ----- | -------- |
| `cm` | array | 载荷矩阵 |
返回:array
### 示例
范例01:旋转单位载荷矩阵
```tsl
cm := array((1.0, 0.0), (0.0, 1.0));
return rotatedComponentMatrix(cm);
// 输出:array((1.0,0.0),(0.0,1.0))
```
@@ -0,0 +1,33 @@
# 数学函数 / 回归 / 回归检验
## `regress_ridge(y, x, k, constant, alpha)`
声明:function
执行岭回归并返回回归系数、残差和统计检验结果
<!-- tags: 回归 岭回归 正则化 regression ridge -->
| 参数 | 类型 | 说明 |
| ---------- | ------------- | ---------------------------------- |
| `y` | array of real | 被解释变量序列 |
| `x` | array of real | 解释变量矩阵,每列对应一个解释变量 |
| `k` | real\|array | 可选。岭参数或岭参数序列 |
| `constant` | boolean | 可选。是否包含常数项,默认 true |
| `alpha` | real | 可选。显著性水平,默认 0.05 |
返回:array
### 示例
范例01:使用指定岭参数执行回归
```tsl
y := array(49.0, 50.2, 50.5, 48.5);
x := array(
(1.0, 2.0),
(2.0, 1.0),
(3.0, 4.0),
(4.0, 3.0));
return regress_ridge(y, x, 0.1, true, 0.05);
```
@@ -0,0 +1,75 @@
# 数学函数 / 统计分布
## `binofit(x, n, alpha)`
声明:function
根据二项分布样本估计成功概率及其置信区间
<!-- tags: 统计分布 二项分布 参数估计 置信区间 binomial fit -->
| 参数 | 类型 | 说明 |
| ------- | ------------- | ----------------------- |
| `x` | array of real | 各样本中的成功次数 |
| `n` | integer | 每个样本的试验总量 |
| `alpha` | real | 显著性水平,范围 0 到 1 |
返回:array
### 示例
范例01:估计二项分布成功概率
```tsl
return binofit(array(4, 5, 6, 5), 10, 0.05);
```
## `randgeo(p, row, col)`
声明:function
生成服从几何分布的随机数数组
<!-- tags: 统计分布 几何分布 随机数 random geometric -->
| 参数 | 类型 | 说明 |
| ----- | ------------------------ | ----------------------------- |
| `p` | real | 单次试验成功概率,范围 0 到 1 |
| `row` | integer\|array of string | 行数或行名数组 |
| `col` | integer\|array of string | 列数或列名数组 |
返回:array
### 示例
范例01:生成二维几何分布随机数组
```tsl
return randgeo(0.5, 2, 3);
```
## `sf_ch2Inv(y, cv, x)`
声明:function
计算卡方分布累计概率对应的分位点
<!-- tags: 统计分布 卡方分布 逆函数 分位点 chi-square inverse -->
| 参数 | 类型 | 说明 |
| ---- | ----------- | -------------------------- |
| `y` | real\|array | 累计概率值或累计概率数组 |
| `cv` | real | 卡方分布自由度 |
| `x` | real\|array | 可选。接收计算得到的分位点 |
返回:real\|array
### 示例
范例01:返回分位点并接收输出参数
```tsl
result := sf_ch2Inv(0.5, 2, value);
return array(result, value);
// 输出:array(1.386294,1.386294)
```
@@ -0,0 +1,54 @@
# 数学函数 / 统计推断
## `estimate_sp(mx, n, alpha, tail)`
声明:function
估计单个总体比率的置信区间
<!-- tags: 统计推断 比率 概率 置信区间 proportion confidence interval -->
| 参数 | 类型 | 说明 |
| ------- | ------- | --------------------------------------------------- |
| `mx` | real | 样本比率 |
| `n` | integer | 样本容量 |
| `alpha` | real | 显著性水平,范围 0 到 1 |
| `tail` | string | 可选。区间方向,可取 both、left 或 right,默认 both |
返回:array
### 示例
范例01:计算双侧置信区间
```tsl
return estimate_sp(0.3, 120, 0.05, "both");
// 输出:array("Lower":0.218009,"upper":0.381991)
```
## `estimate_tp(p, n, alpha, tail)`
声明:function
估计两个总体比率之差的置信区间
<!-- tags: 统计推断 比率差 概率 置信区间 proportion difference -->
| 参数 | 类型 | 说明 |
| ------- | ------ | --------------------------------------------------- |
| `p` | array | 两个样本的比率 |
| `n` | array | 两个样本的容量 |
| `alpha` | real | 显著性水平,范围 0 到 1 |
| `tail` | string | 可选。区间方向,可取 both、left 或 right,默认 both |
返回:array
### 示例
范例01:计算两个总体比率差的双侧置信区间
```tsl
return estimate_tp(
array(0.478, 0.328), array(1000, 750), 0.05, "both");
// 输出:array("Lower":0.104311,"upper":0.195689)
```