Pandas的DataFrame基础操作巩固 绘制股票均线 金叉和死叉

鳄鱼君Ba

发表文章数:519

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python教程 » Pandas的DataFrame基础操作巩固 绘制股票均线 金叉和死叉

计算股票历史数据的5日均线和30日均线

什么是均线?

对于每一个交易日,都可以计算出前N天移动的平均值,然后把这些移动平均值连起来,成为一条线,就叫做N日移动平均线。移动平均线常用线有5天、10天、30天、60天、120天和240天的指标。

  • 5天和10天的是短线操作的参照指标,称作日均线指标。
  • 30天和60天的是中期均线指标,称作季均线指标。
  • 120天和240天的是长期均线指标,称作年均线指标。

均线计算:MA=(C1+C2+C3+C4+…+Cn)/ N C:某日收盘件 N:移动平均周期(天数)

这里的数据还是通过tushare模块获取的。你不需要理解太多,计算均值在pandas中有固定的方法。这里还是先读取本地的数据:

import pandas as pd
from pandas import Series,DataFrame
import numpy as np

df=pd.read_csv('./k_code.csv')  #读取本地的数据
df.drop(labels=['ma10','ma20','v_ma5','v_ma10','v_ma20','ma5'],axis=1,inplace=True)  # 删掉无用的列
df.drop(labels=['price_change','p_change'],axis=1,inplace=True) # 删掉无用的列
df['date']=pd.to_datetime(df['date']) # 将date列转换为时间序列
df.set_index(df['date'],inplace=True) # 设定行索引
df.drop(labels='date',axis=1,inplace=True) # 删掉date列

                open	high	close	low	volume
date			
————————————————————————————————————————————————————————		
2020-05-08	1317.00	1338.00	1314.61	1308.51	29078.68
2020-05-07	1299.40	1314.99	1312.00	1293.00	27934.74
2020-05-06	1251.00	1300.00	1300.00	1250.00	35834.81
2020-04-30	1271.00	1285.01	1265.70	1258.88	24660.87
2020-04-29	1277.80	1288.10	1274.90	1258.00	23444.06
...	...	...	...	...	...

计算5日均值

# 计算5日均值
md5=df['close'].rolling(5).mean()  # 只有第五天才会有均值
date
2020-05-08         NaN
2020-05-07         NaN
2020-05-06         NaN
2020-04-30         NaN
2020-04-29    1293.442
                ...   
Name: close, Length: 607, dtype: float64

计算30日均值

md30=df['close'].rolling(30).mean() # 只有第30天才会有均值
date
2020-05-08           NaN
2020-05-07           NaN
2020-05-06           NaN
2020-04-30           NaN
2020-04-29           NaN
                 ...    
2017-11-14    656.950000
2017-11-13    656.943000
2017-11-10    656.777000
2017-11-09    655.723667
2017-11-08    654.570333
Name: close, Length: 607, dtype: float64

借助matplotlib模块绘制均值:

import matplotlib.pyplot as plt
# plt.plot(md5) # 绘制5日均线
# plt.plot(md30) # 绘制30日均线

# 为了能够看出差别,切一下数据
# plt.plot(md5[50:150]) # 绘制5日均线
# plt.plot(md30[50:150]) # 绘制30日均线

# 添加信息
plt.xlabel('data') # x轴信息均值
plt.ylabel('mean_close') # y轴信息为均值

plt.plot(md5[50:150],label='md5') # 绘制5日均线
plt.plot(md30[50:150],label='md30') # 绘制30日均线
plt.legend()

效果

Pandas的DataFrame基础操作巩固  绘制股票均线 金叉和死叉

金叉和死叉

未经允许不得转载:作者:鳄鱼君Ba, 转载或复制请以 超链接形式 并注明出处 鳄鱼君Ba
原文地址:《Pandas的DataFrame基础操作巩固 绘制股票均线 金叉和死叉》 发布于2020-05-13

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

2 + 5 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册