1919 lines
78 KiB
Markdown
1919 lines
78 KiB
Markdown
# 运行时 / 数学与统计
|
||
|
||
## `Anova_Bartlett(y, alpha)`
|
||
|
||
在1-alpha的置信水平下,Bartlett方法检验方差齐性;B-Stat为统计值,P-Value为p值,df为自由度,Hypothesis为是否接受原假设 模型表达: Bartlett检验思想来源于几何平均数小于或等于算术平均数 原假设:是水平个数 ,其中 修正的Bartlett检验:
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------- |
|
||
| `y` | array | 数据矩阵,为二维数组类型,每一行表示一个水平 |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间 |
|
||
|
||
返回:array
|
||
|
||
## `Anova_Levene(y, alpha)`
|
||
|
||
在1-Alpha的置信水平下,Levene方法检验方差齐性,和Bartlett检验不同的是,Levene检验不要求总体具有正态性。返回一个数组,F-Stat为统计值,P-Value为p值,df1,df2为自由度,Hypothesis为是否接受原假设 模型表达: 原假设:是水平个数 ,其中是观察数目,是水平数目
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------- |
|
||
| `y` | array | 数据矩阵,为二维数组类型,每一行表示一个水平 |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间 |
|
||
|
||
返回:array
|
||
|
||
## `Anova_Single(y, alpha)`
|
||
|
||
在1-alpha置信水平下,在假设服从正态分布,且方差齐性,样本之间独立的基础上,判断各水平的均值是否显著相等 模型表达: , 其中:效应平方和:,误差平方和: 总离差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------- |
|
||
| `y` | array | 数据矩阵,为二维数组类型,每一行表示一个水平 |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间 |
|
||
|
||
返回:array
|
||
|
||
## `Anova_Twice(y, alpha)`
|
||
|
||
在1-alpha的置信水平下,进行双因子方差分析,假设每一种情况都服从一个正态分布,且方差相等,数据独立,判断各水平的均值是否显著相等 模型表达: 有A,B两个因素,因素A有r个水平,B有s个水平,对于A,B每一个组合(Ai,Bj)都进行t次试验,得到结果: 因素B 因素A B1 B2 … Bs A1 X111, X112,…,X11t X121, X122,…,X12t … X1s1, X1s2,…,X1st A2 X211, X212,…, X21t X221, X222,…, X22t … X2s1, X2s2,…, X2st … … … … Ar Xr11, Xr12,…, Xr1t Xr21, Xr22,…, Xr2t … Xrs1, Xrs2,…, Xrst 设:且相互独立 ,其中,是水平Ai的效应,是水平Bj的效应,称为水平Ai和Bj的交互效应。, 原假设:,, 现构造了3个F统计量来分别检验假设,原理略
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ----------------------------------------------------------------------------------------------- |
|
||
| `y` | array | 数据矩阵,为二维数组类型,每rep行,每一列表示一个交叉项 |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间;Rep:每一个交叉项,做rep次试验,rep=1时,没有交叉效应为0的假设 |
|
||
|
||
返回:array
|
||
|
||
## `arma(series, p, q)`
|
||
|
||
自回归移动平均模型,ARMA(p,q)模型,采用逆函数去估计自回归系数和移动平均系数,返回结果有自回归系数、移动平均系数、残差方差等信息 ARMA模型: 其中:为原序列零均值化的新序列,是自回归方程系数,为移动平均系数,是零均值、方差为的平稳白噪声
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||
| `series` | array | 样本序列,为一维数组类型,注意要零均值化 |
|
||
| `p` | int | 自回归阶数,整数类型 |
|
||
| `q` | int | 移动平均阶数,整数类型;返回结果:;Ret\["AR"\]:参数估计结果,,第一项为1;Ret\["MA"\]:参数估计结果,,第一项为1;Ret\["T-test"\]:AR模型参数的T检验;Ret\["LossFunction"\];Ret\["FPE"\]:预测最大误差;Ret\["AIC"\]:模型的AIC信息准则;Ret\["SC"\]:模型的SC信息准则;Ret\["e"\]:残差信息;Ret\["Inverted AR Roots"\]:AR特征方程的特征根;Ret\["Inverted MA Roots"\]:MA特征方程的特征根;Ret\["R_squared"\]:AR模型的可决系数;Ret\["Adjusted_R_squared "\]:AR模型的修正可决系数;Ret\["Sum_squared_resid"\]:AR模型的离差平方和;Ret\["Durbin Watson stat"\]:DW统计量;Ret\["Log Likelihood"\]:对数极大似然值;Ret\["S.E. of regression"\]:回归标准差 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
elps:=randnorm(0,1,200);
|
||
y:=array();
|
||
y[0]:=0;
|
||
for i:=1 to 199 do
|
||
y[i]:=0.8*y[i-1]+elps[i]-0.4*elps[i-1];
|
||
arma(y,1,1);
|
||
```
|
||
|
||
## `Cluster_Kmeans(samples, class_count, options)`
|
||
|
||
执行 K-means 聚类。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------- | ----- | ------------------------------------------------------ |
|
||
| `samples` | array | 样本矩阵 |
|
||
| `class_count` | any | 聚类数量 |
|
||
| `options` | array | 参数表;常见键包括 `maxiter`、`tol`、`distance`、`out` |
|
||
|
||
返回:array
|
||
|
||
## `Cluster_ward(samples)`
|
||
|
||
执行 Ward 聚类。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ----- | -------- |
|
||
| `samples` | array | 样本矩阵 |
|
||
|
||
返回:array
|
||
|
||
## `correlationMatrix(a1, t)`
|
||
|
||
相关系数矩阵求解
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `a1` | array | |
|
||
| `t` | float | |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
a := rand(4,3);
|
||
correlationMatrix(a,1);
|
||
```
|
||
|
||
## `Corr_partial(x, y, z, _type)`
|
||
|
||
偏相关系数,返回x和y在控制变量z下的偏相关系数,行为样本,列为指标
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ---------------------------------------------------------------------------------------------------------------- |
|
||
| `x` | array | 变量一,二维实数数组 |
|
||
| `y` | array | 变量二,二维实数数组 |
|
||
| `z` | array | 控制变量,二维实数数组 |
|
||
| `_type` | any | 1:pearson偏相关;2:Spearman偏相关;tail:假设检验的三种类型,字符串,取值为both、left和right,缺省是只输出相关系数 |
|
||
|
||
返回:any
|
||
|
||
## `covariance(a)`
|
||
|
||
计算协方差矩阵
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `a` | array | |
|
||
|
||
返回:any
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
a := rand(4,3);
|
||
covariance(a);
|
||
```
|
||
|
||
## `Eigen_Jacobi(matrix, eigen_values, eigen_vectors)`
|
||
|
||
用 Jacobi 方法计算矩阵特征值和特征向量。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ----- | ---------------- |
|
||
| `matrix` | array | 待分解矩阵 |
|
||
| `eigen_values` | any | 接收特征值数组 |
|
||
| `eigen_vectors` | any | 接收特征向量矩阵 |
|
||
|
||
返回:void
|
||
|
||
## `eye(size)`
|
||
|
||
生成单位矩阵。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ---- | ------------------------------------------ |
|
||
| `size` | any | 行数和列数;`eye(3)` 生成 `3 x 3` 单位矩阵 |
|
||
|
||
返回:array
|
||
|
||
## `factor(x, var_value)`
|
||
|
||
对样本数据进行因子分析,分别采用主成分分析法估计因子载荷矩阵(因子载荷矩阵不唯一),方差最大法做载荷矩阵的正交旋转矩阵,回归方法计算因子得分
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||
| `x` | array | 二维维实数数组,表示样本矩阵; |
|
||
| `var_value` | float | 实数,表示方差贡献率,控制因子个数;;返回结果:ss;Ret\["Correlation Matrix",0\]:样本数据的相关系数矩阵;Ret\["kmo",0\]:KMO检验值;0.9<KMO: 非常适合;0.8<KMO<0.9:适合;0.7<KMO<0.8:一般; 0.6<KMO<0.7:适合度较低;KMO<0.6:适合度很低;ret\["Total Variance Explained",0\]:特征值、方差贡献率、累计方差贡献率等信息;ret\["Component Matrix",0\]:因子载荷矩阵;ret\["Communalities",0\]:共同变量度,即载荷矩阵行的平方和;ret\["thogonal matrix",0\]:正交变换后的载荷矩阵;ret\["Rotation matrix",0\]:旋转矩阵;ret\["Factor score",0\]:因子得分 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
stockn:=getBk("上证A股");
|
||
vo:=BackUpSystemParameters();
|
||
setSysParam(pn_date(),today());
|
||
sto:=array();
|
||
for n_i:=0 to length(stockn)-1 do
|
||
begin
|
||
setSysParam(pn_stock(),stockn[n_i]);
|
||
if isStockGoMarket(intToDate(20011231)) then
|
||
sto[length(sto)]:=stockn[n_i];
|
||
end
|
||
st:=array2Str(sto,";");
|
||
a1:= query("",st,true,"","代码",defaultStockId(),
|
||
"主营业务利润",report(46008,20101231),
|
||
"利润总额",report(46024,20101231),
|
||
"净利润",report(46033,20101231),
|
||
"加权每股收益",report(42003,20101231),
|
||
"每股净资产",report(42006,20101231),
|
||
"加权净资产收益率",report(42013,20101231),
|
||
"资产总计",report(44059,20101231),
|
||
"股本",report(44099,20101231));
|
||
RestoreSystemParameters(vo);
|
||
a:=zeros(mrows(a1),mcols(a1));
|
||
a[:,:]:=a1[:,:];
|
||
stock:=a[:,0];
|
||
data:=a[:,1:8];
|
||
//取得纯数据矩阵
|
||
br:=factor(data,0.85); //
|
||
br;
|
||
```
|
||
|
||
## `histc(a, b)`
|
||
|
||
端点定位频数,判断序列a 中各个元素在b中各个段位中的频数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------- |
|
||
| `a` | array | 一维数组 |
|
||
| `b` | array | 一维数组 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
a:=rand(1000)*5;
|
||
b:=array(0,1,2,3,4,5);
|
||
histc(a,b);
|
||
```
|
||
|
||
## `Hypoth_LSUTest(mx, s, n, u, tail, alpha)`
|
||
|
||
单个或两个总体大样本的均值检验,即大样本U检验,返回的结果是一个数组,第一个数为统计值,二为p值,三为原假设的值(0表示拒绝,1表示接受) 模型表达 单个总体大样本的均值原假设:tail取值both:;left:;right: 两个总体大样本的均值假设:tail取值both:;left:;right: 检验统计量: 或 其中:x为样本x的均值,y为样本y的均值,为正态总体x方差,为正态总本y方差,m,n分别为样本x和y的容量s
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | ---------------------------------------------------------- |
|
||
| `mx` | array | 样本均值数组,第一行为样本1,第二行为样本2,为一维数组类型 |
|
||
| `s` | any | 样本方差数组,第一行为样本1,第二行为样本2,为一维数组类型 |
|
||
| `n` | array | 样本容量,第一行为样本1,第二行为样本2,为一维数组类型 |
|
||
| `u` | float | 单个总体时,为假设检验均值,两个总体时,为均值差 |
|
||
| `tail` | string | 假设检验类型 |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间 |
|
||
|
||
返回:array
|
||
|
||
## `Hypoth_PSignTest(x, pi, q0, tail, alpha)`
|
||
|
||
非参数检验-配对样本符号检验,配对样本的符号检验 要求样本矩阵中两个样本是配对出现的 可以按照实际需求选择双侧或单侧检验
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | --------------------------------------- |
|
||
| `x` | array | 一维数字数组,样本矩阵 |
|
||
| `pi` | float | 实数,分位点 |
|
||
| `q0` | float | 实数,检验值 |
|
||
| `tail` | string | 字符串,双侧检验 or 左侧检验 or 右侧检验 |
|
||
| `alpha` | float | 实数,显著性水平 |
|
||
|
||
返回:array
|
||
|
||
## `Hypoth_SignTest(x, pi, q0, tail, alpha)`
|
||
|
||
非参数检验-符号检验。对单样本进行符号检验 可以按照实际需求选择双侧或单侧检验 其中,检验变量服从二项分布
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | --------------------------------------------------------------------------------------- |
|
||
| `x` | array | 样本序列,为一维数字数组类型 |
|
||
| `pi` | float | 分位点,为实数类型 |
|
||
| `q0` | float | 检验值,即检验分位点的值,为实数类型 |
|
||
| `tail` | string | 假设检验的三种类型,both(双侧检验),left(左侧检验),right(右侧检验),为字符串类型 |
|
||
| `alpha` | float | 显著性水平,在0-1之间,为实数类型 |
|
||
|
||
返回:array
|
||
|
||
## `Hypoth_SNDTest(x, d2, tail, alpha)`
|
||
|
||
单个正态总体方差的卡方检验,返回的结果是一个数组,第一个数为统计值,二为p值,三为原假设的值(0表示拒绝,1表示接受) 模型表达: 原假设:tail取值both:;left:;right: 检验统计量: 其中:为假设检验的方差,n为样本容量,s为样本标准差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | -------------------------------- |
|
||
| `x` | array | 样本序列,为一维数组类型 |
|
||
| `d2` | float | 假设检验的方差,为实数类型 |
|
||
| `tail` | string | 假设检验类型 |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间 |
|
||
|
||
返回:array
|
||
|
||
## `Hypoth_SNUTest(x, u, d, tail, alpha)`
|
||
|
||
单个正态总体的均值检验,分为标准差未知和已知两个情况,返回结果是一个数组,第一个数为统计值,二为p值,三为原假设的值(0表示拒绝,1表示接受) 模型表达: 原假设:tail取值both:;left:;right: 检验统计量:分为两种情况 1)标准差已知时,即d有取值,为U检验: 2)标准差未知时,即d取nil,为T检验: 其中:x为样本均值,为检验均值,为正态总体标准差,n为样本容量,s为样本标准差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | --------------------------------------------------- |
|
||
| `x` | array | 样本序列,为一维数组类型 |
|
||
| `u` | float | 假设检验均值,为实数类型 |
|
||
| `d` | float | 正态总体的标准差,为实数类型,若未知,则输入nil |
|
||
| `tail` | string | 假设检验的三种类型,字符串,取值为both、left和right |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间 |
|
||
|
||
返回:array
|
||
|
||
## `Hypoth_TNDTest(x, tail, alpha)`
|
||
|
||
两个正态总体方差比的F检验,返回的结果是一个数组,第一个数为统计值,二为p值,三为原假设的值(0表示拒绝,1表示接受) 模型表达: 原假设:tail取值both:;left:;right: 检验统计量: 其中:Sx为x的样本标准差,Sy为y的样本标准差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | ---------------------------------------------------------- |
|
||
| `x` | array | 样本序列矩阵,第一行为样本1,第二行为样本2,为二维数组类型 |
|
||
| `tail` | string | 假设检验类型 |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间 |
|
||
|
||
返回:array
|
||
|
||
## `Hypoth_TNUTest(x, uu, d, tail, alpha, isequal)`
|
||
|
||
两个正态总体均值差的检验,分为标准差未知和已知两个情况,返回的结果是一个数组,第一个数为统计值,二为p值,三为是否接受原假设 模型表达: 原假设:tail取值both:;left:;right: 检验统计量: 标准差已知时,即d数组有取值,为u检验: 标准差未知时,即d取(nil,nil),为t检验:, 其中:为样本x的均值,为样本y的均值,,为正态总体x,y的方差,分别为样本x和y的容量,为联合样本标准差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------ | ------------------------------------------------------------- |
|
||
| `x` | array | 样本序列矩阵,为二维数组类型,第一行为样本1,第二行为样本2 |
|
||
| `uu` | float | 假设检验均值差,为实数类型 |
|
||
| `d` | float | 正态总体的标准差数组,为一维数组类型,若未知,则输入(nil,nil) |
|
||
| `tail` | string | 假设检验的三种类型,字符串,取值为both、left和right |
|
||
| `alpha` | float | 显著性水平,实数或整数,在01之间 |
|
||
| `isequal` | bool | object |
|
||
|
||
返回:array
|
||
|
||
## `ig_Chebyshev(a, b, call_back, v)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------ | ---- |
|
||
| `a` | any | |
|
||
| `b` | any | |
|
||
| `call_back` | string | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ig_Gauss(a, b, call_back, v)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------ | ---- |
|
||
| `a` | any | |
|
||
| `b` | any | |
|
||
| `call_back` | string | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Aitken_A(x, y, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x` | array | |
|
||
| `y` | array | |
|
||
| `xv` | any | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Aitken_B(x0, h, y, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x0` | float | |
|
||
| `h` | float | |
|
||
| `y` | array | |
|
||
| `xv` | any | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Hermite_A(x, y, dy, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x` | array | |
|
||
| `y` | any | |
|
||
| `dy` | any | |
|
||
| `xv` | any | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Hermite_B(x0, h, y, dy, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x0` | any | |
|
||
| `h` | any | |
|
||
| `y` | array | |
|
||
| `dy` | array | |
|
||
| `xv` | float | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Lagrangian_A(x, y, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x` | array | |
|
||
| `y` | any | |
|
||
| `xv` | any | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Lagrangian_B(x0, h, y, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x0` | float | |
|
||
| `h` | float | |
|
||
| `y` | array | |
|
||
| `xv` | any | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Parabola_A(x, y, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x` | array | |
|
||
| `y` | array | |
|
||
| `xv` | any | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Parabola_B(x0, h, y, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x0` | float | |
|
||
| `h` | float | |
|
||
| `y` | array | |
|
||
| `xv` | any | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Spline_A(x, y, dy0, dyn_1, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ---- |
|
||
| `x` | array | |
|
||
| `y` | array | |
|
||
| `dy0` | any | |
|
||
| `dyn_1` | any | |
|
||
| `xv` | float | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Spline_B(x, y, ddy0, ddyn_1, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | ---- |
|
||
| `x` | array | |
|
||
| `y` | array | |
|
||
| `ddy0` | any | |
|
||
| `ddyn_1` | any | |
|
||
| `xv` | float | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## `ip_Spline_C(x, y, xv, yv)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x` | array | |
|
||
| `y` | array | |
|
||
| `xv` | float | |
|
||
| `yv` | any | |
|
||
|
||
返回:any
|
||
|
||
## 一般统计量
|
||
|
||
## `LeastSquares_CurveFitting(f, y)`
|
||
|
||
最小二乘法进行回归
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---------------------------- |
|
||
| `f` | array | 二维数字数组类型,系数矩阵 |
|
||
| `y` | array | 一维数字数组类型,观察数据值 |
|
||
|
||
返回:array
|
||
|
||
## `mcols(value, mode)`
|
||
|
||
读取矩阵样数据或 FMArray 的列数或列索引。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | --------------------------------------- |
|
||
| `value` | array | 输入数据 |
|
||
| `mode` | any | 省略时返回列数;传 `1` 时返回列索引数组 |
|
||
|
||
返回:array
|
||
|
||
## `mrows(value, mode)`
|
||
|
||
读取矩阵样数据或 FMArray 的行数或行索引。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | --------------------------------------- |
|
||
| `value` | array | 输入数据 |
|
||
| `mode` | any | 省略时返回行数;传 `1` 时返回行索引数组 |
|
||
|
||
返回:array
|
||
|
||
## `msize(value, mode)`
|
||
|
||
读取矩阵样数据或 FMArray 的尺寸信息。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ----------------------------------------- |
|
||
| `value` | array | 输入数据 |
|
||
| `mode` | any | 省略时返回各维长度;传 `1` 时返回索引数组 |
|
||
|
||
返回:array
|
||
|
||
## `multipleRegression(x, y, call_back)`
|
||
|
||
多元回归
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------ | ------------------------------ |
|
||
| `x` | array | 二维数字数组类型,观察数据点 |
|
||
| `y` | array | 一维数字数组类型,观察数据值 |
|
||
| `call_back` | string | 字符串类型,计算系数矩阵的回调 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x:=array((0.00,0.00),(0.00,1.00),(1.00,0.00),(1.00,1.00));
|
||
y:=array(1.00,2.00,2.00,3.00);
|
||
call_back:='MultipleRegression_CallBack';
|
||
multipleRegression(x,y,call_back);
|
||
//结果:
|
||
```
|
||
|
||
## `NonLP_Fminbnd(fun, a, b, methods)`
|
||
|
||
一维最小值搜索,求解模型如下: min fun(x)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------ | ------------------------------------------------------------------------------ |
|
||
| `fun` | string | 目标函数(函数名字符串) |
|
||
| `a` | float | 下界,实数 |
|
||
| `b` | float | 上界,实数 |
|
||
| `methods` | any | 方法选择0 :黄金分割法+抛物线法(默认)1 : 盲人收索法2 :黄金分割法3 :斐波那契法 |
|
||
|
||
返回:array
|
||
|
||
## `NonLP_Rosenbrock(fun, x0)`
|
||
|
||
(无约束最小值求解建议统一使用NonLP_Fminsearch函数)Rosenbrock求无约束多维极值问题,返回最优点和最优值。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----- | ------ | ------------------------------ |
|
||
| `fun` | string | 目标函数表达式,为字符串类型; |
|
||
| `x0` | array | 初值向量,为一维数组类型 |
|
||
|
||
返回:array
|
||
|
||
## `numberOfPeriods(rate, payment, present_value, future_value, payment_time)`
|
||
|
||
返回投资的期数,也就是按照指定的收益率和每期的付款,现值PresentValue要经过多少个周期才能到达FutureValue的数值。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ----- | ------------------------------------------------ |
|
||
| `rate` | float | 实数,收益率 |
|
||
| `payment` | float | 实数。每期付款额 |
|
||
| `present_value` | float | 实数,现值 |
|
||
| `future_value` | int | 实数,要达到的终值 |
|
||
| `payment_time` | float | PaymentTime决定Payment的支付是在期初还是期末发生 |
|
||
|
||
返回:float
|
||
|
||
## `ozProg(f, a, b)`
|
||
|
||
(线性规划,包括整数规划,01规划建议统一使用prog_L函数),0-1规划,解决如下0-1整数规划模型问题 返回该0-1规划模型的最小值及其对应变量的取值,其中可以转化为和;
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------------------------------------------------------------------- |
|
||
| `f` | array | 一维实数数组,表示0-1规划模型的目标函数系数; |
|
||
| `a` | array | 二维实数数组,表示0-1规划模型的带“”约束方程系数矩阵,如果是带“”,则将该方程两边同乘以“-1”; |
|
||
| `b` | array | 一维实数数组,表示0-1规划模型带“”约束方程的约束值; |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
f:=array(-3,2,-5);
|
||
a:=array((1,2,-1),(1,4,1),(1,1,0),(4,0,1));
|
||
b:=array(2,4,3,6);
|
||
ozProg(f,a,b);
|
||
//结果:x1=1,x2=0,x3=1,f(x)=-8
|
||
```
|
||
|
||
## `Prog_Q(h, f, a, b, aeq, beq, lb, ub, x0, options)`
|
||
|
||
二次规划问题求解(采用作用集方法) Prog_Q(H,f,A,b) 求解不等式约束 Prog_Q(H,f,A,b,Aeq,beq) 求解不等式约束、等式约束 Prog_Q(H,f,A,b,Aeq,beq,LB,UB) 求解不等式约束、等式约束、上下界限约束 Prog_Q(H,f,A,b,Aeq,beq,LB,UB,x0,options) 模型表达: min= `x\* H\* x /2 + sum(f\*x) st. A:\*x<=b Aeq :\* x = Beq; lb<x<ub;
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||
| `h` | array | 二次型,正定二次型二维数字数组,不可缺省 |
|
||
| `f` | array | 线性目标,一维数字数组,不可缺省 |
|
||
| `a` | array | 线性约束,二维数字数组,不可缺省 |
|
||
| `b` | array | 线性约束,一维数字数组,不可缺省 |
|
||
| `aeq` | array | 线性约束,二维数字数组,缺省为空 |
|
||
| `beq` | array | 线性约束,一维数字数组,缺省为空 |
|
||
| `lb` | array | 下界约束,一维数字数组,缺省为空 |
|
||
| `ub` | array | 上界约束,一维数字数组,缺省为空 |
|
||
| `x0` | array | 初始值,一维数组 |
|
||
| `options` | array | 选项设置,数据表类型,缺省为array('maxiter': 400 , //最大迭代次数'tolcon': 1.0e-6, //约束容忍误差'tolfun' : 1.0e-6 , //目标最小误差'tolx' : 1.0e-6 //变量最小变化) |
|
||
|
||
返回:array
|
||
|
||
## `rand(rows, cols)`
|
||
|
||
生成随机矩阵样结果。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ---- | ---- |
|
||
| `rows` | any | 行数 |
|
||
| `cols` | any | 列数 |
|
||
|
||
返回:array
|
||
|
||
## 数学函数 / FMArray 函数
|
||
|
||
## `randgam(a, b, row, col)`
|
||
|
||
产生伽马分布的随机数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----- | ----- | ---------------------- |
|
||
| `a` | float | 形状参数,大于0的实数 |
|
||
| `b` | float | 尺度参数,大于0的实数 |
|
||
| `row` | array | 行数或者行名字符串数组 |
|
||
| `col` | array | 列数或者列名字符串数组 |
|
||
|
||
返回:any
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
randgam(2,2,100,array("a","b"));
|
||
```
|
||
|
||
## `Regress_CMLS(y, x, u, constant)`
|
||
|
||
线性回归方程的最小二乘法参数估计(可选择是否包含常数项),返回回归方程的系数,如果有常数项则排在第一项
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------- | ----- | -------------------------------------------------- |
|
||
| `y` | array | 被解释变量序列,为一维数组类型 |
|
||
| `x` | array | 解释变量矩阵,为二维数组类型,每一列为一个解释变量 |
|
||
| `u` | array | 残差序列,为一维数组类型,变参 |
|
||
| `constant` | bool | 是否包含常数项,为布尔类型,缺省为true |
|
||
|
||
返回:array
|
||
|
||
## `Regress_domin_formula(y, x)`
|
||
|
||
相对重要性分析-R2公式分解法 功能描述: 1、相对重要性分析 2、算法:根据含常数项的多元回归的r2的分解公式,来计算 不同解释变量的相对贡献度 3、公式法: 未考虑到不同解释变量之间的相互关系, 贡献度可能为负数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---------------------- |
|
||
| `y` | array | Array of number,因变量 |
|
||
| `x` | array | Array of number,自变量 |
|
||
|
||
返回:array
|
||
|
||
## `Regress_DWTest(u)`
|
||
|
||
德宾-沃森检验:检验随机误差项是否存在一阶自相关。结果返回DW统计量 DW统计量:(一般认为值在2附近,则随机误差项不存在自相关)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------------- |
|
||
| `u` | array | 方程残差,为一维数组类型; |
|
||
|
||
返回:any
|
||
|
||
## `Regression_OLS_NW(y, x, constant, alpha, al)`
|
||
|
||
NW调整的OLS回归,此调整用于当残差或者因变量(两者等价)存在异方差性并且自相关性时,利用OLS回归后对回归系数的协方差矩阵进行NW调整计算,得到每个系数White调整后的标准误,再进行T检验。T检验部分相关公式详见Regress_TTest_NW,回归系数的OLS解如下β\*=(X'X)-1X'y 其余部分定义与普通最小二乘OLS一致
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------- | ----- | ------------------------------------------------------------------------------------- |
|
||
| `y` | array | 一维数字数组, 因变量 |
|
||
| `x` | array | 二维数字数组, 自变量,不需要包含全1列 |
|
||
| `constant` | bool | object |
|
||
| `alpha` | float | 实数,显著性水平,应为0到1之间的值,默认0.05 |
|
||
| `al` | any | 整数,自相关最大滞后阶数,可缺省,默认用Newey and West (1994)?提出的方法计算,至少为1 |
|
||
|
||
返回:array
|
||
|
||
## `Regress_MLS(y, x, u)`
|
||
|
||
线性回归方程的最小二乘法参数估计(包含常数项),返回回归方程的系数,常数项排在第一项
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------------------------------------- |
|
||
| `y` | array | 被解释变量序列,为一维数组类型 |
|
||
| `x` | array | 解释变量矩阵,为二维数组类型,每一列为一个解释变量 |
|
||
| `u` | array | 残差序列,为一维数组类型,变参 |
|
||
|
||
返回:array
|
||
|
||
## `Regress_Ridge(y_values, x_values, k_values, trace_mode)`
|
||
|
||
执行岭回归,或按 `k_values` 输出岭迹。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ----- | -------------------------- |
|
||
| `y_values` | array | 因变量样本 |
|
||
| `x_values` | array | 自变量样本矩阵 |
|
||
| `k_values` | array | 岭参数序列;省略时自动选择 |
|
||
| `trace_mode` | bool | 是否按岭迹模式输出 |
|
||
|
||
返回:array
|
||
|
||
## `Regress_TTest_RWLS(x, a, u, k, alpha, constant, weight, restrictiveness)`
|
||
|
||
T检验,在alpha的置信水平下,n元线性回归变量系数的显著性检验 原假设:回归方程系数不显著。带约束的加权最小二乘 RWLS 模型,对回归系数进行显著性检验, 适用于以下
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||
| `x` | array | 一维数字数组,自变量矩阵,注意:含常数项的回归不需要给全1列 |
|
||
| `a` | array | 一维数字数组,方程系数;有常数项时,a 为 常数项系数 union 自变量系数;无常数项时,a 为 自变量系数 |
|
||
| `u` | array | 一维数字数组,残差序列 |
|
||
| `k` | any | 整型,自变量的个数;k = length(a)-constant;有常数项回归时,k := mcols(x);;无常数项回归,k := mcols(x)-1; |
|
||
| `alpha` | float | 实数,显著性水平 |
|
||
| `constant` | bool | Bool,是否为含常数项回归 |
|
||
| `weight` | array | 数组,加权回归的权重,默认等权重 |
|
||
| `restrictiveness` | array | 数组,线性约束,只需要给对应于回归系数个数长度的一维数组,默认无约束;例如:有5个系数,分别为x0,x1,x2,x3,x4;约束为: x1+x2+3x4=3;则所给的参数为:;array(0,1,1,0,3) |
|
||
|
||
返回:array
|
||
|
||
## `Regress_WLS(y_values, x_values, weights, residuals)`
|
||
|
||
执行加权最小二乘回归并输出残差。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ----- | ------------ |
|
||
| `y_values` | array | 因变量样本 |
|
||
| `x_values` | array | 自变量样本 |
|
||
| `weights` | array | 权重序列 |
|
||
| `residuals` | any | 接收残差序列 |
|
||
|
||
返回:array
|
||
|
||
## `sf_Beta(arg1, arg2, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ---- | ---- |
|
||
| `arg1` | any | |
|
||
| `arg2` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_betainv(y, arg2, arg3, x)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ---- |
|
||
| `y` | array | |
|
||
| `arg2` | any | |
|
||
| `arg3` | any | |
|
||
| `x` | any | |
|
||
|
||
返回:any
|
||
|
||
## 常用数学函数
|
||
|
||
## `sf_betapdf(x, a, b, v)`
|
||
|
||
贝塔分布的密度函数,输入随机变量,返回随机变量对应的密度函数值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | --------------------------------------------- |
|
||
| `x` | array | :随机变量,可以使用实数,也可以是一个实数数组 |
|
||
| `a` | float | beta分布参数1,实数,大于0 |
|
||
| `b` | float | beta分布参数2,实数,大于0 |
|
||
| `v` | array | 变参返回,该函数也支持直接返回,类型和x一样 |
|
||
|
||
返回:any
|
||
|
||
## `sf_CosX(arg1, v)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ---- | ---- |
|
||
| `arg1` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_EllipseX_1(k, f, v)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ---- | ---- |
|
||
| `k` | any | |
|
||
| `f` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_EllipseX_2(k, f, v)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ---- | ---- |
|
||
| `k` | any | |
|
||
| `f` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_Error(arg1, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ---- |
|
||
| `arg1` | float | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_eX(arg1, v)`
|
||
|
||
数值计算相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ---- | ---- |
|
||
| `arg1` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_F(f, n1, n2, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ---- | ---- |
|
||
| `f` | any | |
|
||
| `n1` | any | |
|
||
| `n2` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_finv(arg1, arg2, arg3, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ---- |
|
||
| `arg1` | float | |
|
||
| `arg2` | any | |
|
||
| `arg3` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_Gamma(arg1, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ---- | ---- |
|
||
| `arg1` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_gammainv(arg1, arg2, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ---- |
|
||
| `arg1` | float | |
|
||
| `arg2` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_IncompleteBeta(a, b, x, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `a` | any | |
|
||
| `b` | any | |
|
||
| `x` | float | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_IncompleteGamma(a, x, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ---- | ---- |
|
||
| `a` | any | |
|
||
| `x` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_IntegerBessel_1(n, x, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `n` | any | |
|
||
| `x` | float | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_IntegerBessel_2(n, x, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `n` | any | |
|
||
| `x` | float | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_Normal(x, a, d, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ---- | ---- |
|
||
| `x` | any | |
|
||
| `a` | any | |
|
||
| `d` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_normalinv(arg1, arg2, arg3, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ---- |
|
||
| `arg1` | float | |
|
||
| `arg2` | any | |
|
||
| `arg3` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_normalinv2(arg1, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ---- |
|
||
| `arg1` | float | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_RealBessel_1(n, x, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `n` | any | |
|
||
| `x` | float | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_RealBessel_2(n, x, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `n` | any | |
|
||
| `x` | float | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_SinX(arg1, v)`
|
||
|
||
数值微积分相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ---- | ---- |
|
||
| `arg1` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:float
|
||
|
||
## `sf_t(t, n, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `t` | float | |
|
||
| `n` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_tinv(arg1, arg2, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ---- |
|
||
| `arg1` | float | |
|
||
| `arg2` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_X2(x, n, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---- |
|
||
| `x` | float | |
|
||
| `n` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `sf_x2inv(arg1, arg2, v)`
|
||
|
||
统计分布相关函数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ----- | ---- |
|
||
| `arg1` | float | |
|
||
| `arg2` | any | |
|
||
| `v` | any | |
|
||
|
||
返回:any
|
||
|
||
## `SingleUnLineralRegression_CallBack(x)`
|
||
|
||
单元非线性回归的回调函数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---------------- |
|
||
| `x` | array | 一维数字数组类型 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ACF(y)`
|
||
|
||
自相关系数,计算随机序列与所有滞后阶数的相关系数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ----------------------------------------------------------------------------- |
|
||
| `y` | array | 数组,样本序列;;p:整数,返回样本自相关系数序列的长度,默认值为3,允许缺省; |
|
||
|
||
返回:array
|
||
|
||
## `Time_Analyse(y, model, p, q, l)`
|
||
|
||
ARMA模型分析,时间序列的ARMA模型分析,可以自动的选择q与p
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | --------------------------------------------- |
|
||
| `y` | array | 样本序列,为一维数组类型; |
|
||
| `model` | string | 模型类别为AR、MA、ARMA,为字符串类型; |
|
||
| `p` | any | 自回归阶数,取0则自动选择阶数,为整数类型; |
|
||
| `q` | any | 移动平均阶数,取0则自动选择阶数,为整数类型; |
|
||
| `l` | any | 预测步长,为整型类型; |
|
||
|
||
返回:any
|
||
|
||
## `Time_ARCH(r_series, q, l)`
|
||
|
||
自回归条件异方差模型,本模型的ARCH模型如下: sss 可把异方差方程进行整合,得到 用最小二乘法去估计方程的系数了,得到系数的相合估计。 或者用最大似然估计去估计参数,得到精度估计,最大似然估计的目标函数值为:
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------- | ----- | ---------------------------- |
|
||
| `r_series` | array | 资产收益率,为一维数组类型; |
|
||
| `q` | any | 自回归阶数,为整数类型; |
|
||
| `l` | any | 预测步长,为整数类型 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ARCHTest(u, q, alpha)`
|
||
|
||
时间序列异方差的ARCH检验,原假设都为没有异方差,即不存在ARCH效应,Hypothesis为1表示接受原假设,0表示拒绝原假设 检验统计量为: 对方程进行估计,得到F统计量和T×R2统计量并进行检验;
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------------------------- |
|
||
| `u` | array | 残差序列,为一维数组类型 |
|
||
| `q` | any | 滞后阶数,为整数类型 |
|
||
| `alpha` | float | 1-alpha为置信水平,一般为5%,也有1%和10%,数值越小,判断越严格 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ARMA(y, p, q, l)`
|
||
|
||
建议使用ARMA模型替换,自回归移动平均模型,ARMA(p,q)模型,采用逆函数去估计自回归系数和移动平均系数,返回结果有自回归系数、移动平均系数、残差方差、预测值及预测波动。 估计过程如下: ,为自协方差 其中:yt为原序列零均值化的新序列,μ为原序列的均值,ρp是自相关系数,φq是自回归方程系数,θq为移动平均系数,εt是零均值、方差为σ2的平稳白噪声
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------------- |
|
||
| `y` | array | 样本序列,为一维数组类型; |
|
||
| `p` | any | 自回归阶数; |
|
||
| `q` | any | 移动平均阶数 |
|
||
| `l` | any | 预测步长,整数 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ARp(y, p, l)`
|
||
|
||
建议使用AR模型替换,自回归模型,AR(p)模型,用Yule-Walker方程去估计p阶自回归模型的系数,返回结果有自回归系数、残差方差、预测值及预测波动。估计过程如下 AR(p)模型: 如有常数项,则 ,为自协方差 其中:为原序列零均值化的新序列,为原序列的均值,是自相关系数,是自回归方程系数,是零均值,方差为的平稳白噪声
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------------- |
|
||
| `y` | array | 样本序列,为一维数组类型; |
|
||
| `p` | any | 自回归阶数; |
|
||
| `l` | any | 预测步长; |
|
||
|
||
返回:array
|
||
|
||
## `Time_AutoCov(y, l)`
|
||
|
||
自协方差,求样本序列跟滞后L阶序列的协方差,即自协方差 自协方差计算公式如下: 其中:yt是样本序列,yL是滞后L阶的序列。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------------- |
|
||
| `y` | array | 样本序列,为一维数组类型; |
|
||
| `l` | any | 滞后阶数,为整数类型; |
|
||
|
||
返回:any
|
||
|
||
## `Time_ChoseP(y, model, f)`
|
||
|
||
判断AR模型最佳的阶数,采用信息准则函数判断模型的最佳阶数 其中:T为样本容量,K为待估计参数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | -------------------------------------- |
|
||
| `y` | array | 样本序列,为一维数组类型; |
|
||
| `model` | string | 模型类别为AR、MA、ARMA,为字符串类型; |
|
||
| `f` | string | 判断准则为SBIC和AIC,为字符串类型 |
|
||
|
||
返回:any
|
||
|
||
## `Time_DanielTest(y, alpha)`
|
||
|
||
在1-alpha置信水平下,进行随机时间序列的Daniel平稳性检验。返回结果为一个数组,第一个为q值(q>0:序列有上升趋势,q<0:序列有下降趋势),第二个为T统计量,第三个为p值,第四个为是否接受原假设。原假设为x是平稳序列,所以H为1表示接受原假设,0表示拒绝原假设 其中:qs是Spearman相关系数,Rt为秩统计量,n为样本容量
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ----------------------------------- |
|
||
| `y` | array | 随机时间序列,为一维数组类型 |
|
||
| `alpha` | float | 显著性水平,实数类型,取值在0-1之间 |
|
||
|
||
返回:array
|
||
|
||
## `Time_Diff(y, n)`
|
||
|
||
序列差分
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ----------------------- |
|
||
| `y` | array | 需要做差分的数组数据 |
|
||
| `n` | any | 差分的阶数,0阶不做处理 |
|
||
|
||
返回:any
|
||
|
||
## `Time_GARCH(rseries, model)`
|
||
|
||
广义自回归条件异方差模型,包含四种模型:GARCH(1,1)、GJR(1,1)、IGARCH(1,1)和EGARCH(1,1),本模型采用了最大似然估计法去估计模型的系数,可做一步预测。 GARCH(1,1): GJR(1,1): IGARCH(1,1): EGARCH(1,1): 最大似然估计的目标函数值为:
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------ | ---------------------------- |
|
||
| `rseries` | array | 资产收益率,为一维数组类型; |
|
||
| `model` | string | 模型类别,为字符串类型; |
|
||
|
||
返回:any
|
||
|
||
## `Time_InvFun(ap, mq)`
|
||
|
||
中间函数,模型逆函数,ARMA模型的逆函数,Green函数的递推公式如下: 式中: ,,是自回归方程系数,为移动平均系数,
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------ |
|
||
| `ap` | array | 自相关系数,为一维数组类型; |
|
||
| `mq` | array | 移动平均系数,为一维数组类型; |
|
||
|
||
返回:array
|
||
|
||
## `Time_MAq(y, q, l)`
|
||
|
||
建议使用ARMA模型替换,移动平均模型,MA(q)模型,用条件最小二乘法去估计q阶移动平均模型的系数,返回结果有移动平均系数、残差方差、预测值及预测波动。 估计过程如下: MA(q)模型: 具有逆转形式: 用算子形式比较,可得: s 条件最小二乘法使得下列残差平方和最小: 可将上述转化为矩阵形式,先求得的取值,在利用上上式计算移动平均系数 如有常数,则常数项为原序列的均值。 ,为自协方差 其中:yt为原序列零均值化的新序列,μ为原序列的均值,θq为移动平均系数,εt是零均值,方差为σ2的平稳白噪声
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | -------------------------- |
|
||
| `y` | array | 样本序列,为一维数组类型; |
|
||
| `q` | any | 移动平均阶数; |
|
||
| `l` | any | 预测步长; |
|
||
|
||
返回:array
|
||
|
||
## `Times_Cointergration(y, x, alpha)`
|
||
|
||
建议使用Times_Cointergration_test函数替换本函数,协整检验—E-G两步法检验变量的协整关系,E-G法如下: 1)在因变量与自变量存在同阶单整关系的条件,进行最小二乘法回归; 2)把回归后的残差进行平稳性检验,如果残差序列是平稳的,则两者存在协整关系,否则不存在。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ---------------------------------------------------------------- |
|
||
| `y` | array | 因变量,为一维数组类型; |
|
||
| `x` | array | 自变量矩阵,为二维数组类型; |
|
||
| `alpha` | float | 1-alpha为置信水平,一般为5%,也有1%和10%,数值越小,判断越严格; |
|
||
|
||
返回:string
|
||
|
||
## `Times_Cointergration_test(y, x, constant, alpha_type, style, criterion)`
|
||
|
||
E-G两步法协整检验变量的协整关系,E-G法基本步骤如下: 1)在因变量与自变量存在同阶单整关系的条件,进行最小二乘法回归; 2)把回归后的残差进行平稳性检验,如果残差序列是平稳的,则两者存在协整关系,否则不存在。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------ | -------------------------------------------------------------------------------------------------- |
|
||
| `y` | array | 被解释变量,为一维数组类型 |
|
||
| `x` | array | 解释变量,为一维数组类型 |
|
||
| `constant` | bool | 回归方程是否含有常数项,为布尔类型 |
|
||
| `alpha_type` | float | 显著性水平,为实数类型,一般在0-1之间 |
|
||
| `style` | any | ADF法检验单整阶数时是否存在常数或趋势项,整数类型,无常数无趋势使用0、有常数无趋势1、有常数有趋势2 |
|
||
| `criterion` | string | 滞后阶数判断信息准则,字符串类型,"SBIC","AIC" |
|
||
|
||
返回:array
|
||
|
||
## `Times_ECM(y, x, resid, alpha, q, p)`
|
||
|
||
两变量间的误差修正模型,准确的刻画了两序列间的短期波动特征 误差修正模型是时间序列间协整关系的主要表现形式,准确的刻画了序列间的长期均衡关系和短期波动特征。设一阶自回归分布滞后模型为: 其中,是均值为零,方差为的白噪声,进行适当的整理有: 其中若记 称为误差修正项。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | -------------------------------------------- |
|
||
| `y` | array | 被解释变量,为一维数组类型 |
|
||
| `x` | array | 解释变量,为一维数组类型 |
|
||
| `resid` | array | 协整检验时的残差,没有输入,使用最小二乘得到 |
|
||
| `alpha` | float | 显著性水平 |
|
||
| `q` | any | 整数类型,被解释变量的滞后项 |
|
||
| `p` | any | 整数类型,解释变量的滞后项 |
|
||
|
||
返回:any
|
||
|
||
## `timeSeriesSplit()`
|
||
|
||
时间序列数据处理;将时间序列数据:时间、数据、(股票)处理成为(时间股票数据)的格式。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑。
|
||
|
||
返回:array
|
||
|
||
## `Times_Granger(y, x, q, alpha)`
|
||
|
||
Granger因果检验,原假设:X不是Y的Granger原因,Hypothesis为1表示接受原假设,0表示拒绝原假设 原假设: 分别对上述两个回归方程做回归,提取残差平方和XESS跟YESS,则F统计量如下计算:
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ------------------------------------- |
|
||
| `y` | array | 被解释变量,为一维数组类型 |
|
||
| `x` | array | 解释变量,为一维数组类型 |
|
||
| `q` | any | 滞后阶数,为整数类型 |
|
||
| `alpha` | float | 显著性水平,为实数类型,一般在0-1之间 |
|
||
|
||
返回:array
|
||
|
||
## `Times_johansen(x, p, k)`
|
||
|
||
进行Johansen协整检验,第一列的迹、最大特征值统计量的原假设是:没有协整关系;第二列的迹、最大特征值统计量的原假设是最多只有一个协整关系;第三列的迹、最大特征值统计量的原假设是最多只有两个协整关系……
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ---------------------------------------------------------------------------------------------------------------------- |
|
||
| `x` | array | 输入多元时间序列,每一列为一指标,每行为一时间 (nobs\*m) |
|
||
| `p` | any | 是否含时间趋势及常数项p = -1,没有时间趋势以及常数项p =0,含常数项p =1,含常数项以及一次时间项p >1,含常数项以及高次时间项 |
|
||
| `k` | any | 滞后阶数 |
|
||
|
||
返回:array
|
||
|
||
## `zeros(size_or_rows, cols_or_fields)`
|
||
|
||
生成元素为 `0` 的一维或二维矩阵样结果。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | ----- | -------------------- |
|
||
| `size_or_rows` | any | 一维长度或二维行数 |
|
||
| `cols_or_fields` | array | 二维列数,或列名数组 |
|
||
|
||
返回:array
|
||
|
||
## `correlMatrix(stocks, start_date)`
|
||
|
||
股票列表之间的相关系数。与当前时间有关,当前时间为区间截止日。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | --------- | ------------------------ |
|
||
| `stocks` | Array | 一维字符串数组,股票列表 |
|
||
| `start_date` | TDateTime | 日期型时间,开始计算日期 |
|
||
|
||
返回:TableArray
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
//组合个股相关矩阵
|
||
setSysParam(pn_date(),20201231T);
|
||
stocks:=array("SH600718","SZ000920");
|
||
return correlMatrix(stocks,intToDate(20120926));
|
||
//结果:
|
||
```
|
||
|
||
## `symOrthogonal(data, option)`
|
||
|
||
对矩阵进行正交
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ---------- | ----------------------------------------------------- |
|
||
| `data` | Array | 二维数字数组, 二维数组 行下标为数字或字符串的二维数组 |
|
||
| `option` | UserDefine | 用户自定义, 正交方法的选择 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
范例01
|
||
//求data的对称正交矩阵
|
||
data := rand(10,3);
|
||
return symOrthogonal(data,0);
|
||
//结果,随机数,每次结果不一样,仅供参考
|
||
```
|
||
|
||
## `covarianceAttenuation(a)`
|
||
|
||
协方差矩阵-衰减因子。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `a` | array | 二维数字数组 |
|
||
|
||
返回:any
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
a:=array((1,2,3),(4,5,6));
|
||
return covarianceAttenuation(a);
|
||
返回:
|
||
```
|
||
|
||
## `giniCoeff(x, y, method)`
|
||
|
||
计算基尼系数,其中Method决定使用的方法。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ---- | ---- |
|
||
| `x` | | |
|
||
| `y` | | |
|
||
| `method` | | |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x:=array(0.1,0.2,0.3,0.4,0.5,0.6);
|
||
y:=x^2;
|
||
return giniCoeff(x,y,1);
|
||
//返回:0.07
|
||
```
|
||
|
||
## `hurst(data, n_rs, options)`
|
||
|
||
计算hurst指数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ----- | ---------------------------------------------------------- |
|
||
| `data` | Array | 一维数字数组,用于求hurst的收益率数据 |
|
||
| `n_rs` | Array | 二维数字数组,作为变参输出回归数据n和R/S |
|
||
| `options` | Array | 二维数字数组,方法选项,默认方法选项 "minEle":10,"maxSur":0 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
data:=spec(fundNawzfQk(20240308t,20240831t,cy_day(),0,0), "OF000001");
|
||
t := sselect ["净值收益率(%)"] from data end;
|
||
return hurst(t);// 0.47
|
||
```
|
||
|
||
## `weightedMedian(x, w)`
|
||
|
||
加权中位数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `x` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
echo median(x); //返回3
|
||
return weightedMedian(x, w); //返回4
|
||
```
|
||
|
||
## `weightedGeomean(x, w)`
|
||
|
||
加权几何平均数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `x` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
return weightedGeomean(x,w); //3.0261
|
||
```
|
||
|
||
## `weightedHarmean(x, w)`
|
||
|
||
加权调和平均数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `x` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
return weightedHarmean(x,w); //2.553
|
||
```
|
||
|
||
## `weightedMean(x, w)`
|
||
|
||
加权平均数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `x` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
return weightedMean(x,w); //3.4
|
||
```
|
||
|
||
## `weightedPopnVariance(x, w)`
|
||
|
||
加权总体方差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `x` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
return weightedPopnVariance(x,w); //1.84
|
||
```
|
||
|
||
## `weightedVariance(x, w)`
|
||
|
||
可靠性权重加权样本方差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `x` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
return weightedVariance(x,w); //2.374
|
||
```
|
||
|
||
## `weightedPopnCov(a, b, w)`
|
||
|
||
加权总体协方差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `a` | Array | 一维数字数组 |
|
||
| `b` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
y := array(6,4,3,1,9);
|
||
return weightedPopnCov(x,y,w);// 0.82
|
||
```
|
||
|
||
## `weightedCov(a, b, w)`
|
||
|
||
可靠性权重加权样本协方差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `a` | Array | 一维数字数组 |
|
||
| `b` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
y := array(6,4,3,1,9);
|
||
return weightedCov(x,y,w); // 1.058
|
||
```
|
||
|
||
## `weightedPopnCovariance(a, w)`
|
||
|
||
加权总体协方差矩阵
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------ |
|
||
| `a` | Array | 待计算的矩阵,每一列为一个因子 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:Matix
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
begt := 20190101T;
|
||
endt := 20190415T;
|
||
stocks := array('SH000001','SH000300','SH600000');
|
||
//涨幅(%)矩阵
|
||
returns := pf_GetPortfolioRate(stocks,begt,endt,1)[:,1:];
|
||
//指数函数权重
|
||
n := length(returns);
|
||
w := exp(1->n);
|
||
w /= sum(w);
|
||
return weightedPopnCovariance(returns, w);
|
||
//结果
|
||
```
|
||
|
||
## `weightedCovariance(a, w)`
|
||
|
||
可靠性权重加权样本方差矩阵
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------ |
|
||
| `a` | Array | 待计算的矩阵,每一列为一个因子 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:matrix
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
begt := 20190101T;
|
||
endt := 20190415T;
|
||
stocks := array('SH000001','SH000300','SH600000');
|
||
//涨幅(%)矩阵
|
||
returns := pf_GetPortfolioRate(stocks,begt,endt,1)[:,1:];
|
||
//指数函数权重
|
||
n := length(returns);
|
||
w := exp(1->n);
|
||
w /= sum(w);
|
||
return weightedCovariance(returns, w);
|
||
//结果
|
||
```
|
||
|
||
## `weightedCorrel(a, b, w)`
|
||
|
||
加权相关系数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------ |
|
||
| `a` | Array | 一维数字数组 |
|
||
| `b` | Array | 一维数字数组 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
x := array(1,2,3,4,5);
|
||
w := array(0.15,0.1,0.2,0.3,0.25);
|
||
y := array(6,4,3,1,9);
|
||
return weightedCorrel(x,y,w); //0.1956
|
||
```
|
||
|
||
## `weightedCorrelM(a, w)`
|
||
|
||
加权相关系数矩阵
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------ |
|
||
| `a` | Array | 待计算的矩阵,每一列为一个因子 |
|
||
| `w` | Array | 一维权重向量 |
|
||
|
||
返回:matrix
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
begt := 20190101T;
|
||
endt := 20190415T;
|
||
stocks := array('SH000001','SH000300','SH600000');
|
||
//涨幅(%)矩阵
|
||
returns := pf_GetPortfolioRate(stocks,begt,endt,1)[:,1:];
|
||
//指数函数权重
|
||
n := length(returns);
|
||
w := exp(1->n);
|
||
w /= sum(w);
|
||
return weightedCorrelM(returns, w);
|
||
//结果
|
||
```
|
||
|
||
## `ewmMean(x, y, alphatype, adjust, iflast)`
|
||
|
||
指数加权移动平均,支持nan,为nan的值参与权重计算,但计算平均时对nan值不进行计算,即计算加权平均时把nan 值及其权重都置为0进行计算
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ------------------------------------------------------------------------------------------------------------------ |
|
||
| `x` | Array | 数组,待计算移动平均的一维数字数组 |
|
||
| `y` | real | 实数,衰减因子,与alphatype共同决定实际的衰减因子alpha,见平滑系数的确定 |
|
||
| `alphatype` | Integer | 用户自定义,默认为0 |
|
||
| `adjust` | bool | 布尔型,是否调整,True、实际权重计算,False、根据无穷序列假设下的递推式计算,默认为False,见指数加权的两种递推式。 |
|
||
| `iflast` | bool | 是否只返回最后一个数,默认为False |
|
||
|
||
返回:Array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
sp_s(Pn_stock(),'SH000300');
|
||
sp_s(pn_date(),20190415T);
|
||
x := nDay3(50,stockZf3());
|
||
return x | ewmMean(x,10,1);
|
||
//结果
|
||
```
|
||
|
||
## `ewmStd(x, y, alphatype, adjust)`
|
||
|
||
指数加权移动标准差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ---------------------------------------------------------------------------------------------------------- |
|
||
| `x` | Array | 待计算移动平均的一维数字数组 |
|
||
| `y` | real | 衰减因子,与alphatype共同决定实际的衰减因子alpha,见平滑系数的确定 |
|
||
| `alphatype` | Integer | 用户自定义,默认为0 |
|
||
| `adjust` | bool | 是否调整,True、实际权重计算,False、根据无穷序列假设下的递推式计算,默认为False,见指数加权的两种递推式。 |
|
||
|
||
返回:Array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
sp_s(Pn_stock(),'SH000300');
|
||
sp_s(pn_date(),20190415T);
|
||
x := nDay3(50,stockZf3());
|
||
return x | ewmStd(x,10,1);
|
||
//结果
|
||
```
|
||
|
||
## `ewmVar(x, y, alphatype, adjust)`
|
||
|
||
指数加权移动方差,支持nan,为nan的值参与权重计算,但计算平均时对nan值不进行计算,即计算加权平均时把nan 值及其权重都置为0进行计算,(有偏暂未实现支持nan)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ---------------------------------------------------------------------------------------------------------- |
|
||
| `x` | Array | 待计算移动平均的一维数字数组 |
|
||
| `y` | real | 衰减因子,与alphatype共同决定实际的衰减因子alpha,见平滑系数的确定 |
|
||
| `alphatype` | Integer | 用户自定义,默认为0 |
|
||
| `adjust` | bool | 是否调整,True、实际权重计算,False、根据无穷序列假设下的递推式计算,默认为False,见指数加权的两种递推式。 |
|
||
|
||
返回:Array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
sp_s(Pn_stock(),'SH000300');
|
||
sp_s(pn_date(),20190415T);
|
||
x := nDay3(50,stockZf3());
|
||
return x | ewmVar(x,10,1);
|
||
//结果
|
||
```
|
||
|
||
## `ewmCorrel(a, b, y, alphatype, adjust, iflast)`
|
||
|
||
指数加权移动相关系数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ---------------------------------------------------------------------------------------------------------- |
|
||
| `a` | Array | 样本a待计算的一维数字数组 |
|
||
| `b` | Array | 样本b待计算的一维数字数组 |
|
||
| `y` | real | 衰减因子,与alphatype共同决定实际的衰减因子alpha,见平滑系数的确定 |
|
||
| `alphatype` | Integer | 用户自定义,默认为0 |
|
||
| `adjust` | bool | 是否调整,True、实际权重计算,False、根据无穷序列假设下的递推式计算,默认为False,见指数加权的两种递推式。 |
|
||
| `iflast` | bool | 是否只返回最后一个数,默认为False |
|
||
|
||
返回:Array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
sp_s(Pn_stock(),'SH000300');
|
||
sp_s(pn_date(),20190415T);
|
||
a:=nDay3(50,stockZf3());
|
||
b:=nDay3(50,spec(stockZf3(),'SH000001'));
|
||
return a|b|ewmCorrel(a,b,10,1);
|
||
//结果
|
||
```
|
||
|
||
## `ewmCov(a, b, y, alphatype, adjust)`
|
||
|
||
指数加权移动协方差
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ---------------------------------------------------------------------------------------------------------- |
|
||
| `a` | array | 样本a待计算的一维数字数组 |
|
||
| `b` | Array | 样本b待计算的一维数字数组 |
|
||
| `y` | real | 衰减因子,与alphatype共同决定实际的衰减因子alpha,见平滑系数的确定 |
|
||
| `alphatype` | Integer | 用户自定义,默认为0 |
|
||
| `adjust` | bool | 是否调整,True、实际权重计算,False、根据无穷序列假设下的递推式计算,默认为False,见指数加权的两种递推式。 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
sp_s(Pn_stock(),'SH000300');
|
||
sp_s(pn_date(),20190415T);
|
||
a:=nDay3(50,stockZf3());
|
||
b:=nDay3(50,spec(stockZf3(),'SH000001'));
|
||
return a|b|ewmCov(a,b,10,1);
|
||
//结果
|
||
```
|
||
|
||
## `ewmSlope(y, x, a, alphatype, adjust)`
|
||
|
||
指数加权移动回归斜率,y与x协方差/x方差(指数加权移动)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ---------------------------------------------------------------------------------------------------------- |
|
||
| `y` | array | 样本y待计算的一维数字数组 |
|
||
| `x` | array | 样本x待计算的一维数字数组 |
|
||
| `a` | real | 衰减因子,与alphatype共同决定实际的衰减因子alpha,见平滑系数的确定 |
|
||
| `alphatype` | Integer | 用户自定义,默认为0 |
|
||
| `adjust` | bool | 是否调整,True、实际权重计算,False、根据无穷序列假设下的递推式计算,默认为False,见指数加权的两种递推式。 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
sp_s(Pn_stock(),'SH000300');
|
||
sp_s(pn_date(),20190415T);
|
||
a:=nDay3(50,stockZf3());
|
||
b:=nDay3(50,spec(stockZf3(),'SH000001'));
|
||
return a|b|ewmSlope(a,b,10,1);
|
||
//结果
|
||
```
|
||
|
||
## `ewmIntercept(y, x, a, alphatype, adjust)`
|
||
|
||
指数加权移动回归截据项,y平均-斜率\*x平均 (指数加权移动)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ---------------------------------------------------------------------------------------------------------- |
|
||
| `y` | array | 样本y待计算的一维数字数组 |
|
||
| `x` | array | 样本x待计算的一维数字数组 |
|
||
| `a` | real | 衰减因子,与alphatype共同决定实际的衰减因子alpha,见平滑系数的确定 |
|
||
| `alphatype` | Integer | 用户自定义,默认为0 |
|
||
| `adjust` | bool | 是否调整,True、实际权重计算,False、根据无穷序列假设下的递推式计算,默认为False,见指数加权的两种递推式。 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
sp_s(Pn_stock(),'SH000300');
|
||
sp_s(pn_date(),20190415T);
|
||
a:=nDay3(50,stockZf3());
|
||
b:=nDay3(50,spec(stockZf3(),'SH000001'));
|
||
return a|b|ewmIntercept(a,b,10,1);
|
||
```
|
||
|
||
## `ewmResidual(y, x, a, alphatype, adjust)`
|
||
|
||
指数加权移动回归残差,y– (截距+斜率\*x)(指数加权移动)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ---------------------------------------------------------------------------------------------------------- |
|
||
| `y` | array | 样本y待计算的一维数字数组 |
|
||
| `x` | array | 样本x待计算的一维数字数组 |
|
||
| `a` | real | 衰减因子,与alphatype共同决定实际的衰减因子alpha,见平滑系数的确定 |
|
||
| `alphatype` | Integer | 用户自定义,默认为0 |
|
||
| `adjust` | bool | 是否调整,True、实际权重计算,False、根据无穷序列假设下的递推式计算,默认为False,见指数加权的两种递推式。 |
|
||
|
||
返回:array
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
sp_s(Pn_stock(),'SH000300');
|
||
sp_s(pn_date(),20190415T);
|
||
a:=nDay3(50,stockZf3());
|
||
b:=nDay3(50,spec(stockZf3(),'SH000001'));
|
||
return a|b|ewmResidual(a,b,10,1);
|
||
```
|
||
|
||
## `auc(x, y)`
|
||
|
||
计算auc,根据roc_curve计算出来的fpr和tpr序列值计算AUC值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------- |
|
||
| `x` | Array | x坐标点 |
|
||
| `y` | Array | y坐标点 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
y_true := array(1,1,2,2,1,2,1,2);
|
||
y_score := array(0.1,0.4,0.35,0.8,0.5,0.7,0.45,0.6);
|
||
ret := roc_curve(y_true,y_score,2);
|
||
fpr := ret[0];
|
||
tpr := ret[1];
|
||
return auc(fpr,tpr); //0.8125
|
||
```
|