在python里面利用plot对于期货价格序列price进行绘图,有一个相等长度的交易信号signal序列,里面有-1,0和1三种值,意味着做多,多空和空仓。现在要实现signal序列为1的部分price曲线为红色,-1的部分price曲线为绿色,0的部分为黑色的。用python实现这段代码
时间: 2024-04-09 12:33:29 浏览: 13
可以使用matplotlib库来绘制期货价格曲线并根据交易信号进行着色。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
# 生成示例数据
price = [100, 110, 120, 130, 125, 115, 105, 95, 100, 110]
signal = [1, 1, -1, -1, 0, 0, 1, 1, -1, -1]
# 创建一个新的绘图窗口
plt.figure()
# 绘制价格曲线
plt.plot(price, color='blue', label='Price')
# 根据交易信号着色
for i in range(len(signal)):
if signal[i] == 1:
plt.plot([i, i+1], [price[i], price[i+1]], color='red')
elif signal[i] == -1:
plt.plot([i, i+1], [price[i], price[i+1]], color='green')
else:
plt.plot([i, i+1], [price[i], price[i+1]], color='black')
# 设置图例
plt.legend(['Price', 'Signal=1', 'Signal=-1', 'Signal=0'])
# 显示图形
plt.show()
```
运行以上代码,将绘制出价格曲线,并根据交易信号的值进行着色,红色表示signal为1,绿色表示signal为-1,黑色表示signal为0。
阅读全文