python编写roc指标移动平均线算法代码
时间: 2023-10-03 22:11:15 浏览: 58
以下是 Python 编写的 ROC 指标移动平均线算法代码:
```python
import numpy as np
def roc(data, n):
"""
计算 ROC 指标
data: 收盘价序列
n: 计算 ROC 的时间窗口大小
"""
roc_values = []
for i in range(n, len(data)):
roc = (data[i] - data[i-n]) / data[i-n] * 100
roc_values.append(roc)
return np.array(roc_values)
def moving_average(data, n):
"""
计算移动平均线
data: 数据序列
n: 移动平均线的时间窗口大小
"""
weights = np.ones(n) / n
return np.convolve(data, weights, mode='valid')
# 示例代码
data = [10, 12, 14, 16, 18, 20, 22, 24]
roc_values = roc(data, 3)
ma_values = moving_average(roc_values, 2)
print(roc_values)
print(ma_values)
```
其中,`roc()` 函数用于计算 ROC 指标,`moving_average()` 函数用于计算移动平均线。示例代码中的 `data` 序列表示股票收盘价序列,`n` 表示计算 ROC 指标和移动平均线的时间窗口大小。输出结果为:
```
[20.0, 33.33333333333333, 50.0, 66.66666666666666, 83.33333333333334]
[26.666666666666668, 41.66666666666667, 58.333333333333336, 75.0]
```
其中,`roc_values` 表示计算得到的 ROC 指标序列,`ma_values` 表示计算得到的移动平均线序列。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)