Python 股票市场分析实战
目标:
1.股票数据获取
2.历史趋势分析及可视化
3.风险分析
实验数据:来源于Yahoo Finance / Stooq,该网站提供了很多API接口,本文用的工具是pandas-datareader
实验平台:Anaconda (pandas-datareader 需手动pip install)
导入工具包
1 import datetime
2 import seaborn as sns
3 import matplotlib.pyplot as plt
4 import pandas as pd
5 import numpy as np
6 import pandas_datareader as web
获取数据
1 start = datetime.datetime(2016, 1, 1) # 获取数据的时间段-起始时间
2 end = datetime.date.today() # 获取数据的时间段-结束时间
3 alibaba = web.DataReader("BABA", "stooq", start, end) # 获取阿里巴巴2016年1月1日至今的股票数据
查看数据
print(alibaba.head()) # 查看前5条数据
print(alibaba.tail()) # 查看后5条数据
print(alibaba.index) # 查看DataFrame索引,索引为时间序列
print(alibaba.columns) # 查看DataFram列名,列信息为开盘价、最高价、最低价、收盘价、成交量
print(alibaba.shape) # 查看DataFram形状
print(alibaba.describe()) # 查看DataFrame数据每组的统计情况,如最小值、最大值、均值、标准差等
趋势分析及可视化
1 alibaba["Close"].plot(legend=True) # 收盘价可视化
2 plt.show()
3 alibaba["Volume"].plot(legend=True) # 交易量可视化
4 plt.show()
10 # 每日内股票变化
11 alibaba['high-low'] = alibaba['High'] - alibaba['Low']
12 print(alibaba.head())
14 # 每日间股票变化daily return
15 alibaba['daily-return'] = alibaba['Close'].pct_change()
16 alibaba['daily-return'].plot(figsize=(40,2))
17 plt.show()
19 # 每日间股票变化分布图
20 alibaba['daily-return'].plot(kind='hist')
21 plt.show()
23 sns.distplot(alibaba['daily-return'].dropna())
24 plt.show()

风险分析
1 # 获取五家科技公司2015至今的股票数据
2 start = datetime.datetime(2015,1,1)
3 company = ['AAPL','GOOG','MSFT','AMZN','FB']
4 top_tech_df = web.DataReader(company,'stooq',start)['Close']
5 print(top_tech_df.head())
1 # 每日收盘价较前一个交易日的百分比变化,即涨跌幅度
2 top_tech_dr = top_tech_df.pct_change()
3 print(top_tech_dr.head())
# 五家公司的股票收盘价走势图
top_tech_df.plot()
plt.show()
# 探究两组变量的分布及关系
sns.jointplot(x='GOOG',y='MSFT',data=top_tech_dr)
plt.show()

# 所有股票相关性比较
sns.pairplot(top_tech_dr.dropna())
plt.show()
Python 股票市场分析实战的更多相关文章
- 通过写n本书的积累,我似乎找到了写好技术文章的方法(回复送我写的python股票电子书)
我写的书不算少,写的博文就更多了,但大多数书的销量也就一般,而我写的技术文章里,虽然也有点击过万的,但不少点击量也就只有三位数. 通过不断反思,也通过对比了一些畅销书和顶流文章,我似乎找到了一些原因, ...
- 关于Python网络爬虫实战笔记③
Python网络爬虫实战笔记③如何下载韩寒博客文章 Python网络爬虫实战笔记③如何下载韩寒博客文章 target:下载全部的文章 1. 博客列表页面规则 也就是, http://blog.sina ...
- 《Python高效开发实战》实战演练——内置Web服务器4
<Python高效开发实战>实战演练——开发Django站点1 <Python高效开发实战>实战演练——建立应用2 <Python高效开发实战>实战演练——基本视图 ...
- Python股票分析系列——自动获取标普500股票列表.p5
该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第5部分.在本教程和接下来的几节中,我们将着手研究如何为更多公司提供大量的定价信息,以及如何一次 ...
- Python股票分析系列——基础股票数据操作(二).p4
该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第4部分.在本教程中,我们将基于Adj Close列创建烛台/ OHLC图,这将允许我介绍重新采 ...
- Python股票分析系列——基础股票数据操作(一).p3
该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第3部分.在本教程中,我们将使用我们的股票数据进一步分解一些基本的数据操作和可视化.我们将要使用 ...
- Python股票分析系列——数据整理和绘制.p2
该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第2部分. 在本教程中,我们将利用我们的股票数据进一步分解一些基本的数据操作和可视化. 我们将要 ...
- Python股票分析系列——系列介绍和获取股票数据.p1
本系列转载自youtuber sentdex博主的教程视频内容 https://www.youtube.com/watch?v=19yyasfGLhk&index=4&list=PLQ ...
- python聚类算法实战详细笔记 (python3.6+(win10、Linux))
python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念: 1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...
随机推荐
- (五)整合 Swagger2 ,构建接口管理界面
整合 Swagger2 ,构建接口管理界面 1.Swagger2简介 1.1 Swagger2优点 1.2 Swagger2常用注解 2.SpringBoot整合Swagger2 2.1 Swagee ...
- Linux 输入输出重定向, &>file, 2>&1, 1>&2
Linux 输入输出重定向, &>file, 2>&1, 1>&2 一.1和2在Linux中代表什么 1.1 输出重定向 1.2 输入重定向 1.3 绑定重定 ...
- Java模板引擎Freemarker
Java模板引擎Freemarker 1.取值(插值)指令 2.逻辑指令:if.switch 3.字符串.集合操作 4.自定义函数 5.list排序内建函数.常用指令 6.自定义指令 7.freema ...
- 37.Samba 文件共享服务1--配置共享资源
1.Samba 服务程序的主配置文件包括全局配置参数和区域配置参数.全局配置参数用于设置整体的资源共享环境,对里面的每一个独立的共享资源都有效.区域配置参数则用于设置单独的共享资源,且仅对该资源有效. ...
- Flink-v1.12官方网站翻译-P027-State Schema Evolution
状态方案的演变 Apache Flink流媒体应用通常被设计为无限期或长时间运行.与所有长期运行的服务一样,应用程序需要更新以适应不断变化的需求.这对于应用程序所针对的数据模式也是一样的,它们会随着应 ...
- DolphinScheduler1.3.2源码分析(一)看源码前先把疑问列出来
1.谈谈如何看源码 个人觉得拿到一个开源的项目,首先要先使用一下. 如果是有页面的那种,可以先把测试平台部署起来,然后到处随意点点,然后用一下最基础的功能,走一遍基础的使用流程.不用担心会把系统弄 ...
- Codeforces Round #631 div1C(或者div2E) Drazil Likes Heap 题解
题目链接:https://codeforces.com/contest/1329/problem/C 或者:https://codeforces.com/contest/1330/problem/E ...
- C# 程序运行时间计算
https://www.cnblogs.com/dearzhoubi/p/9842452.html
- MySQL 主从复制(下)
延时复制 因为延时复制主从数据同一时间不一致, 所以延时从库一般只能做备份,不提供任何对外服务 配置延时复制(已经有主从) 1.停止主从 mysql> stop slave; Query OK, ...
- 利用windows api共享内存通讯
主要涉及CreateFile,CreateFileMapping,GetLastError,MapViewOfFile,sprintf,OpenFileMapping,CreateProcess Cr ...









