一、准备
1.1 数据科学的工作流
第二步:获取数据
1.2 数据获取的一般方式
1.
主动获取:通过爬虫技术
2.
被动获取:别人提供的一些接口api:
- 国内微博、国外推特,会提供数据接口
3.
公开的数据集的来源:
- Kaggle:数据分析、机器学习,必去的网站
- Google public dataset
- AWS public dataset亚马逊也有
- YAHOO Finance
二、股票市场分析:数据获取
2.1 数据来源:YAHOO Finance
YAHOO Finance:金融领域,权威的数据网站。
比如,搜索一下阿里巴巴的股票:
2.2 工具:pandas-datareader的安装
1.
以前的Matplotlib、Seaborn,是已经在Anaconda中默认装好了的。
但是,工具pandas-datareader却没有。
2.
安装:不通过上述的pip安装。这次使用Anaconda提供的conda来安装:
老师方式:
3.我的安装:
- 打开Anaconda的自己的提示符Prompt:
- 输入:
pip install pandas_datareader
- 安装成功:
4.在Jupyter Notebook中,已经能够成功的导入使用:
2.3 获取到股票数据
通过上述的工具 pandas_datareader,所提供的api:get_data_yahoo()函数,来将YAHOO网站上的数据,在线的拿过来:
可能存在的问题及解决方案:https://blog.csdn.net/SmartChipmunk/article/details/118685362
2.
因为解决上述问题,有点耗时。且,目的是获取到股票的数据。
又,本地电脑又有这一个csv文件。故:直接读取即可:
读取为一个DataFrame:
查看一下基本的信息:
3.
把亚马逊这家公司的股票数据,也拿过来:
4.
将两张表的索引调整为日期(时间序列,方便绘图):
三、股票市场分析:历史趋势
3.1 初步画图
1.
导入对应的包:
- 数据处理的包
- 可视化的包
2.
3.
除了上述的阿里巴巴的表,不是还有亚马逊公司的股票的表吗,那就两个公司画到同一张图中:
3.2 变化:每天的差值的变化
1.
新增一列,盛放每天的最高价与最低价的差值:
3.3 变化:天与天之间的变化(daily return):pct_change()
daily return
1.
2.
让画布的尺寸,调整下:
- 正方形变成长方形
3.
调整为虚线,且小球点,更直观:
3.4 直方图:更直观
1.Matplolib:
2.Seaborn
如果数据有空格的话,会报错。那么就先去掉空格:
以上说明:
- 阿里巴巴:股票市场的变化,几乎都在5%上下。
四、股票市场分析:风险分析
4.1 数据准备
1.
美国股票市值前五名的公司:
- 苹果、谷歌、微软、亚马逊、脸书
生成一个DataFrame:
由于index是默认的数字,这里应该将索引设置为Date(时间序列):
每天的变化:
2.
为了更好的绘图,将index行索引,排个序:按照日期从小到大:
4.2 seaborn绘图:曲线
1.
绘图:
2.
挑选出其中的三个公司的曲线:
4.3 散点图,绘制daily return每天的变化
用散点图,绘制daily return每天的变化:
1.
注意:
必须参数,即position位置参数,必须是在固定的位置上。且是最高级的。
所以,具有指定性质的关键字参数作为次级,只能在第二档。必须在所有位置参数的后面。
2.
谷歌、亚马逊两家公司:
几乎是一条沿着45°的直线,说明是正相关:
3.
绘制矩阵形式的散点图:
对大于等于2个数据源,的散点图的可视化:
4.4 风险:分位数,本质是概率
这里的0.05指的是:有95%的概率,亏损2.37%
五、总结
5.1 Kaggle网站
这
是一个可以持续精进的高质量的网站。
1.
比如,找到关于Bitcoin的数据集:
2.code
Comments | NOTHING