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是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...
随机推荐
- Cookie (设置与读取、超时设置、指定路径、显示用户上次登录时间)
Cooike简介 Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式.Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的 ...
- 21.iptables
1.策略与规则链 iptables 服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下: 在进行路由选择前处理数据包(PRE ...
- HTML定位
定位(position) 定位是一种更加高级的布局手段,通过定位可以将元素摆放到元素的任何位置 使用position属性来设置定位 可选值:static 默认值,元素是静止的没有开启定位 relati ...
- Java之jdk环境变量配置
1.jdk下载(按平时下载,注意一下路径就行)2.配置环境变量 :JAVA_HOME.Path.ClassPath3.检查是否成功:(查一下版本,可省略).运行环境(java.javac) 2:电脑- ...
- Pytest(11)allure报告
前言 allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面. mac环境: ...
- Codeforces Round #672 (Div. 2) A. Cubes Sorting (思维)
题意:有一长度为\(n\)的一组数,每次可以交换两个数的位置,问能否在\(\frac{n*(n-1)}{2}-1\)次操作内使得数组非递减. 题解:不难发现,只有当整个数组严格递减的时候,操作次数是\ ...
- PowerShell随笔8 --- function
为了脚本逻辑的重复使用,我们更多时候会封装成方法.PowerShell的function和C#.JavaScript的定义有些区别. 我们直接看例子: 可以看到,定义方法并不是这样的: functio ...
- 搭建基于springboot轻量级读写分离开发框架
何为读写分离 读写分离是指对资源的修改和读取进行分离,能解决很多数据库瓶颈,以及代码混乱难以维护等相关的问题,使系统有更好的扩展性,维护性和可用性. 一般会分三个步骤来实现: 一. 主从数据库搭建 信 ...
- 【ybt高效进阶2-4-3】【luogu P4551】最长异或路径
最长异或路径 题目链接:ybt高效进阶2-4-3 / luogu P4551 题目大意 给定一棵 n 个点的带权树,结点下标从 1 开始到 N.寻找树中找两个结点,求最长的异或路径. 异或路径指的是指 ...
- jenkins:实现Jenkinsfile与Json的转换
实现Jenkinsfile与Json的转换 目录 实现Jenkinsfile与Json的转换 方法1:使用现有的jenkins插件 参考 方法2:解析原生的jenkinsfile文件 参考 最近在做个 ...









