楼主: 邢不行
229142 216

[源码分享] 【量化小讲堂 - python & pandas技巧系列】使用python计算移动平均线   [推广有奖]

助理

学科带头人

59%

还不是VIP/贵宾

-

威望
1
论坛币
40671 个
学术水平
457 点
热心指数
472 点
信用等级
433 点
经验
40416 点
帖子
362
精华
26
在线时间
723 小时
注册时间
2010-4-30
最后登录
2017-10-23

邢不行 在职认证  发表于 2015-3-26 14:12:01 |显示全部楼层
本帖最后由 邢不行 于 2017-5-26 17:59 编辑

引言:

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

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

【所有系列文章汇总】:http://bbs.pinggu.org/thread-3950124-1-1.html

【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:
《python量化投资入门》,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击此处

微信:xbx_laoshi,量化交流Q群(快满):438143420,有问题欢迎交流。

文中用到的A股数据可在www.yucezhe.com下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。






【量化小讲堂 - python & pandas技巧系列】使用python计算各类移动平均线

计算移动平均线是最常见的需求,下面这段代码将完成以下三件事情:
1. 从csv格式的文件中导入股票数据,数据例图如下:
输入文件截图.png
    输入数据截图.png


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)

【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:《python量化投资入门》,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击此处。)

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

# 分别计算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)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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


可以到这里下载程序中用到的股票数据:网址其中包含了所有股票、从上市日起的全部交易数据。




之后会讲的内容:


现在想到的之后几期会讲的内容:
【量化小讲堂 - python & pandas技巧系列】如何在windows环境安装python和pandas
【量化小讲堂 - python & pandas技巧系列】如何在mac OSX环境安装python和pandas
【量化小讲堂 - python & pandas技巧系列】使用python计算KDJ指标
【量化小讲堂 - python & pandas技巧系列】使用python计算MACD指标
【量化小讲堂 - 投资策略系列】KDJ、MACD指标双金叉选股效果
【量化小讲堂 - python & pandas技巧系列】使用pytho将日线数据转换成周线、月线数据

关于《量化小讲堂》之后想看的内容,或者相关问题,可以加我微信xbx_laoshi、Q群(快满):438143420沟通。



本篇内容的代码,回复可见。
觉得文章内容有帮助的话,顶贴是最好的鼓励!

本帖隐藏的内容

使用python计算各类移动平均线.zip (173 KB)




支持楼主:购买VIP购买贵宾 购买后,论坛将奖励 10 元论坛资金给楼主,以表示您对TA发好贴的支持
 
载入中......

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

945 Bytes

售价: 1 个论坛币

代码

已有 8 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Nicolle + 100 + 1 + 1 精彩帖子
accumulation + 100 + 1 + 1 + 1 精彩帖子
DooSun + 1 + 1 很好,我已经会用R,所以学Python比较简单,.
henry_l + 100 + 300 精彩帖子
jerker + 36 + 36 + 1 + 1 + 1 精彩帖子
离歌レ笑 + 100 + 5 精彩帖子
我的素质低 + 100 精彩帖子
fantuanxiaot + 35 + 55 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 471  论坛币 + 491  学术水平 + 10  热心指数 + 5  信用等级 + 3   查看全部评分

本帖被以下文库推荐

不管去哪里 只要在路上
stata SPSS
fantuanxiaot 发表于 2015-3-26 14:18:39 |显示全部楼层
牛逼 欢迎
回复

使用道具 举报

fantuanxiaot 发表于 2015-3-26 15:07:16 |显示全部楼层
我帮您设置好拉
回复

使用道具 举报

mike68097 发表于 2015-3-26 15:24:15 |显示全部楼层
回复

使用道具 举报

woaiwangqiao 发表于 2015-3-26 18:38:04 |显示全部楼层
好东西,学python的人越来越多了
回复

使用道具 举报

hkmonte 发表于 2015-3-26 18:42:49 |显示全部楼层
谢谢分享!
回复

使用道具 举报

allain 发表于 2015-3-26 18:47:15 |显示全部楼层
kkkkkkkkkk
回复

使用道具 举报

jerker 发表于 2015-3-26 18:59:35 |显示全部楼层
小讲堂很不错,支持楼主
回复

使用道具 举报

kzpan 发表于 2015-3-26 19:13:58 |显示全部楼层
谢谢分享
回复

使用道具 举报

barry2000 发表于 2015-3-26 20:37:55 |显示全部楼层
不错,感谢普及~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

GMT+8, 2017-10-24 10:23