股市的波动性是众所周知的,股价每天都在上下波动。对于数据专业人士来说,跟踪这些变化和趋势可能会非常繁琐。本文将对几家受欢迎的互联网公司的股票市场进行分析。
分析股票价格需要一个不断更新的数据集。在这种情况下,Pandas有一个特殊的库叫做pandas-datareader。Pandas-datareader帮助从互联网导入数据。更多关于pandas data-reader库的信息可以在这里找到。
将使用Yahoo Finance来导入分析所需的股市数据。将研究以下五家科技公司的股票:
让看看过去五年的数据,以了解股票的表现。首先,将在Yahoo上搜索上述公司的代码。代码是为特定股票交易目的分配的一系列字母的独特股票符号。
tickers = ['GOOG','AMZN','MSFT','AAPL', 'FB']
现在,将导入pandas-datareader和必要的库。如果还没有安装它,那么在笔记本上使用以下命令安装它。
!pip install pandas-datareader
然后,导入必要的库。
import pandas_datareader as dataimport pandas as pd
从Yahoo获取过去五年的数据。对于每只股票,分别导入数据。将所有股票数据合并到一个单独的数据框架中进行分析。
data_source = 'yahoo'start_date = '2016-01-01'end_date = '2021-11-30'
Google = data.DataReader('GOOG', data_source, start_date, end_date)Amazon = data.DataReader('AMZN', data_source, start_date, end_date)Microsoft = data.DataReader('MSFT', data_source, start_date, end_date)Apple = data.DataReader('AAPL', data_source, start_date, end_date)Facebook = data.DataReader('FB', data_source, start_date, end_date)
df = pd.concat([Google, Amazon, Microsoft, Apple, Facebook], axis=1)
print(df.head(3))
给列命名以更好地解释数据。
df.columns.names = ['Stock Ticker', 'Stock Info']
df.head()
数据是多索引格式的。必须对数据进行交叉分析。更多关于处理多级索引的信息可以在这里找到。
df.xs(key='GOOG', axis=1, level='Stock Ticker')
将使用交叉部分提取股票数据,并在过去五年内可视化股票走势。将使用图表来理解股票走势。
对于可视化,将使用一个名为Plotly的库。Plotly是一个流行的绘图库,用于创建交互式图表。有了Plotly,可以实时了解股票走势。
让导入必要的可视化库。
import matplotlib.pyplot as pltimport plotly.express as pximport plotly.graph_objects as go%matplotlib inline
使用以下代码分析谷歌过去五年的收盘价。
px.line(df.xs(key='GOOG', axis=1, level='Stock Ticker')['Close'])
让看看特定时间段的股票走势,并分析该特定时期的价格波动。
px.line(df.xs(key='GOOG', axis=1, level='Stock Ticker')['Close'], range_x=['2020-01-01','2020-12-31'])
比较两只股票有助于了解哪只股票表现更好。比较了谷歌和亚马逊的股票。
px.line(df.xs(key='Close', axis=1, level='Stock Info')[['GOOG', 'AMZN']])
分析完每只股票后,可以通过取收盘价或开盘价的交叉部分来分析它们。
df.xs(key='Close', axis=1, level='Stock Info').head()
c = df.xs(key='Close', axis=1, level='Stock Info')
c.head()
让看看包含给定时间段内所有股票走势的图表。
plt.figure(figsize=(20,10))fig = px.line(c)fig.show()
使用以下图表分别了解每只股票的行为。这有助于区分表现不佳的股票和表现更好的股票。
plt.figure(figsize=(20,10))fig = px.area(c, facet_col='Stock Ticker', facet_col_wrap=3)fig.show()
显然,亚马逊和谷歌的表现优于其他股票。在过去五年中,这两只股票都有持续的增长。
指定想要查看股票表现的时间段。在Covid-19爆发期间,可以看到股票暴跌,然后在一段时间后恢复。
fig = px.line(c, range_x=['2020-01-01','2020-12-31'])fig.show()
蜡烛图在股市分析中很受欢迎。它们有助于了解过去的股票走势。蜡烛图让洞察股票的开盘、收盘、最高、最低价。绿色的蜡烛图显示了正向走势,红色显示了股票的下跌。
蜡烛图中间有一个主体,两端有棍子。主体展示了股票的开盘和收盘价。两端被称为阴影,分别代表特定股票一天中的最高和最低值。
plt.figure(figsize=(24,16))fig = go.Figure(data=[go.Candlestick(x=df.index, open=df['GOOG']['Open'], high = df['GOOG']['High'], low = df['GOOG']['Low'], close = df['GOOG']['Close'])])fig.update_layout(xaxis_rangeslider_visible=False)fig.show()
import cufflinks as cfcf.go_offline()google = df['GOOG'][['Open', 'High', 'Low', 'Close']].loc['2021-01-01':'2021-11-30']google.iplot(kind='candle')