社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

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