python中,计算过去20天每天的收盘价close与meanclose差值的平方和,列表的长度是700天
时间: 2024-02-20 07:57:10 浏览: 26
如果你有一个长度为 700 的收盘价列表 `close_list`,你可以使用以下代码计算过去 20 天每天的收盘价与平均收盘价的差值的平方和:
```python
import numpy as np
close_arr = np.array(close_list)
diff_squared_sum = 0
for i in range(19, 699):
twenty_day_close = close_arr[i-19:i+1]
twenty_day_mean = np.mean(twenty_day_close)
diff_squared_sum += np.sum((twenty_day_close - twenty_day_mean)**2)
```
其中,`np.array(close_list)` 将收盘价列表转换为 numpy 数组,`for i in range(19, 699)` 循环遍历从第 20 天到第 700 天的收盘价,`twenty_day_close = close_arr[i-19:i+1]` 取出过去 20 天每天的收盘价,`twenty_day_mean = np.mean(twenty_day_close)` 计算过去 20 天的平均收盘价,`(twenty_day_close - twenty_day_mean)**2` 计算每天收盘价与平均收盘价的差值的平方,`np.sum((twenty_day_close - twenty_day_mean)**2)` 计算过去 20 天每天收盘价与平均收盘价的差值的平方和,`diff_squared_sum += np.sum((twenty_day_close - twenty_day_mean)**2)` 累加每天的差值的平方和。
需要注意的是,由于需要计算过去 20 天每天的收盘价,因此循环从第 20 天开始,到第 700 天结束。