python csv 排序_【邢不行|量化小讲堂系列04-Python量化入门】使用python计算各类移动平均线...

引言:

邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。

【历史文章汇总】请点击此处

【必读文章】:

【邢不行|量化小讲堂系列27-Python量化入门】EOS期现套利,一周时间,15%无风险收益

【邢不行|量化小讲堂系列20-Python量化入门】10年400倍策略分享(附视频逐行代码讲解)

个人微信:xbx9585,有问题欢迎交流。

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


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

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

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

7a7f8504aafbf8de80353cd57a566794.png

26b9e6842da5283567d794245c325884.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)

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

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

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

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

76528f9810f2cd86305009467f9cfc38.png

对本文研究有自己的想法的朋友,欢迎在评论区留言。关于文中的代码、数据,以及下期《量化小讲堂》想了解的内容,也可以加我个人微信xbx9585交流。

如果你想入门量化,但是始终找不到方向,可以加入我的知识星球。我会在里面解答你的问题,分享我的感悟,不论是投资、技术,还是职业选择、思维方式。

942533ffc2915829252d695005c1233b.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值