460 lines
13 KiB
Markdown
460 lines
13 KiB
Markdown
# Dotnet - 运行时 / 日期时间(AnalyseNG.NET 专有)
|
||
|
||
## `strtodatetime2(s)`
|
||
|
||
声明:function
|
||
|
||
字符串->日期时间(包含毫秒)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ------ | -------------------------------------------------------------------------------------------------------------- |
|
||
| `s` | string | S的格式必须为:yyyy-m-d h:m:s:z 其中日期和时间需要用空格隔开,时间分隔必须用: 如"2021-8-12 10:31:24:199" |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 字符串2021-8-12 10:31:24:199 转换为日期时间格式(包含毫秒)
|
||
s := "2021-8-12 10:31:24:199";
|
||
return strtodatetime2(s); // 结果:44420.4384745255
|
||
```
|
||
|
||
## `strToDateExt(s, str_format)`
|
||
|
||
声明:function
|
||
|
||
将字符串类型的日期按照不同的格式转换成实数型的日期。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------- | ------------------------------------------ |
|
||
| `s` | string | 字符串类型的日期,包含3中形式,见下表。 |
|
||
| `str_format` | integer | 标准化的日期格式,对应的S分别用0、1、2表示 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
s := '16/1/2011';
|
||
str_format := 0;
|
||
return strToDateExt(s, str_format);
|
||
// 结果:40559
|
||
```
|
||
|
||
## `excelIntToDate(r_date)`
|
||
|
||
声明:function
|
||
|
||
将报告期类型日期转化成实数型
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | ------------------ |
|
||
| `r_date` | integer | 整型类的报告期日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 报告期为2010年年报
|
||
r_date := 20101231;
|
||
return excelIntToDate(r_date);
|
||
// 结果:40543
|
||
```
|
||
|
||
## `excelDateToInt(r_date)`
|
||
|
||
声明:function
|
||
|
||
将日期型报告期转化成整数型报告期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | --------- | ------------ |
|
||
| `r_date` | tdatetime | 日期型报告期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
r_date := 20101231;
|
||
return excelDateToInt(r_date);
|
||
// 结果:20101231
|
||
```
|
||
|
||
## `formatStrToDateTime2(s, format_str)`
|
||
|
||
声明:function
|
||
|
||
字符串->日期时间(包含毫秒)。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------ | ---------------------- |
|
||
| `s` | string | 字符串类型,时间字符串 |
|
||
| `format_str` | string | 字符串类型,格式字符串 |
|
||
|
||
返回:datetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 字符串2021-8-12 10:31:24:199 转换为日期时间格式(包含毫秒)
|
||
s := "2021.01.04T23:00:00.000";
|
||
format_str := "yyyy.mm.ddThh:nn:ss.zzz";
|
||
return formatStrToDateTime2(s, format_str); // 结果:44200.9583333333
|
||
```
|
||
|
||
## `startOfTheHalfYear(end_t)`
|
||
|
||
声明:function
|
||
|
||
返回Endt所在半年的开始日期(半年的第一天)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---- |
|
||
| `end_t` | tdatetime | 日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := 40599; // 40559表示2011年1月16号
|
||
return startOfTheHalfYear(end_t);
|
||
// 结果:40544 //40544表示2011年1月1号
|
||
```
|
||
|
||
## `startOfTheQuarter(end_t)`
|
||
|
||
声明:function
|
||
|
||
返回Endt所在季度的开始日期(季度的第一天)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---- |
|
||
| `end_t` | tdatetime | 日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := 40540; // 40540表示2010年12月28日
|
||
return startOfTheQuarter (end_t);
|
||
// 结果:40452 //40452表示2010年10月1号
|
||
```
|
||
|
||
## `endOfTheQuarter(end_t)`
|
||
|
||
声明:function
|
||
|
||
返回Endt所在季度的截止日期(季度的最后一天)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---- |
|
||
| `end_t` | tdatetime | 日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := 40540; // 40540表示2010年12月28日
|
||
return endOfTheQuarter (end_t);
|
||
// 结果:40543 //40543表示2010年12月31号
|
||
```
|
||
|
||
## `endOfTheHalfYear(end_t)`
|
||
|
||
声明:function
|
||
|
||
返回Endt所在半年的截止日期(半年的最后一天)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---- |
|
||
| `end_t` | tdatetime | 日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := 40540; // 40540表示2010年12月28日
|
||
return endOfTheHalfYear (end_t);
|
||
// 结果:40543 //40543表示2010年12月31号
|
||
```
|
||
|
||
## `incHalfYear(a_value, number)`
|
||
|
||
声明:function
|
||
|
||
求Avalue的日期开始往后推移Number个半年的日期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------------------------- |
|
||
| `a_value` | tdatetime | 实数表示的日期 |
|
||
| `number` | integer | 向后推移的整数,负数表示向前推移 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
avalue := 40179; // 40179表示2010年1月1号
|
||
number := 2;
|
||
return incHalfYear(a_value, number);
|
||
// 结果:40544 //40544表示2011年1月1号
|
||
```
|
||
|
||
## `incQuarter(avalue, number)`
|
||
|
||
声明:function
|
||
|
||
求Avalue的日期开始往后推移Number个季度的日期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | --------- | ---------------------------------- |
|
||
| `avalue` | tdatetime | 实数表示的日期 |
|
||
| `number` | integer | 向后推移的整数。负数表示向前推移。 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
avalue := 40179; // 40179表示2010年1月1号
|
||
number := 2;
|
||
return incQuarter(a_value, number);
|
||
// 结果:40360 //40360表示2010年7月1号
|
||
```
|
||
|
||
## `excelRDate(r_date)`
|
||
|
||
声明:function
|
||
|
||
将整数报告期转换成Excel的字符串日期类型
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | -------------------------- |
|
||
| `r_date` | integer | 报告期,一般用整型日期表示 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
r_date := 20101231;
|
||
return excelRDate(r_date);
|
||
// 结果:2010-12-31
|
||
```
|
||
|
||
## `incPrecodeCallBack(s)`
|
||
|
||
声明:function
|
||
|
||
将“000002.SZ”的代码转化为“SZ000002”
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ------ | ------ |
|
||
| `s` | string | 字符串 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return incPrecodeCallBack('000002.SZ');
|
||
// 结果:’SZ000002’
|
||
```
|
||
|
||
## `IncomeTax_12(r_date)`
|
||
|
||
声明:function
|
||
|
||
最近12个月的所得税。 (1)所得税取自合并利润分配表; (2)根据最近12个月的算法得到最近12个月的所得税【注1】。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | -------- | -------------- |
|
||
| `r_date` | datetime | 整数,报告期。 |
|
||
|
||
返回:float
|
||
|
||
## `IncomeTax_Year(r_date, n)`
|
||
|
||
声明:function
|
||
|
||
最近N年的所得税。 (1)取向后兼容的最新年报Q1,取N-1年前同期的年报Q2; (2)在合并利润分配表取Q2报告期的所得税。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | -------- | -------------- |
|
||
| `r_date` | datetime | 整数,报告期; |
|
||
| `n` | any | 整数,最近N年 |
|
||
|
||
返回:float
|
||
|
||
## `IncomeTax_Q(r_date)`
|
||
|
||
声明:function
|
||
|
||
计算指定报告期最近1季度的所得税。 根据季度数据的算法【注3】,函数从合并现金流量表中取出多个报告期的筹资活动产生的现金流,计算最近1季度的所得税。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | -------- | -------------- |
|
||
| `r_date` | datetime | 整数,报告期; |
|
||
|
||
返回:float
|
||
|
||
## `Time_InvFun(left_values, right_values)`
|
||
|
||
声明:function
|
||
|
||
根据两个输入序列计算逆函数序列。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------------- | ----- | -------- |
|
||
| `left_values` | array | 左侧序列 |
|
||
| `right_values` | array | 右侧序列 |
|
||
|
||
返回:array
|
||
|
||
## `Times_Granger(y_values, x_values, lag_order, alpha)`
|
||
|
||
声明:function
|
||
|
||
检验 `x_values` 是否为 `y_values` 的 Granger 原因。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ----- | ------------ |
|
||
| `y_values` | array | 被解释序列 |
|
||
| `x_values` | array | 候选原因序列 |
|
||
| `lag_order` | any | 滞后阶数 |
|
||
| `alpha` | float | 显著性水平 |
|
||
|
||
返回:array
|
||
|
||
## `Times_Cointergration_test(y_values, x_values, diff_order, alpha, lag_order, criterion)`
|
||
|
||
声明:function
|
||
|
||
执行两个序列的协整检验。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------ | -------------------------------- |
|
||
| `y_values` | array | 第一条时间序列 |
|
||
| `x_values` | array | 第二条时间序列 |
|
||
| `diff_order` | any | 差分阶数 |
|
||
| `alpha` | float | 显著性水平 |
|
||
| `lag_order` | any | 滞后阶数 |
|
||
| `criterion` | string | 信息准则;常用 `"AIC"`、`"SBIC"` |
|
||
|
||
返回:array
|
||
|
||
## `Times_Cointergration(y_values, x_values, alpha)`
|
||
|
||
声明:function
|
||
|
||
判断两个序列是否存在协整关系。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------- | ----- | -------------- |
|
||
| `y_values` | array | 第一条时间序列 |
|
||
| `x_values` | array | 第二条时间序列 |
|
||
| `alpha` | float | 显著性水平 |
|
||
|
||
返回:string
|
||
|
||
## `Times_ECM(y_values, x_values, residuals, alpha, p_order, q_order)`
|
||
|
||
声明:function
|
||
|
||
建立误差修正模型。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ----- | ------------------- |
|
||
| `y_values` | array | 第一条时间序列 |
|
||
| `x_values` | array | 第二条时间序列 |
|
||
| `residuals` | array | 协整检验残差项 |
|
||
| `alpha` | float | 显著性水平 |
|
||
| `p_order` | any | `y_values` 滞后阶数 |
|
||
| `q_order` | any | `x_values` 滞后阶数 |
|
||
|
||
返回:array
|
||
|
||
## `Times_GrangerCausality(series_matrix, lag_order)`
|
||
|
||
声明:function
|
||
|
||
对矩阵中的多个序列执行两两 Granger 因果检验。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ----- | --------------------------------------------------- |
|
||
| `series_matrix` | array | 多个时间序列组成的矩阵;可由两条序列用 `left_series |
|
||
| `lag_order` | any | 滞后阶数 |
|
||
|
||
返回:array
|
||
|
||
## `Time_PACF(y)`
|
||
|
||
声明:function
|
||
|
||
偏自相关系数,计算随机序列与所有滞后阶数的偏自相关系数,返回结果是一个数组。偏相关系数的计算公式如下: 是自相关系数,是偏相关系数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------ |
|
||
| `y` | array | 样本序列,为一维数组类型 |
|
||
|
||
返回:array
|
||
|
||
## `Time_RandomTest(y, m, alpha)`
|
||
|
||
声明:function
|
||
|
||
Ljung和Box提出的修正Qm统计量,用于检验序列是否为白噪声,原假设为白噪声序列,即纯随机序列。(Hypothesis为1表示接受原假设,0表示拒绝原假设) Qm统计量的计算公式如下: 其中:是自相关系数,T是样本容量,m是最大滞后长度
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ---------------------------------------------- |
|
||
| `y` | array | 样本序列,为一维数组类型 |
|
||
| `m` | any | 最大滞后长度,整数类型,一般取样本数的四分之一 |
|
||
| `alpha` | float | 显著性水平,实数类型,取值在0-1之间 |
|
||
|
||
返回:array
|
||
|
||
## `Times_ADFTest(y, diff, style, f, p, alpha)`
|
||
|
||
声明:function
|
||
|
||
时间序列的平稳性ADF检验;返回结果为ADF统计量和给定显著性水平下的ADF统计量的临界值;如果ADF统计量的绝对值比临界值的绝对值大,则可在该显著性水平下,拒绝原序列存在单位根的原假设,即原序列是平稳的
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | ------------------------------------------------------------------------------------- |
|
||
| `y` | array | 时间序列数据,为一维数组类型 |
|
||
| `diff` | any | 差分次数,整数类型,0表示不进行差分 |
|
||
| `style` | any | 是否存在常数或趋势项的选项,整数类型,无常数无趋势使用0、有常数无趋势1、有常数有趋势2 |
|
||
| `f` | string | 滞后阶数判断信息准则,字符串类型,"SBIC","AIC" |
|
||
| `p` | any | 滞后阶数,为整型类型,输入0则表示自动选择 |
|
||
| `alpha` | float | 显著性水平,实数类型,范围在0-1之间 |
|
||
|
||
返回:array
|
||
|
||
## `Time_GreenFun(ap, mq)`
|
||
|
||
声明:function
|
||
|
||
中间函数,ARMA模型的Green函数,Green函数的递推公式如下: 式中: ,,是自回归方程系数,为移动平均系数,
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------ |
|
||
| `ap` | array | 自相关系数,为一维数组类型; |
|
||
| `mq` | array | 移动平均系数,为一维数组类型; |
|
||
|
||
返回:array
|
||
|
||
## `incPrecode()`
|
||
|
||
声明:function
|
||
|
||
6位代码->8位代码;注意,该函数主要用于客户端结果处理,不提供给用户程序编辑
|
||
|
||
返回:array,tablearray
|