Migrate reference pages to declaration-line storage and rebuild the 13-column index. Add qualified member lookup plus regression and end-to-end coverage.
349 lines
14 KiB
Markdown
349 lines
14 KiB
Markdown
# Builtin - 数学 / 矩阵
|
||
|
||
## 矩阵运算
|
||
|
||
## `mInit(size_or_shape, value)`
|
||
|
||
声明:function
|
||
|
||
生成指定尺寸并填充指定值的 FMArray。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ----- | ----------------------------------------------- |
|
||
| `size_or_shape` | array | 一维长度,或形如 `array(rows, cols)` 的尺寸数组 |
|
||
| `value` | float | 填充值;值的类型决定 FMArray 单元格类型 |
|
||
|
||
返回:fmarray
|
||
|
||
## `mInitDiag(rows, cols, value)`
|
||
|
||
声明:function
|
||
|
||
生成对角线填充值的 FMArray。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------- | ------------ |
|
||
| `rows` | integer | 行数 |
|
||
| `cols` | integer | 列数 |
|
||
| `value` | float | 对角线填充值 |
|
||
|
||
返回:fmarray
|
||
|
||
## `mRand(rows, cols)`
|
||
|
||
声明:function
|
||
|
||
生成随机 FMArray。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ------- | ---- |
|
||
| `rows` | integer | 行数 |
|
||
| `cols` | integer | 列数 |
|
||
|
||
返回:fmarray
|
||
|
||
## 数值微积分
|
||
|
||
## `frameMean_JS(data, b_type, equal_var, alpha)`
|
||
|
||
声明:function
|
||
|
||
均值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)`
|
||
|
||
声明:function
|
||
|
||
均值BS压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ------------------------------------------------------------------------ |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见BS均值压缩估计 |
|
||
|
||
返回:array
|
||
|
||
## `frameMean_BOP(data, b_type, alpha)`
|
||
|
||
声明:function
|
||
|
||
均值BOP压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------ | -------------------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `b_type` | string | 字符串,压缩目标均值向量,b0:零向量,b1:均值,b2:波动率加权均值,b3:样本均值的均方误差 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见BOP均值压缩估计 |
|
||
|
||
返回:array
|
||
|
||
## `frameCov_LW(data, alpha)`
|
||
|
||
声明:function
|
||
|
||
协方差LW压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见LW协方差压缩估计 |
|
||
|
||
返回:array
|
||
|
||
## `frameCov_OAS(data, alpha)`
|
||
|
||
声明:function
|
||
|
||
协方差OAS压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | --------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见OAS协方差压缩估计 |
|
||
|
||
返回:array
|
||
|
||
## `frameCov_BS(data, alpha)`
|
||
|
||
声明:function
|
||
|
||
协方差BS压缩估计
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------------------------------------- |
|
||
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
|
||
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见BS协方差压缩估计 |
|
||
|
||
返回:array
|
||
|
||
## `frameIndex_filter(rawkeys, filter_cond, filter_type, dz_valuetokey)`
|
||
|
||
声明:function
|
||
|
||
数组筛选器,用于下标数组行名或列名的筛选器
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ------ | ---------------------------------------- |
|
||
| `rawkeys` | array | 一维字符串数组,下标数组(0开始的自增下标) |
|
||
| `filter_cond` | string | 字符串,筛选条件 |
|
||
| `filter_type` | any | 用户自定义,筛选类型 |
|
||
| `dz_valuetokey` | any | 整数,Out:类型1时,输出ivalue对照用 |
|
||
|
||
返回:array
|
||
|
||
## `frameIndex_getilocDZ(raw_data_cols)`
|
||
|
||
声明:function
|
||
|
||
用于方便获取 下标值 与 字段位置 下标数组对照(下标值->下标位置)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ----- | ---------------------------------------- |
|
||
| `raw_data_cols` | array | 一维字符串数组,下标数组(从0开始自增数组) |
|
||
|
||
返回:array
|
||
|
||
## `mt_Multiplication(a, b, c)`
|
||
|
||
声明:function
|
||
|
||
求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)`
|
||
|
||
声明:function
|
||
|
||
求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)`
|
||
|
||
声明:function
|
||
|
||
求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)`
|
||
|
||
声明:function
|
||
|
||
求m×n阶矩阵A的转置矩阵,即C=
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×M。转置前矩阵 |
|
||
| `c` | array | 实型二维数组,体积为M×N。返回转置后的结果矩阵 |
|
||
|
||
返回:any
|
||
|
||
## `mt_iv_Gauss_Jordan(a, x)`
|
||
|
||
声明:function
|
||
|
||
用高斯-约当(Gauss-Jordan)法求解n阶方阵A的逆矩阵
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×N。原矩阵 |
|
||
| `x` | array | 实型二维数组,体积为N×N。返回的逆矩阵 |
|
||
|
||
返回:any
|
||
|
||
## `mt_iv_Ldl(a, x)`
|
||
|
||
声明:function
|
||
|
||
求n阶对称正定矩阵A的逆矩阵
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×N。原矩阵,必须为一个对称矩阵 |
|
||
| `x` | array | 实型二维数组,体积为N×N。返回的逆矩阵 |
|
||
|
||
返回:any
|
||
|
||
## `mt_va_Gauss_Jordan(a, v)`
|
||
|
||
声明:function
|
||
|
||
用高斯-约当(Gauss-Jordan)法求解n阶方阵A的行列式值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×N。 |
|
||
| `v` | float | 实型数。返回的行列式值 |
|
||
|
||
返回:any
|
||
|
||
## `mt_va_Cholesky(a, v)`
|
||
|
||
声明:function
|
||
|
||
求对称正定矩阵的行列式值平方根
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------------------- |
|
||
| `a` | array | 实型二维数组,体积为N×N。原矩阵,必须为一个对称矩阵 |
|
||
| `v` | float | 实型数。返回矩阵行列式值的平方根 |
|
||
|
||
返回:any
|
||
|
||
## `Mt_decompose_lu(h, l, u)`
|
||
|
||
声明:function
|
||
|
||
进行lu分解,H方阵,则可以得到下三角阵L,上三角矩阵U
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------- |
|
||
| `h` | array | 需要被分解的对称矩阵 |
|
||
| `l` | array | 下三角阵 |
|
||
| `u` | array | 上三角阵 |
|
||
|
||
返回:any
|
||
|
||
## `mt_decompose_qr(m, q, r, e, qr_type)`
|
||
|
||
声明:function
|
||
|
||
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)`
|
||
|
||
声明:function
|
||
|
||
计算特征值及特征向量
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------- |
|
||
| `a` | array | 需要被计算的n\*m矩阵 |
|
||
| `wr` | array | 变参返回A的特征值的实部,一维数组 |
|
||
| `wi` | array | 变参返回A的特征值的虚部,一维数组 |
|
||
| `vr` | array | 变参返回A的特征向量,二维数组 |
|
||
|
||
返回:array
|
||
|
||
## `mt_decompose_svd(a, s, u, d)`
|
||
|
||
声明:function
|
||
|
||
矩阵的奇异值(SVD)分解
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------- |
|
||
| `a` | array | 待分解的m\*n矩阵 |
|
||
| `s` | array | 变参返回A的奇异值,一维数组 |
|
||
| `u` | array | 变参返回A的左奇异矩阵,二维数组 |
|
||
| `d` | array | 变参返回A的右奇异矩阵,二维数组 |
|
||
|
||
返回:any
|
||
|
||
## `mt_decompose_chol(a, ra, flag)`
|
||
|
||
声明:function
|
||
|
||
cholesky分解基础函数;如果不担心效率可以使用公用函数chol
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ----------------------------------------- |
|
||
| `a` | array | 待分解的方正矩阵(二维数字数组,行列数相同) |
|
||
| `ra` | array | 分解结果返回 |
|
||
| `flag` | bool | object |
|
||
|
||
返回:array
|
||
|
||
## `mt_decompose_ldl(a, ra, p)`
|
||
|
||
声明:function
|
||
|
||
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
|