python获取金融数据_使用Python获取金融数据

俗话说,“巧媳妇难为无米之炊”。做金融数据研究,首先要有可用的数据源。

Python下,pandas_datareader模块可以用于获取研究数据。例子如下:

>>> from pandas_datareader.data import DataReader

>>>

>>> datas = DataReader(name='AAPL', data_source='yahoo', start='2018-01-01')

>>>

>>> type(datas)

>>> datas

Open High Low Close Adj Close \

Date

2018-01-02 170.160004 172.300003 169.259995 172.259995 172.259995

2018-01-03 172.529999 174.550003 171.960007 172.229996 172.229996

2018-01-04 172.539993 173.470001 172.080002 173.029999 173.029999

2018-01-05 173.440002 175.369995 173.050003 175.000000 175.000000

2018-01-08 174.350006 175.610001 173.929993 174.350006 174.350006

2018-01-09 174.550003 175.059998 173.410004 174.330002 174.330002

2018-01-10 173.160004 174.300003 173.000000 174.289993 174.289993

2018-01-11 174.589996 175.490005 174.490005 175.279999 175.279999

2018-01-12 176.179993 177.360001 175.649994 177.089996 177.089996

Volume

Date

2018-01-02 25555900

2018-01-03 29517900

2018-01-04 22434600

2018-01-05 23660000

2018-01-08 20567800

2018-01-09 21584000

2018-01-10 23959900

2018-01-11 18667700

2018-01-12 25226000

>>>

>>> print(datas.to_csv())

Date,Open,High,Low,Close,Adj Close,Volume

2018-01-02,170.160004,172.300003,169.259995,172.259995,172.259995,25555900

2018-01-03,172.529999,174.550003,171.960007,172.229996,172.229996,29517900

2018-01-04,172.539993,173.470001,172.080002,173.029999,173.029999,22434600

2018-01-05,173.440002,175.369995,173.050003,175.0,175.0,23660000

2018-01-08,174.350006,175.610001,173.929993,174.350006,174.350006,20567800

2018-01-09,174.550003,175.059998,173.410004,174.330002,174.330002,21584000

2018-01-10,173.160004,174.300003,173.0,174.289993,174.289993,23959900

2018-01-11,174.589996,175.490005,174.490005,175.279999,175.279999,18667700

2018-01-12,176.179993,177.360001,175.649994,177.089996,177.089996,25226000

>>>

首先,引入DataReader方法;

然后,以股票代码(name)、数据源(data_source)以及开始日期(start)为参数,调用DataReader获取数据;

获取到的数据(datas)是一个DataFrame,以日期(Date)为索引,包含Open、High、Low、Close等多列指标。

DataFrame数据也可以非常方便地转换成csv格式并输出。

注意到,pandas_datareader还可以使用其他数据源,比如Google Finance。

更多关于pandas_datareader使用方式,请参考:pandas-datareader文档。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
感谢您的提问。我理解您想了解如何用 Python 爬虫来爬取雪球网的金融数据。下面是一个简单的爬虫项目,可以帮助您实现这个目标: 1. 确定爬取的目标网页 我们需要确定要爬取的目标网页。在本例中,我们将使用雪球网的金融数据页面:https://xueqiu.com/hq。 2. 使用 requests 库发送 HTTP 请求 我们可以使用 Python 的 requests 库来发送 HTTP 请求并从目标网页获取数据。以下是如何发送 GET 请求的示例代码: ```python import requests url = 'https://xueqiu.com/hq' response = requests.get(url) print(response.text) ``` 3. 解析 HTML 页面 我们可以使用 Python 的 Beautiful Soup 库来解析 HTML 页面。以下是如何使用 Beautiful Soup 库解析响应的 HTML 页面的示例代码: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser') # 打印解析后的 HTML 页面 print(soup.prettify()) ``` 4. 提取数据 一旦我们成功解析了 HTML 页面,就可以使用 Beautiful Soup 库中的一些方法来提取我们需要的数据。以下是如何从 HTML 页面中提取股票代码和股票名称的示例代码: ```python # 找到包含股票代码和名称的表格 table = soup.find('table', {'class': 'table'}) # 找到所有的行 rows = table.find_all('tr') # 遍历每一行,并提取股票代码和名称 for row in rows: cols = row.find_all('td') if len(cols) > 0: code = cols[0].text.strip() name = cols[1].text.strip() print(code, name) ``` 5. 存储数据 最后,我们可以将提取的数据存储到文件中。以下是如何将股票代码和名称存储到 CSV 文件中的示例代码: ```python import csv with open('stocks.csv', 'w', newline='') as csvfile: writer = csv.writer(csvfile) writer.writerow(['Code', 'Name']) for row in rows: cols = row.find_all('td') if len(cols) > 0: code = cols[0].text.strip() name = cols[1].text.strip() writer.writerow([code, name]) ``` 希望这个爬虫项目可以帮助您了解如何用 Python 爬虫来爬取雪球网的金融数据。如果您还有其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值