# 数据仓库 / 时间序列统计 / 双序列统计

## `sp_correl(exp_1, exp_2, n)`

声明：function

移动相关系数。两个表达式正在最近N个交易日的相关系数

<!-- tags: 数据仓库 时间序列统计 双序列统计 日期时间 日期 时间 datetime 统计 概率 statistics -->

| 参数    | 类型         | 说明                        |
| ------- | ------------ | --------------------------- |
| `exp_1` | t_expression | 表达式1，与系统当前日期相关 |
| `exp_2` | t_expression | 表达式2，与系统当前日期相关 |
| `n`     | integer      | 天数                        |

返回：float

### 示例

范例01：调用 SP_Correl

```tsl
setsysparam(pn_Stock(), "SZ000002");
Setsysparam(pn_date(), 20181030T);
return nday(10, "日期", SP_time(), "相关系数", Specall(SP_Correl(close(), Spec(Close(), "SH000001"), 4800), Array(pn_date():SP_time()+0.99, pn_Cycle():cy_3s())));
```

## `sp_cov(exp_1, exp_2, n)`

声明：function

移动协方差。两个表达式在最近N个交易日的协方差

<!-- tags: 数据仓库 时间序列统计 双序列统计 日期时间 日期 时间 datetime 统计 概率 statistics -->

| 参数    | 类型         | 说明                        |
| ------- | ------------ | --------------------------- |
| `exp_1` | t_expression | 表达式1，与系统当前日期相关 |
| `exp_2` | t_expression | 表达式2，与系统当前日期相关 |
| `n`     | integer      | 天数                        |

返回：float

### 示例

范例01：调用 SP_Cov

```tsl
setsysparam(pn_Stock(), "SZ000002");
Setsysparam(pn_date(), 20181030T);
return nday(10, "日期", SP_time(), "协方差", Specall(SP_Cov(close(), Spec(Close(), "SH000001"), 4800), Array(pn_date():SP_time()+0.99, pn_Cycle():cy_3s())));
```

## `sp_intercept(exp_1, exp_2, n)`

声明：function

移动回归截距。两个表达式在最近N个交易日的回归截距

<!-- tags: 数据仓库 时间序列统计 双序列统计 日期时间 日期 时间 datetime 统计 概率 statistics -->

| 参数    | 类型         | 说明                        |
| ------- | ------------ | --------------------------- |
| `exp_1` | t_expression | 表达式1，与系统当前日期相关 |
| `exp_2` | t_expression | 表达式2，与系统当前日期相关 |
| `n`     | integer      | 天数                        |

返回：float

### 示例

范例01：调用 SP_intercept

```tsl
setsysparam(pn_Stock(), "SZ000002");
Setsysparam(pn_date(), 20181030T);
return nday(10, "日期", SP_time(), "回归截距", Specall(SP_intercept(close(), Spec(Close(), "SH000001"), 4800), Array(pn_date():SP_time()+0.99, pn_Cycle():cy_3s())));
```

## `sp_rsq(exp_1, exp_2, n)`

声明：function

移动相关系数平方。两个表达式最近N个交易日的Pearson乘积矩相关系数的平方

<!-- tags: 数据仓库 时间序列统计 双序列统计 日期时间 日期 时间 datetime 统计 概率 statistics -->

| 参数    | 类型         | 说明                        |
| ------- | ------------ | --------------------------- |
| `exp_1` | t_expression | 表达式1，与系统当前日期相关 |
| `exp_2` | t_expression | 表达式2，与系统当前日期相关 |
| `n`     | integer      | 天数                        |

返回：float

### 示例

范例01：调用 SP_RSQ

```tsl
setsysparam(pn_Stock(), "SZ000002");
Setsysparam(pn_date(), 20181030T);
return nday(10, "日期", SP_time(), "系数平方", Specall(SP_RSQ(close(), Spec(Close(), "SH000001"), 4800), Array(pn_date():SP_time()+0.99, pn_Cycle():cy_3s())));
```

## `sp_slope(exp_1, exp_2, n)`

声明：function

移动回归斜率。两个表达式在最近N个交易日的回归斜率

<!-- tags: 数据仓库 时间序列统计 双序列统计 日期时间 日期 时间 datetime 统计 概率 statistics -->

| 参数    | 类型         | 说明                        |
| ------- | ------------ | --------------------------- |
| `exp_1` | t_expression | 表达式1，与系统当前日期相关 |
| `exp_2` | t_expression | 表达式2，与系统当前日期相关 |
| `n`     | integer      | 天数                        |

返回：float

### 示例

范例01：调用 SP_Slope

```tsl
setsysparam(pn_Stock(), "SZ000002");
Setsysparam(pn_date(), 20181030T);
return nday(10, "日期", SP_time(), "回归斜率", Specall(SP_slope(close(), Spec(Close(), "SH000001"), 4800), Array(pn_date():SP_time()+0.99, pn_Cycle():cy_3s())));
```

## `sp_steyx(exp_1, exp_2, n)`

声明：function

移动标准误差。两个表达式最近N个交易日的相对标准偏差

<!-- tags: 数据仓库 时间序列统计 双序列统计 日期时间 日期 时间 datetime 统计 概率 statistics -->

| 参数    | 类型         | 说明                        |
| ------- | ------------ | --------------------------- |
| `exp_1` | t_expression | 表达式1，与系统当前日期相关 |
| `exp_2` | t_expression | 表达式2，与系统当前日期相关 |
| `n`     | integer      | 天数                        |

返回：float

### 示例

范例01：调用 SP_Steyx

```tsl
setsysparam(pn_Stock(), "SZ000002");
Setsysparam(pn_date(), 20181030T);
return nday(10, "日期", SP_time(), "相对标准偏差", Specall(SP_steyx(close(), Spec(Close(), "SH000001"), 4800), Array(pn_date():SP_time()+0.99, pn_Cycle():cy_3s())));
```
