1.背景
GAFATA,它表示的是GOOGLE,AMAZON,FACEBOOK,APPLE,TENCENT,ALIBABA这六家互联网巨头的首字母缩写。本文主要分析GAFATA这六家公司股票近一年的的涨跌情况。
2.过程
先使用conda安装:
1)在python环境下安装数据分析pandas包,和互联数据获取包pandas-datareader
#导入包
#数据分析包
import pandas as pd
'''互联数据获取包注意:安装包的命令中的连接符是‘-’也就是pandas-datareader。但是这里导入包的连接符是下划线‘_’,也就是pandas-datareader这里一定要注意安装和导入包这两个连接符是不一样的,不然无法导入使用'''
from pandas_datareader import data
# 存在的问题:由于是从国外获取股票数据,会由于网络不稳定,获取数据失败,多运行几次这个cell就好了
'''获取国内股票数据的方式是:“股票代码”+“对应股市”(港股为.hk,A股为.ss)例如腾讯是港股是:0700.hk'''
#字典:6家公司的股票
gafataDict={'谷歌':'GOOG','亚马逊':'AMZN','Facebook':'FB',
'苹果':'AAPL','阿里巴巴':'BABA','腾讯':'0700.hk'}
'''定义函数函数功能:计算股票涨跌幅=(现在股价-买入价格)/买入价格输入参数:column是收盘价这一列的数据返回数据:涨跌幅'''
def change(column):
#买入价格
buyPrice=column[0]
#现在股价
#column.size是总共数据条数,序号是从0开始的,所以最后一条数据的序号是总数目-1
curPrice=column[column.size-1]
#累计涨跌幅
priceChange=(curPrice-buyPrice)/buyPrice
#判断股票是上涨,还是下跌
if(priceChange>0):
print('股票累计上涨=',priceChange*100,'%')
elif(priceChange==0):
print('股票累没有变化=',priceChange*100,'%')
else:
print('股票累计下跌',priceChange*100,'%')
#返回数据
return priceChange
阿里巴巴
'''get_data_yahoo表示从雅虎数据源获取股票数据,官网使用操作文档:http://pandas-datareader.readthedocs.io/en/latest/remote_data.html可能存在的问题:1)由于是从国外获取股票数据,会由于网络不稳定,获取数据失败,多运行几次这个cell就好了2)如果多运行几次还是无法获的股票数据,使用这个链接里的方法:https://pypi.org/project/fix-yahoo-finance/0.0.21/3)如果经过上面2个方法还不行,打开这个官网使用文档(http://pandas-datareader.readthedocs.io/en/latest/remote_data.html),换其他的财经数据源试试'''
# 获取哪段时间范围的股票数据
start_date = '2017-11-15'
end_date = '2018-11-15'
#从雅虎财经数据源(get_data_yahoo)获取阿里巴巴股票数据
babaDf=data.get_data_yahoo(gafataDict['阿里巴巴'],start_date, end_date)
#或者从Morningstar数据源获取阿里巴巴数据
#babaDf=data.DataReader(gafataDict['阿里巴巴'],'morningstar',start_date, end_date)
'''每日股票价位信息Open:开盘价High:最高加Low:最低价Close:收