Py学习  »  Python

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

邢不行 • 1 年前 • 279 次点击  
计算移动平均线是最常见的需求,下面这段代码将完成以下三件事情:
1. 从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 = [52060]

# 计算简单算术移动平均线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=Falseinplace=True)

# ========== 将算好的数据输出到csv文件 - 注意:这里请填写输出文件在您电脑中的路径
stock_data.to_csv('sh600000_ma_ema.csv'index=False)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码输出的数据截图如下:


需要用到的股票数据可以加我微信xbx297,都是可以免费发给你的。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/164720
 
279 次点击