使用 Python 从 Investing.com 提取财务数据
项目描述
使用 Python 从 Investing.com 提取财务数据
基于包投资。以下信息是该软件包的描述。
更改文件investpy/stocks.py
get_stock_company_profile
在 770 行之后将此代码添加到函数中:
if "?cid" in tag:
tag = tag.split("?cid")[0]
795线之后
header_path_ = root_.xpath("//div[@class=\"companyProfileHeader\"]")[0]
if path_:
company_profile['desc'] = str(path_[0].text_content())
company_profile['industry'] = header_path_[0].text_content().replace('Industry', '')
company_profile['sector'] = header_path_[1].text_content().replace('Sector', '')
company_profile['employees'] = header_path_[2].text_content().replace('Employees', '')
company_profile['equity type'] = header_path_[3].text_content().replace('Equity Type', '')
investpy 是一个 Python 包,用于从Investing.com检索数据,它提供从多达 39952 只股票、82221 只基金、11403 ETF、2029 种货币交叉、7797 种指数、688 种债券、66 种商品、250 种证书和 4697 种加密货币的数据检索。
investpy 允许用户从 Investing.com 索引的所有金融产品中下载近期和历史数据。 它包括来自世界各地的数据,包括来自美国、法国、印度、西班牙、俄罗斯或德国等国家的数据。
在金融数据提取方面,investpy 力求成为最完整的 Python 软件包之一,以停止依赖公共/私有 API,因为investpy 是免费的并且没有限制。这些是目前在金融数据检索方面使投资成为最一致的软件包之一的一些功能。
如果你想支持这个项目,你可以给开发者买杯咖啡。更多信息请访问:buy-me-a-coffee
:hammer_and_wrench: 安装
要使这个包正常工作,您需要通过 pip(使用 Python 3.6 或更高版本)在终端上安装它,方法是键入:
$ pip install investpy
此外,如果您想使用最新的投资版本而不是稳定版本,您可以使用以下命令从源代码安装它:
$ pip install git+https://github.com/alvarobartt/investpy.git@master
主分支确保用户最新的版本将始终正常工作并且完全可操作,以免等到稳定版本发布(最终可能需要一些时间,具体取决于要解决的问题数量)。
:计算机:用法
尽管文档中提供了一些投资使用示例,但将使用示例 Python 代码块整理出一些基本功能。此外,可以在examples/目录下找到更多使用示例,其中包含有关如何使用investpy 和处理其数据的 Jupyter Notebooks 集合。
:pushpin:请注意,这investpy.search_quotes
是确保数据更新并与 Investing.com 提供的数据 1:1 对齐的唯一功能!
:chart_with_upwards_trend: 最近/历史数据检索
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 提供的所有可用的近期和历史数据提取功能以及参数调整,请阅读文档。
:mag: 搜索实时数据
Investing.com 搜索引擎与investpy 完全集成,这意味着可以轻松找到任何可用的金融产品(报价)。搜索功能允许用户调整参数以根据他们的需要调整搜索结果,其中可以指定产品类型和产品所在的国家/地区。所有搜索功能都可以轻松使用,例如,如下面的代码所示:
import investpy
search_result = investpy.search_quotes(text='apple', products=['stocks'],
countries=['united states'], n_results=1)
print(search_result)
{"id_": 6408, "name": "Apple Inc", "symbol": "AAPL", "country": "united states", "tag": "/equities/apple-computer-inc", "pair_type": "stocks", "exchange": "NASDAQ"}
检索到的搜索结果将是一个list
类investpy.utils.search_obj.SearchObj
实例,除非
n_results
设置为 1,否则只会返回一个investpy.utils.search_obj.SearchObj
类实例。要了解返回的搜索结果有哪些可用的功能和属性,请阅读搜索引擎文档中的相关文档。依此类推,这些搜索结果让用户可以检索近期和历史数据、其信息、技术指标、默认货币等,如下面的代码所示:
recent_data = search_result.retrieve_recent_data()
historical_data = search_result.retrieve_historical_data(from_date='01/01/2019', to_date='01/01/2020')
information = search_result.retrieve_information()
default_currency = search_result.retrieve_currency()
technical_indicators = search_result.retrieve_technical_indicators(interval='daily')
:money_with_wings: 加密货币数据检索
最近包括了加密货币支持,让用户可以从 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
:open_book: 文档
您可以在Documentation找到完整的投资文档。
:sparkles: 贡献
由于这是一个开源项目,它对贡献、错误报告、错误修复、文档改进、增强和想法开放。有一个打开的问题选项卡,任何人都可以在需要时打开新问题或浏览它们以解决它们或为解决问题做出贡献。请记住,问题不是描述多个问题的线程,这并不意味着不能讨论问题,但是为了保持结构化的项目管理,同一个问题不应该描述不同的问题,只是主要的一个和一些嵌套/相关的错误可能会被发现。
:question: Discussions (Q&A, AMA)
GitHub 最近发布了一个名为GitHub Discussions的新功能(仍处于测试阶段)。GitHub Discussions 是一个围绕开源项目的社区协作交流论坛。
在Discussions中查看投资的 GitHub 讨论页面,随时向我(任何开发人员)提问、分享更新、进行开放式对话,并跟进影响社区工作方式的决策。
:pushpin:注意。通常我不会回复询问我有关投资问题的电子邮件,因为我们目前有 GitHub 讨论选项卡,我鼓励您使用它。GitHub 讨论是联系我有关投资的最简单方法,因此我不会通过电子邮件多次回答相同的问题,因为任何人都可以看到已打开/已回答的讨论。
:card_index_dividers: 相关项目
由于investpy 旨在从Investing.com 中索引的不同金融产品中检索数据,因此提出了一些支持模块的开发,这些模块实现了基于investpy 数据的附加功能。请注意,任何人都可以通过创建任何使用investpy 的包、模块或实用程序来为本节做出贡献。以此类推,将展示已经创建的那些,因为它们旨在与investpy结合使用:
如果您基于投资数据开发了一个有趣/有用的项目,请打开一个问题让我知道将其包含在本节中。
:memo: 引用
在您的科学出版物上引用此存储库时,请使用以下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;即使它已经包含在包的简短描述标题中。
:man_technologist: 联系方式
您可以通过我的任何社交网络资料与我联系:
- :briefcase: LinkedIn: https://linkedin.com/in/alvarobartt
- :鸟: 推特: https://twitter.com/alvarobartt
- :octocat: GitHub: https://github.com/alvarobartt
或通过电子邮件发送至alvarobartt@yahoo.com。
:警告:免责声明
这个 Python 包是为了研究目的而制作的,以满足 Investing.com 未涵盖的需求,因此这个包的工作方式类似于 Investing.com 以利他方式开发的应用程序编程接口 (API) 。
得出结论,investpy 不以任何方式附属于 Investing.com 或任何附属公司,Investing.com 指定开发此软件包的唯一要求是“提及从中检索数据的来源”。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
Investmentpy-0.0.1- py3 -none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 70c2300c63114be810d3a94be767f34e46c6fd09e107c7198e116fee7d2dd921 |
|
MD5 | e9d91bf160ae0f6db6b5d0cbf8cfbf00 |
|
布莱克2-256 | be240dea2589e9aeb1958cdc99397f6a36d94dc99c42fe43d95e217810f02374 |