Skip to main content

这是一个投资库的分支,仅用于测试目的。因此,所有描述都是关于原始投资库的。请支持原作者通过开发投资库所做的贡献。

项目描述

使用 Python 从 Investing.com 提取财务数据

Investpy 是一个 Python 包,用于从Investing.com检索数据,它提供的数据检索多达:39952 只股票、82221 只基金、11403 ETF、2029 种货币交叉、7797 种指数、688 种债券、66 种商品、250 种证书和 2812 种加密货币。

investpy 允许用户从 Investing.com 索引的所有金融产品中下载近期和历史数据。 它包括来自世界各地的数据,包括来自美国、法国、印度、西班牙、俄罗斯或德国等国家的数据。

在金融数据提取方面,investpy 力求成为最完整的 Python 软件包之一,以停止依赖公共/私有 API,因为investpy 是免费的并且没有限制。这些是目前在金融数据检索方面使投资成为最一致的软件包之一的一些功能。

蟒蛇版本 PyPI 版本 包裹状态 构建状态 文件状态 代码覆盖率

如果你想支持这个项目,你可以给开发者买杯咖啡。更多信息请访问:buy-me-a-coffee

给我买杯咖啡


安装

要使这个包正常工作,您需要通过 pip(使用 Python 3.6 或更高版本)在终端上安装它,方法是键入:

$ pip install investpy

此外,如果您想使用最新的投资版本而不是稳定版本,您可以使用以下命令从源代码安装它:

$ pip install git+https://github.com/alvarobartt/investpy.git@master

主分支确保用户最新的版本将始终正常工作并且完全可操作,以免等到稳定版本发布(最终可能需要一些时间,具体取决于要解决的问题数量)。


用法

尽管文档中提供了一些投资使用示例,但将使用示例 Python 代码块整理出一些基本功能。此外,可以在examples/目录下找到更多使用示例,其中包含有关如何使用investpy 和处理其数据的 Jupyter Notebooks 集合。

扩展功能:使用 Zyte (Crawlera) 旋转代理

使用 Zyte 消除请求限制

您可以通过您的 Zyte(以前是 Crawlera)API 来自动设置代理轮换。

import investpy
key = 'YOUR_API_KEY'
df = investpy.technical.moving_averages(api_key=key,
                                        name='EUR/USD',
                                        country='none',
                                        product_type='currency_cross',
                                        interval='1min')

print(df.head())

注意:此包仅用于测试目的,代理目前仅在技术指标上实现

最近/历史数据检索

investpy 允许用户从任何索引的金融产品 (股票、基金、ETF、货币交叉、证书、债券、商品、指数和加密货币)下载近期和历史数据。在下面给出的示例中,检索了股票过去几年的历史数据。

import investpy

df = investpy.get_stock_historical_data(stock='AAPL',
                                        country='United States',
                                        from_date='01/01/2010',
                                        to_date='01/01/2020')
print(df.head())
             Open   High    Low  Close     Volume Currency
Date                                                      
2010-01-04  30.49  30.64  30.34  30.57  123432176      USD
2010-01-05  30.66  30.80  30.46  30.63  150476160      USD
2010-01-06  30.63  30.75  30.11  30.14  138039728      USD
2010-01-07  30.25  30.29  29.86  30.08  119282440      USD
2010-01-08  30.04  30.29  29.87  30.28  111969192      USD

要了解investpy 提供的所有可用的近期和历史数据提取功能以及参数调整,请阅读文档。

搜索数据

Investing.com 搜索引擎与investpy 完全集成,这意味着可以轻松找到任何可用的金融产品(报价)。搜索功能允许用户调整参数以根据他们的需要调整搜索结果,其中可以指定产品类型和产品所在的国家/地区。所有搜索功能都可以轻松使用,例如,如下面的代码所示:

import investpy

search_results = investpy.search_quotes(text='apple',
                                        products=['stocks'],
                                        countries=['united states'],
                                        n_results=10)

检索到的搜索结果将是一个listinvestpy.utils.search_obj.SearchObj实例。要了解返回的搜索结果有哪些可用的功能和属性,请阅读搜索引擎文档中的相关文档。依此类推,这些搜索结果让用户可以从该具体产品、其信息等中检索最近和历史数据,如下面的代码所示:

 for search_result in search_results[:1]:
   print(search_result)
   search_result.retrieve_historical_data(from_date='01/01/2019', to_date='01/01/2020')
   print(search_result.data.head())
{"id_": 6408, "name": "Apple Inc", "symbol": "AAPL", "country": "united states", "tag": "apple-computer-inc", "pair_type": "stocks", "exchange": "NASDAQ"}

              Open    High     Low   Close    Volume
Date                                                
2019-01-02  154.89  158.85  154.23  157.92  37039736
2019-01-03  143.98  145.72  142.00  142.19  91312192
2019-01-04  144.53  148.55  143.80  148.26  58607072
2019-01-07  148.70  148.83  145.90  147.93  54777764
2019-01-08  149.56  151.82  148.52  150.75  41025312

加密货币数据检索

最近包括了加密货币支持,让用户可以从 Investing.com 上的任何可用加密中检索数据和信息。请注意,某些加密货币在 Investing.com 上没有可用数据索引,因此也无法使用investpy 检索它,即使它们只是少数,请考虑一下。

如前所述,使用investpy 检索历史数据非常简单。下面的代码展示了如何从比特币 (BTC) 中检索过去几年的历史数据。

import investpy

data = investpy.get_crypto_historical_data(crypto='bitcoin',
                                           from_date='01/01/2014',
                                           to_date='01/01/2019')

print(data.head())
             Open    High    Low   Close  Volume Currency
Date                                                     
2014-01-01  805.9   829.9  771.0   815.9   10757      USD
2014-01-02  815.9   886.2  810.5   856.9   12812      USD
2014-01-03  856.9   888.2  839.4   884.3    9709      USD
2014-01-04  884.3   932.2  848.3   924.7   14239      USD
2014-01-05  924.7  1029.9  911.4  1014.7   21374      USD

文档

您可以在Documentation找到完整的投资文档。


相关项目

由于investpy 旨在从Investing.com 中索引的不同金融产品中检索数据,因此提出了一些支持模块的开发,这些模块实现了基于investpy 数据的附加功能。请注意,任何人都可以通过创建任何使用investpy 的包、模块或实用程序来为本节做出贡献。以此类推,将展示已经创建的那些,因为它们旨在与investpy结合使用:

  • pyrtfolio:是一个用于生成股票投资组合的 Python 包。
  • Trendet:是一个 Python 包,用于对股票时间序列数据进行趋势检测。

如果您基于投资数据开发了一个有趣/有用的项目,请打开一个问题让我知道将其包含在本节中。


贡献 -开源助手

由于这是一个开源项目,它对贡献、错误报告、错误修复、文档改进、增强和想法开放。有一个打开的问题选项卡,任何人都可以在需要时打开新问题或浏览它们以解决它们或为解决问题做出贡献。请记住,问题不是描述多个问题的线程,这并不意味着不能讨论问题,但是为了保持结构化的项目管理,同一个问题不应该描述不同的问题,只是主要的一个和一些嵌套/相关的错误可能会被发现。


引文

在您的科学出版物上引用此存储库时,请使用以下BibTeX引用:

@misc{investpy,
    author = {Alvaro Bartolome del Canto},
    title = {investpy - Financial Data Extraction from Investing.com with Python},
    year = {2018-2021},
    publisher = {GitHub},
    journal = {GitHub Repository},
    howpublished = {\url{https://github.com/alvarobartt/investpy}},
}

在任何其他社交媒体上引用此存储库时,请使用以下引用:

investpy - Financial Data Extraction from Investing.com with Python developed by Alvaro Bartolome del Canto

并在我的任何社交网络个人资料中提及(以便我可以看到您的作品!):

如果适用,还请提及检索数据的来源,Investing.com。


免责声明

这个 Python 包是为了研究目的而制作的,以满足 Investing.com 未涵盖的需求,因此这个包的工作方式类似于 Investing.com 以利他方式开发的应用程序编程接口 (API) 。

得出结论,investpy 不以任何方式附属于 Investing.com 或任何附属公司,Investing.com 指定开发此软件包的唯一要求是“提及从中检索数据的来源”。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

investpyx-0.1.5.tar.gz (4.4 MB 查看哈希

已上传 source

内置分布

investpyx-0.1.5-py2-none-any.whl (4.5 MB 查看哈希

已上传 py2