python3使用pandas获取股票数据的方法

  • Post category:Python

下面是完整的攻略:

概述

本攻略旨在介绍如何使用pandas库获取股票数据的方法。具体包括以下内容:

  1. 安装pandas库;
  2. 获取股票数据;
  3. 处理股票数据;
  4. 示例说明。

安装pandas库

pandas库是Python中数据处理的常用库。可以使用pip命令来安装:

pip install pandas

获取股票数据

导入pandas库

在使用pandas库之前,需要先导入它。

import pandas as pd

使用pandas-datareader获取股票数据

pandas-datareader是pandas库提供的获取股票数据的工具,可以用来从Yahoo Finance和Google Finance获取股票历史数据。通过以下命令可以安装pandas-datareader:

pip install pandas-datareader

然后,要获取股票数据,需要先指定数据源、股票代码、日期范围等参数。以下是一些常用的代码块:

# 导入数据源
import pandas_datareader.data as web

# 从Yahoo Finance获取AAPL的历史数据
df = web.DataReader('AAPL', 'yahoo', start_date, end_date)

# 从Google Finance获取GOOGL的历史数据
df = web.DataReader('GOOGL', 'google', start_date, end_date)

在上述代码块中,’AAPL’和’GOOGL’分别为苹果公司和谷歌公司的股票代码。start_date和end_date分别表示开始日期和结束日期。

处理股票数据

获取到股票数据之后,需要进行处理以便后续使用。可以使用pandas库提供的数据结构DataFrame来处理数据。

以下是一些常用的数据处理代码块:

# 查看数据前5行
df.head()

# 查看数据后5行
df.tail()

# 查看数据结构
df.info()

# 查看数据统计信息
df.describe()

# 计算收益率
df['return'] = df['Close']/df['Close'].shift(1) - 1

# 计算移动平均值
df['MA5'] = df['Close'].rolling(5).mean()

在上述代码块中,’return’表示收益率,’MA5’表示5日移动平均值。

示例说明

以下是两个示例说明:

示例1:获取AAPL历史数据并绘制收益率曲线

# 导入必要的库
import pandas as pd
import pandas_datareader.data as web
import matplotlib.pyplot as plt

# 从Yahoo Finance获取AAPL历史数据
df = web.DataReader('AAPL', 'yahoo', '2010-01-01', '2021-07-31')

# 计算收益率
df['return'] = df['Close']/df['Close'].shift(1) - 1

# 绘制收益率曲线
plt.plot(df['return'])
plt.show()

示例2:获取GOOGL历史数据并计算移动平均线

# 导入必要的库
import pandas as pd
import pandas_datareader.data as web
import matplotlib.pyplot as plt

# 从Google Finance获取GOOGL历史数据
df = web.DataReader('GOOGL', 'google', '2010-01-01', '2021-07-31')

# 计算5日移动平均值
df['MA5'] = df['Close'].rolling(5).mean()

# 绘制收盘价和移动平均线
plt.plot(df['Close'])
plt.plot(df['MA5'])
plt.show()

通过上述两个示例可以看出,使用pandas获取股票数据是非常简单的。通过简单的代码,就能获取到历史数据,并对数据进行处理和分析。