Move runtime and document pages into their correct scope, remove obsolete pending entries, and regenerate the function index.\nUpdate agent test guidance and API skill routing to match the new reference layout.
299 lines
14 KiB
Markdown
299 lines
14 KiB
Markdown
# Builtin - 数学 / 矩阵
|
||
|
||
## 矩阵运算
|
||
|
||
### `mInit(size_or_shape, value)`
|
||
|
||
生成指定尺寸并填充指定值的 FMArray。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ----- | ----------------------------------------------- |
|
||
| `size_or_shape` | array | 一维长度,或形如 `array(rows, cols)` 的尺寸数组 |
|
||
| `value` | float | 填充值;值的类型决定 FMArray 单元格类型 |
|
||
|
||
返回:fmarray
|
||
|
||
### `mInitDiag(rows, cols, value)`
|
||
|
||
生成对角线填充值的 FMArray。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------- | ------------ |
|
||
| `rows` | integer | 行数 |
|
||
| `cols` | integer | 列数 |
|
||
| `value` | float | 对角线填充值 |
|
||
|
||
返回:fmarray
|
||
|
||
### `mRand(rows, cols)`
|
||
|
||
生成随机 FMArray。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ------- | ---- |
|
||
| `rows` | integer | 行数 |
|
||
| `cols` | integer | 列数 |
|
||
|
||
返回:fmarray
|
||
|
||
## 数值微积分
|
||
|
||
### `frameMean_JS(data, b_type, equal_var, alpha)`
|
||
|
||
均值JS压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------ | -------------------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `b_type` | string | 字符串,压缩目标均值向量,b0:零向量,b1:均值,b2:波动率加权均值,b3:样本均值的均方误差 |
|
||
| `equal_var` | bool | object |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见JS均值压缩估计 |
|
||
|
||
返回:array
|
||
|
||
### `frameMean_BS(data, alpha)`
|
||
|
||
均值BS压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ------------------------------------------------------------------------ |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见BS均值压缩估计 |
|
||
|
||
返回:array
|
||
|
||
### `frameMean_BOP(data, b_type, alpha)`
|
||
|
||
均值BOP压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------ | -------------------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `b_type` | string | 字符串,压缩目标均值向量,b0:零向量,b1:均值,b2:波动率加权均值,b3:样本均值的均方误差 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见BOP均值压缩估计 |
|
||
|
||
返回:array
|
||
|
||
### `frameCov_LW(data, alpha)`
|
||
|
||
协方差LW压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见LW协方差压缩估计 |
|
||
|
||
返回:array
|
||
|
||
### `frameCov_OAS(data, alpha)`
|
||
|
||
协方差OAS压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | --------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见OAS协方差压缩估计 |
|
||
|
||
返回:array
|
||
|
||
### `frameCov_BS(data, alpha)`
|
||
|
||
协方差BS压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见BS协方差压缩估计 |
|
||
|
||
返回:array
|
||
|
||
### `frameIndex_filter(rawkeys, filter_cond, filter_type, dz_valuetokey)`
|
||
|
||
数组筛选器,用于下标数组行名或列名的筛选器
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ------ | ---------------------------------------- |
|
||
| `rawkeys` | array | 一维字符串数组,下标数组(0开始的自增下标) |
|
||
| `filter_cond` | string | 字符串,筛选条件 |
|
||
| `filter_type` | any | 用户自定义,筛选类型 |
|
||
| `dz_valuetokey` | any | 整数,Out:类型1时,输出ivalue对照用 |
|
||
|
||
返回:array
|
||
|
||
### `frameIndex_getilocDZ(raw_data_cols)`
|
||
|
||
用于方便获取 下标值 与 字段位置 下标数组对照(下标值->下标位置)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ----- | ---------------------------------------- |
|
||
| `raw_data_cols` | array | 一维字符串数组,下标数组(从0开始自增数组) |
|
||
|
||
返回:array
|
||
|
||
### `mt_Multiplication(a, b, c)`
|
||
|
||
求N×M阶矩阵A与M×L阶矩阵B的乘积矩阵,即C=A×B
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×M。被乘矩阵 |
|
||
| `b` | array | 实型二维数组,体积为M×L。乘矩阵 |
|
||
| `c` | array | 实型二维数组,体积为N×L。返回的结果矩阵 |
|
||
|
||
返回:any
|
||
|
||
### `mt_Addition(a, b, c)`
|
||
|
||
求N×M阶矩阵A与N×M阶矩阵B的和矩阵,即C=A+B
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×M。被加矩阵 |
|
||
| `b` | array | 实型二维数组,体积为N×M。加矩阵 |
|
||
| `c` | array | 实型二维数组,体积为N×M。返回的结果矩阵 |
|
||
|
||
返回:any
|
||
|
||
### `mt_Subtraction(a, b, c)`
|
||
|
||
求N×M阶矩阵A与N×M阶矩阵B的差矩阵,即C=A-B
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×M。被减矩阵 |
|
||
| `b` | array | 实型二维数组,体积为N×M。减矩阵 |
|
||
| `c` | array | 实型二维数组,体积为N×M。返回的结果矩阵 |
|
||
|
||
返回:any
|
||
|
||
### `mt_Transposition(a, c)`
|
||
|
||
求m×n阶矩阵A的转置矩阵,即C=
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×M。转置前矩阵 |
|
||
| `c` | array | 实型二维数组,体积为M×N。返回转置后的结果矩阵 |
|
||
|
||
返回:any
|
||
|
||
### `mt_iv_Gauss_Jordan(a, x)`
|
||
|
||
用高斯-约当(Gauss-Jordan)法求解n阶方阵A的逆矩阵
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×N。原矩阵 |
|
||
| `x` | array | 实型二维数组,体积为N×N。返回的逆矩阵 |
|
||
|
||
返回:any
|
||
|
||
### `mt_iv_Ldl(a, x)`
|
||
|
||
求n阶对称正定矩阵A的逆矩阵
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×N。原矩阵,必须为一个对称矩阵 |
|
||
| `x` | array | 实型二维数组,体积为N×N。返回的逆矩阵 |
|
||
|
||
返回:any
|
||
|
||
### `mt_va_Gauss_Jordan(a, v)`
|
||
|
||
用高斯-约当(Gauss-Jordan)法求解n阶方阵A的行列式值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×N。 |
|
||
| `v` | float | 实型数。返回的行列式值 |
|
||
|
||
返回:any
|
||
|
||
### `mt_va_Cholesky(a, v)`
|
||
|
||
求对称正定矩阵的行列式值平方根
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×N。原矩阵,必须为一个对称矩阵 |
|
||
| `v` | float | 实型数。返回矩阵行列式值的平方根 |
|
||
|
||
返回:any
|
||
|
||
### `Mt_decompose_lu(h, l, u)`
|
||
|
||
进行lu分解,H方阵,则可以得到下三角阵L,上三角矩阵U
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------- |
|
||
| `h` | array | 需要被分解的对称矩阵 |
|
||
| `l` | array | 下三角阵 |
|
||
| `u` | array | 上三角阵 |
|
||
|
||
返回:any
|
||
|
||
### `mt_decompose_qr(m, q, r, e, qr_type)`
|
||
|
||
E缺省的时候,对矩阵进行QR分解,M=Q :\*R,不缺省E的时候对矩阵进行QRe分解,M:\*e=Q:\*R.该分解使得R矩阵的对角元按绝对值从大倒小排列
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ----- | ------------------------------------------------------------------------------------------------------------- |
|
||
| `m` | array | 待分解矩阵 |
|
||
| `q` | array | 可选参数,变参返回正交矩阵Q |
|
||
| `r` | array | 可选参数,变参返回上三角矩阵R |
|
||
| `e` | array | 可选参数,变参返回列置换矩阵E,默认E的结构是一个方阵,当有qr_Type参数时,0:E方阵,1:E为1维数组,2:忽略E参数。 |
|
||
| `qr_type` | any | 可选参数,整数,为0,1,2之一,用于设定E参数的行为。 |
|
||
|
||
返回:array
|
||
|
||
### `mt_decompose_eig(a, wr, wi, vr)`
|
||
|
||
计算特征值及特征向量
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------- |
|
||
| `a` | array | 需要被计算的n\*m矩阵 |
|
||
| `wr` | array | 变参返回A的特征值的实部,一维数组 |
|
||
| `wi` | array | 变参返回A的特征值的虚部,一维数组 |
|
||
| `vr` | array | 变参返回A的特征向量,二维数组 |
|
||
|
||
返回:array
|
||
|
||
### `mt_decompose_svd(a, s, u, d)`
|
||
|
||
矩阵的奇异值(SVD)分解
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------- |
|
||
| `a` | array | 待分解的m\*n矩阵 |
|
||
| `s` | array | 变参返回A的奇异值,一维数组 |
|
||
| `u` | array | 变参返回A的左奇异矩阵,二维数组 |
|
||
| `d` | array | 变参返回A的右奇异矩阵,二维数组 |
|
||
|
||
返回:any
|
||
|
||
### `mt_decompose_chol(a, ra, flag)`
|
||
|
||
cholesky分解基础函数;如果不担心效率可以使用公用函数chol
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ----------------------------------------- |
|
||
| `a` | array | 待分解的方正矩阵(二维数字数组,行列数相同) |
|
||
| `ra` | array | 分解结果返回 |
|
||
| `flag` | bool | object |
|
||
|
||
返回:array
|
||
|
||
### `mt_decompose_ldl(a, ra, p)`
|
||
|
||
ldl 分解基础函数,如果a正定L\*D\*`L=A;
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||
| `a` | array | 待分解的方正矩阵(二维数字数组,行列数相同) |
|
||
| `ra` | array | 分解结果返回,包括,三角矩阵,对角矩阵 |
|
||
| `p` | array | 分解结果的行列信息.a如果为正定矩阵那么p为1到length(a)递增序列.此时,ra的下三角为 L矩阵,对角元为D矩阵.当p为非递增序列,时表示行列置换信息.如果p\[i\]=k>0 and k<> i+1,那么a的i行和k-1行互换,i列与k-1列互换,p\[i\]=k<0 那么d在此处为2\*2的块,在ra的i-1,i行列的4个元,a的第i行和k-1行互换,i列和k-1列互换. |
|
||
|
||
返回:array
|