数据获取
源数据网站
数据获取有很多途径:
- 通过爬虫主动获取
- 通过官方提供的接口获取
- 通过一些专门提供数据的网站获取
这里采用第三种方法,使用finance.yahoo.com
这个网站。这个网站常被用来进行金融股票数据的搜索。
例如,以阿里巴巴股票为例,进入网站搜索baba
即可查看到阿里的股票价格:
安装pandas_datareader
pandas_datareader可以获取网站的数据,首先安装这个工具,安装方法是pip安装,运行pip install pandas_reader
finance.yahoo.com
这个网站提供有api供pandas_datareader获取数据
获取数据
历史趋势分析
获取历史数据
绘制历史价格走势图
现在以收盘价做一个走势图:
根据交易量作出交易量图形:
可以将亚马逊和阿里价格走势图画在一个图里:
绘制每一天股价变动情况
这个图形需要获取每一天开盘收市的价格差:
还可以获取每一天之间闭市的价格变化的图像:
pct_change方法可以获取与前一行之间的差值。
优化一下:
绘制变化情况的分布
使用seaborn绘制分布直方图,其中需要drop掉NAN的值,否则会报错:
优化一下:
风险评估
这里数据采用美国知名公司的5家股票。
数据准备
获取每日股价变动情况
价格走势图
这里因为时间index为逆序,所以图像是跌的,其实都是上涨的。
画出其中幅度最大的三家:
画出每日变化散点图
通过这个图可以看出,谷歌和亚马逊股价具有相关性,你涨我也涨。
seaborn还有一个方法pairplot可以绘制出所有情况的散点图:
可以看到散点图约符合一条直线则相关度越高。
分位数评估风险
传入的是一个概率百分比参数,例如对于微软MSFT这个股票来说,有95%的信心它的每日收益为-0.02美元。