首页  

pandas matplot 读取日线数据,滚动计算bias250 添加阈值线     所属分类 python 浏览量 206
import pandas as pd
import matplotlib.pyplot as plt  
from datetime import datetime

    
df = pd.read_csv('/data/hs300.txt')
# rolling 滚动计算 250天移动均值
df['ma250'] = df['close'].rolling(window=250).mean()
# 计算 250天 乖离率
df['bias250'] = (df['close'] - df['ma250']) * 100 / df['ma250'] 

# 根据时间筛选数据   
df = df[df['date'] >='2020-01-01']

# 转成日期
df['dt']= pd.to_datetime(df['date'])
# 设置索引
df.set_index('dt')

# df[['bias250']].plot()
# k black
plt.plot(df['dt'],df['close'],color='k')


# 买入信号
buymask = df[df['bias250']< -15]
plt.plot(buymask['dt'],buymask['close'],color='red',linestyle='',marker='o')

# 卖出信号
sellmask = df[df['bias250'] > 20]
plt.plot(sellmask['dt'],sellmask['close'],color='g',linestyle='',marker='o')





# plt.xticks(rotation=45)
# x轴日期自适应 避免重叠
plt.gcf().autofmt_xdate()

plt.show()

# bias250

plt.plot(df['dt'],df['bias250'])

# plt.gca() 获当前 Axes 对象
ax = plt.gca()
    
# 添加 bias250 上下阈值线 
ax.axhline(-15, color='red', linestyle='--')
ax.axhline(15, color='red', linestyle='--') 

# plt.xticks(rotation=45)
# x轴日期自适应 避免重叠
plt.gcf().autofmt_xdate()

plt.show()

上一篇     下一篇
jupyter 使用 技巧

matplotlib 技巧

matplot 基本用法

pandas matplot 画图 超出阈值 变颜色

沪深300指数 bias250 z20 z250 分析

聚宽 沪深300指数 数据读取分析