Python数据分析:股票数据分析案例
Python数据分析:股票数据分析案例
步骤:
- 准备数据
- 可视化数据、审查数据
- 处理数据
- 根据ACF、PACF定阶
- 拟合ARIMA模型
- 预测
import pandas as pd
import pandas_datareader
import datetime
import matplotlib.pylab as plt
from matplotlib.pylab import style
from statsmodels.tsa.arima_model import ARIMA
from statsmodels.graphics.tsaplots import plot_acf, plot_pacfstyle.use('ggplot') # 设置图片显示的主题样式# 解决matplotlib显示中文问题
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题def run_main():"""主函数"""# 1. 准备数据# 指定股票分析开始日期start_date = datetime.datetime(2009, 1, 1)# 指定股票分析截止日期end_date = datetime.datetime(2019, 4, 1)# 股票代码stock_code = '600519.SS' # 沪市贵州茅台stock_df = pandas_datareader.data.DataReader(stock_code, 'yahoo', start_date, end_date)# 预览数据print(stock_df.head())# 2. 可视化数据plt.plot(stock_df['Close'])plt.title('股票每日收盘价')plt.show()# 按周重采样stock_s = stock_df['Close'].resample('W-MON').mean()stock_train = stock_s['2014':'2018']plt.plot(stock_train)plt.title('股票周收盘价均值')plt.show()# 分析 ACFacf = plot_acf(stock_train, lags=20)plt.title("股票指数的 ACF")acf.show()# 分析 PACFpacf = plot_pacf(stock_train, lags=20)plt.title("股票指数的 PACF")pacf.show()# 3. 处理数据,平稳化数据# 这里只是简单第做了一节差分,还有其他平稳化时间序列的方法stock_diff = stock_train.diff()diff = stock_diff.dropna()print(diff.head())print(diff.dtypes)plt.figure()plt.plot(diff)plt.title('一阶差分')plt.show()acf_diff = plot_acf(diff, lags=20)plt.title("一阶差分的 ACF")acf_diff.show()pacf_diff = plot_pacf(diff, lags=20)plt.title("一阶差分的 PACF")pacf_diff.show()# 4. 根据ACF和PACF定阶并建立模型model = ARIMA(stock_train, order=(1, 1, 1), freq='W-MON')# 拟合模型arima_result = model.fit()print(arima_result.summary())# 5. 预测pred_vals = arima_result.predict(start=str('2019-01'),end=str('2019-03'),dynamic=False, typ='levels')print(pred_vals)# 6. 可视化预测结果stock_forcast = pd.concat([stock_s, pred_vals], axis=1, keys=['original', 'predicted'])plt.figure()plt.plot(stock_forcast)plt.title('真实值vs预测值')plt.savefig('./stock_pred.png', format='png')plt.show()if __name__ == '__main__':run_main()
运行:
Python数据分析:股票数据分析案例相关推荐
- 使用 Python 对股票数据分析预测
使用 Python 对股票数据分析预测 文章目录 使用 Python 对股票数据分析预测 目录索引 模块安装 股票数据获取 雅虎财经 Quandl 模块 Pandas Datareader 模块 数据 ...
- Python实现股票数据分析的可视化
Python实现股票数据分析的可视化 文章目录 Python实现股票数据分析的可视化 一.简介 二.代码 1.主文件 2.数据库使用文件 3.ui设计模块 4.数据处理模块 三.数据样例的展示 四.效 ...
- 用python进行股票数据分析_利用python进行股票数据分析
个人觉得这问题问的不太对,说句不好的话,你是来搞编程的还是做股票的. 当然,如果题主只是用来搜集资料,看数据的话那还是可以操作一波的,至于python要怎么入门,个人下面会推荐一些入门级的书籍,通过这 ...
- python股票数据分析_用Python进行股票数据分析
本篇运用Python进行自选股的数据分析,帮助进行投资决策,分析用到以下两个模块:pandas(数据分析包):pandas_datareader(可以查询雅虎的股票数据接口). 本篇参考了猴子老师的课 ...
- python tus股票数据分析_使用Python进行快速复盘[1]: 数据获取与整理
各位小伙伴周末好,本周想给大伙分享的内容是使用Python进行复盘,有小伙伴问到自己是否有必要学习Python,不可否认Python在进行数据分析时有很多优势,学习曲线也不算特别陡峭,但每个人具体情况 ...
- 用python做股市数据分析一_用python做股票数据分析(兴趣篇)
本文我们一起用python来对某只股票的所有历史日数据,做一个探索性的分析,看看能不能有一些有趣的发现,希望能激起你对金融数据分析的兴趣.主要用到numpy,pandas模块的一些基本用法.本文的所有 ...
- python tus股票数据分析_python 股票量化分析(一)---基于Tushare平台的个股历史行情获取...
在浩瀚如烟的股票中,如何将好股选择出来?长线.中线.短线个股如何筛选?国内外政治.经济.地缘博弈基本面对股市的影响有多大,怎样将其纳入股票选择买卖的决策因子?公司财报.未来规划.公司所处行业发展前景怎 ...
- 用python进行股票数据分析_用 Python 做股市数据分析(2)
这篇博文是用Python分析股市数据系列两部中的第二部,内容基于我在阅读第一部分).在这两篇博文中,我会讨论一些基础知识,包括比如如何用pandas从雅虎财经获得数据, 可视化股市数据,平均数指标的定 ...
- python tus股票数据分析_用TuShare验证股市中的“春节效应”
在中国股民的印象中,农历年后股市一般上涨的概率较大,所以很多投资者会在农历年前买入股票,以待年后股市上涨收取红包,这叫做股市中的"春节效应".那么实际上存不存在这种"春节 ...
- 使用python对股票数据分析预测
安装quandl 安装Pandas_Datareader 1.获取数据 import Pandas_Datareader.data as web import datetime start=datet ...
最新文章
- 开源大数据周刊-第30期
- 求难、求拙、求慢、求少
- 词典建立过程缓慢的解决~~子系统构架重新设计!
- Java内存模型深度解析:顺序一致性--转
- CPU的制造过程及大致原理
- 定义下一代存储,打造全新一代数据基础设施
- 利用营销工具,这家企业从按经验办事的老中医,变为数据化中西医
- “全宇宙首个”用中文编写的操作系统,作者还自创了甲、乙、丙编程语言?
- 蓝桥杯2016年第七届C/C++省赛B组第一题-煤球数目
- codevs1688 求逆序对
- IT加速营-关于java开发,测试及职业规划的公众号
- 展讯模块读写IMEI
- flash builder 4.7破解亲测可用
- 教你一键如何更换证件照底色?
- 工作半年就迷茫,给你一盏明灯
- 计算机教室如何防火,校园防火及火灾逃生自救安全常识
- html 水印插件,Watermark.js 在浏览器端添加水印插件 - 文章教程
- Java【7】工具包(集合框架、函数式编程、Optional容器)
- 基于坐标变换与随机Hough 变换的抛物线运动目标检测算法
- python经典类新式类_Python的新式类和经典类