您的位置:首页 > 编程语言 > Python开发

【量化小讲堂-Python&Pandas系列03】使用python计算移动平均线

2017-11-08 22:32 656 查看
[b]引言:[/b]

本系列“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。

【必读文章】:《10年400倍策略分享-附视频逐行讲解代码》

【所有系列文章汇总】:【量化小讲堂 – Python、Pandas系列】目录汇总

使用python计算各类移动平均线

计算移动平均线是最常见的需求,下面这段代码将完成以下三件事情:

从csv格式的文件中导入股票数据,数据例图如下:





2.计算各类移动平均线,包括简单简单算术移动平均线MA、指数平滑移动平均线EMA;

3.将计算好的数据输出到csv文件中。

代码应该复制下来就能运行了,关于从哪里可以得到代码中使用的数据,后面会讲,下面贴上代码:

–– coding: utf-8 ––
“””

@author:
yucezhe

@contact: QQ:2089973054 email:xjc@yucezhe.com

“””
import pandas as pd

========== 从原始csv文件中导入股票数据,以浦发银行sh600000为例

# 导入数据 – 注意:这里请填写数据文件在您电脑中的路径

stock_data = pd.read_csv(‘stock data/sh600000.csv’, parse_dates=[1])

# 将数据按照交易日期从远到近排序

stock_data.sort(‘date’, inplace=True)

# ========== 计算移动平均线

# 分别计算5日、20日、60日的移动平均线

ma_list = [5, 20, 60]

# 计算简单算术移动平均线MA – 注意:stock_data[‘close’]为股票每天的收盘价
for ma in ma_list:

stock_data[‘MA_’ + str(ma)] = pd.rolling_mean(stock_data[‘close’], ma)

# 计算指数平滑移动平均线EMA
for ma in ma_list:

stock_data[‘EMA_’ + str(ma)] = pd.ewma(stock_data[‘close’], span=ma)

# 将数据按照交易日期从近到远排序

stock_data.sort(‘date’, ascending=False, inplace=True)

# ========== 将算好的数据输出到csv文件 – 注意:这里请填写输出文件在您电脑中的路径

stock_data.to_csv(‘sh600000_ma_ema.csv’, index=False)

代码输出的数据截图如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐