Javatpoint标志
Javatpoint标志

Python yfinance模块

有很多情况下,我们必须获得一个博客网站的财务数据或报表,有时甚至是一个浏览器。其中一个著名的浏览器允许我们收集它的财务数据是雅虎,实际上,有很多情况下我们需要执行这个任务。在本教程中,我们将学习Python中的yfinance模块,我们将学习如何使用该模块从雅虎获取财务数据,以及我们可以从中收集哪些数据。

Python中的yfinance模块

yfinance是Python中著名的模块之一,它是用来收集在线数据的,通过它,我们可以收集雅虎的财务数据。通过yfinance模块的功能,我们可以检索和收集公司的财务信息(如财务比率等)以及营销数据的历史。但是,在我们开始更多地了解这个模块及其实现和应用程序之前,我们必须在我们的系统中安装yfinance模块(因为它不是Python中的内置模块)。一旦安装过程完成,我们将进入yfinance模块的实施部分。

安装

在本节中,我们将学习如何在系统中安装yfinance模块,以便将其导入程序并使用其功能。我们必须按照以下步骤在我们的设备上安装yfinance模块:

步骤1:打开设备的命令提示终端,找到系统中安装Python的目录(使用mkdir)。

步骤2:现在在终端中写入以下命令,使用pip installer安装yfinance模块:


Python yfinance模块

步骤3:当我们按下enter键时,pip安装程序将开始在系统中定义的路径上安装yfinance模块。

Python yfinance模块

正如我们所看到的,yfinance模块已经成功地安装在我们的系统中,现在我们可以通过将其导入Python程序来开始使用它。

实现

现在,我们将在Python程序中使用yfinance模块,以便我们可以使用它从Yahoo收集财务数据并了解其实现。当我们在程序中使用yfinance模块时,我们必须在函数内部传递股票代码作为参数(这里,股票代码被称为公司的股票代码)。

注意:股票代码基本上是一个股票符号或公司名称的独特字母序列,它被指定为交易目的增加额外的安全层。看看下面我们将在yfinance模块中使用的报价器示例:

  • 谷歌的代码是“GOOGL”。
  • Facebook的股票代码是FB
  • 亚马逊的股票代码是“AMZN”,等等。

现在,让我们在各种示例程序中使用yfinance模块,以便我们可以轻松地理解它的功能和实现。看看以下使用yfinance模块收集数据的示例程序:

示例1:

看看下面的Python程序,我们将从雅虎财经检索Facebook的财务数据:

输出:

{'zip': '94025', 'sector': 'Communication Services', 'fullTimeEmployees': 63404, 'longBusinessSummary': "Facebook, Inc.开发的产品使人们能够通过移动设备,个人电脑,虚拟现实耳机和全球的家庭设备与朋友和家人联系并分享。该公司的产品包括Facebook,它使人们能够在移动设备和个人电脑上相互联系、分享、发现和交流;Instagram,一个分享照片、视频和私人信息的社区;Messenger,一款让人们跨平台、跨设备与朋友、家人、群组和企业联系的消息应用程序;以及个人和企业用来私下交流的即时通讯应用WhatsApp。它还提供Facebook Reality Labs,这是一款增强现实和虚拟现实产品,可以帮助人们随时随地感受到联系。“城市”:“门洛帕克”,“电话”:“650-543-4800”,“州”:“CA”,“国家”:“美国”,“公司官员”:[],“网站”:“http://investor.fb.com”,“maxAge”:1,“address1”:“Willow Road 1601”,“行业”:“互联网内容与信息”,“ebitdaMargins”:0.49698,“利润率”:0.37175998,“毛利率”:0.80977,“经营性现金流”:49358000128,“收入增长”:0.556,“经营性利润率”:0.556,“经营性利润率”:0.42523, 'ebitda': 52079001600, 'targetLowPrice': 225, ' recommended key ': 'buy', 'grossProfits': 69273000000, 'freeCashflow': 22740000768, 'targetMedianPrice': 425, 'currentPrice': 330.05, ' earninggrowth ': 1.006, 'currentRatio': 5.425, 'returnOnAssets': 0.17950001, 'numberOfAnalystOpinions': 50, 'targetMeanPrice': 417.22, 'debtToEquity': 9.089, 'returnOnEquity': 0.31332, 'targetHighPrice': 500, 'totalCash': 64079998976, 'totalDebt': 12563000320, 'totalRevenue':104789999616, 'totalCashPerShare': 22.728, 'financialCurrency': 'USD', 'revenuePerShare': 36.82, 'quickRatio': 5.095, 'recommend mean ': 1.9, 'exchange': 'NMS', 'shortName': 'Facebook, Inc.', 'exchangeTimezone '

解释:

我们首先在程序中导入yfinance模块为yahooFin来使用它的功能。然后,我们使用带有FB Ticker功能的yahooFin从Yahoo收集Facebook页面的所有财务信息。在从Yahoo的Facebook页面检索到财务信息后,我们在执行程序时将这些信息打印在输出中。

正如我们在输出中看到的那样,我们已经将所有的财务数据打印为一个完整的Python字典。

从雅虎收集财务关键指标:

除了从Yahoo站点检索财务信息(正如我们在示例1中所做的那样)之外,我们甚至可以收集各种财务关键指标。这些财务关键指标可以是市盈率、公司Beta和公司部门等,这些指标来自我们在上面第一个例子中打印的整个Python字典。让我们使用yfinance模块检索财务关键指标。

示例2:

看看下面的Python程序,我们将使用yfinance模块从雅虎检索财务关键指标:

输出:

我们从页面收集的公司部门指标关键字:通信服务我们从页面的财务数据中获得的市盈率(PER): 26.211199我们从页面检索的公司Beta关键字:1.295305

解释:

在这个程序中,我们没有从页面中检索完整的财务数据信息,而是只检索了一组有限的财务关键指标。我们首先初始化了三个变量(keyPer, comSecKey和comBetaKey),并从我们从Facebook页面收集的财务数据中存储了财务关键指标的值。在本例中,我们检索了市盈率、公司Beta和公司部门财务指标键,并将它们存储在各自的变量中。在存储财务指标键之后,我们已经将它们打印到输出中,正如我们在输出中看到的那样,详细信息已成功打印。

分割财务指标关键:

在第一个和第二个示例中,我们打印了Yahoo的财务数据和度量键,因为它们是一些字典值。但是我们甚至可以通过键值对拆分这些值,然后我们可以打印拆分结果。在下面的示例中,我们将通过拆分它们来打印财务指标键值,并通过循环对它们进行拆分。

示例3:

看看下面的Python程序,我们将把财务指标键拆分为键值对:

输出:

key-value page中Facebook页面的财务数据项:zip: 94025 sector: Communication Services fullTimeEmployees: 63404 longBusinessSummary: Facebook, Inc.开发的产品使人们能够通过移动设备、个人电脑、虚拟现实耳机和全球的家庭设备与朋友和家人联系和分享。该公司的产品包括Facebook,它使人们能够在移动设备和个人电脑上相互联系、分享、发现和交流;Instagram,一个分享照片、视频和私人信息的社区;Messenger,一款让人们跨平台、跨设备与朋友、家人、群组和企业联系的消息应用程序;以及个人和企业用来私下交流的即时通讯应用WhatsApp。它还提供Facebook Reality Labs,这是一款增强现实和虚拟现实产品,可以帮助人们随时随地感受到联系。Facebook公司成立于2004年,总部位于加州门洛帕克。城市:门洛帕克电话:650-543-4800州:CA国家:美国公司官员:[]网站:http://investor.fb.com maxAge: 1地址1:1601柳树路行业:互联网内容与信息ebitda利润率:0.49698利润率:0.37175998毛利率:0.80977营业现金流:49358000128收入增长:0.556营业利润率:0.42523 ebitda: 52079001600

解释:

从雅虎获取Facebook财务数据信息后,我们对其使用了for循环。在for循环的帮助下,我们对数据进行了循环,然后将数据项拆分为键值对。最后,作为程序的结果,我们在输出中打印了这些键值对。

检索历史市场价格:

我们甚至可以从Yahoo财务数据中检索历史市场价格,然后我们甚至可以在输出中打印这些信息。

示例4:

让我们先看看下面的例子,然后我们将了解更多关于检索历史市场价格的内容:

输出:

雅虎Facebook页面财务数据的历史市场价格数据:开盘价高点低点低点收盘成交量\日期2012-05-18 42.049999 45000000 38000000 382300573576400 2012-05-21 36.529999 36660000 34029999 168192700 2012-05-22 32.610001 33.590000 30.9400031000000 101786600 2012-05-23 31.370001 3500000 31.36000320000000 73600000 2012-05-24 32.950001 33.209999 31.770000 33.029999 50237200 ... ... ... ... ... ...2021-10-04 335.529999 335.94002 322.700012 326.230011 42885000 2021-10-05 328.579987 335.179993 326.160004 333.640015 26443000 2021-10-07 337.000000 338.89996 328.980011 329.220001 28307500 2021-10-08 331.510010 333.399994 328.709991 330.049988 15934300股息股票分割日期2012-05-18 00 2012-05-21 00 2012-05-22 00 2012-05-23 00 2012-05-24 00 ... ... ...[2364行× 7列]

解释:

在本例中,我们从程序中检索到的Yahoo页面中导入了Facebook财务数据中的历史市场价格。我们使用FB Ticker的history()函数从Facebook的财务数据中检索了历史市场价格,然后将信息存储在我们初始化的变量中,即maxHisMP。最后,作为程序的结果,我们在输出中打印了这些历史市场价格信息。我们可以在雅虎财务数据中看到有关最长时间内市场价格历史的信息。

注意:我们在FB报价器的历史函数中定义的“max”用于收集雅虎最大时间段内可用的市场价格历史。max关键字将检索雅虎Facebook每日价格变化的历史。

现在,我们已经了解了如何使用它的history()函数从雅虎的财务数据中获得市场价格的历史。但这里有一件事,我们甚至可以最小化我们从history()中获得的数据,以降低其复杂性。我们可以通过在history()函数中提供一个固定的时间参数并从Yahoo中检索少量数据来实现这一点。

在这里,我们将通过以下两种方式来执行这个函数:

1.通过在历史函数中提供固定时间参数,收集自最近“1天”或“5天”或“1个月”或“3个月”等以来的固定时间数据。让我们通过在程序中使用fixed time参数,然后从Yahoo检索市场价格来理解这一点。

例5:

看看下面的Python程序,我们将从Facebook检索最近3个月的市场价格历史:

输出:

雅虎Facebook页面最近3个月的历史市场价格数据:开高低收盘量\日期20121-07-09 345.320007 350.709991 345.269989 350.420013 13018700 20121-07-12 351.230011 354.190002 349.640015 353.160004 10018600 20121-07-13 351.500000 358.489990 348.799988 352.089996 11456000 20121-07-14 354.559998 355.200012 346.730011 347.630005 13894200 20121-07-15 349.230011 349.230011 340.220001 344.459991 14781600 ... ... ... ... ... ...2021-10-04 335.529999 335.94002 322.700012 326.230011 42885000 2021-10-05 328.579987 335.179993 326.160004 333.640015 35377900 2021-10-07 337.000000 338.840011 328.980011 329.220001 28307500 2021-10-08 331.510010 333.399994 328.709991 330.049988 15934300股息股票分割日期2021-07-09 00 2021-07-12 00 2021-07-13 00 2021-07-14 00 2021-07-15 00 ... ... ...【65行× 7列】

解释:

我们使用了与前面示例程序相同的逻辑,并从Yahoo的Facebook页面收集了历史市场价格数据。但是,在这个程序中,我们没有收集最大的数据,而是通过在历史函数中提供参数'3mo'来限制我们的数据,以便它只检索最近三个月的市场价格历史。然后,我们打印了这三个月的市场价格历史输出结果。

从输出中我们可以看到,雅虎Facebook页面最近三个月的市场价格历史已经被打印出来了。

注意:当我们需要收集过去固定时间的数据时,我们不能在历史函数中给出任何duration参数,因为它将不是有效参数。对于yfinance模块的历史函数,我们有以下有效的固定时间段参数:max, ytd, 10y, 5y, 2y, 1y, 6mo, 3mo, 1mo, 5d和1d。我们不能在history()函数中给出任何其他时间段参数,因为它将被视为无效参数,并且不会检索到任何市场价格历史数据。

2.通过将开始时间和结束时间作为history()函数的参数,从history()函数收集固定数据。我们可以通过定义开始和结束时间变量,然后使用这些变量作为history()函数的参数来检索我们想要的时间段数据。让我们通过在程序中使用这些已定义的时间参数,然后从Yahoo检索市场价格历史来理解这一点。

例6:

看看下面的Python程序,我们将从Facebook检索用户定义的时间段内的市场价格历史:

输出:

我们从Facebook页面的财务数据中定义的时间段的历史市场价格数据:开盘价,低点,收盘价,成交量\日期2021-04-26 303.339996 305.799988 301.559998 303.040009 16172600 2021-04-27 304.279999 305.339996 301.109996 303.570007 15309300 2021-04-28 307.369985 310.920013 305.369995 307.100006 33907200 2021-04-29 330.119995 331.809998 321.609985 329.510010 56526800 2021-04-30 326.140015 329.820007 324.500000 325.079987 26332400 ... ... ... ... ... ...2021-07-30 354.000000 360.730011 352.94002 356.299988 15966700 2021-08-02 358.100006 359.399994 350.739990 351.950012 13180400 2021-08-03 352.730011 353.769989 347.700012 351.239990 12406100 2021-08-04 352.420013 360.480011 352.420010 358.920013 14180600 2021-08-05 359.640015 363.899994 356.899994 362.970001 10247200股息股票分割日期2021-04-26 00 2021-04-27 00 2021-04-28 00 2021-04-29 00 2021-04-30 00 ... ... ...[72行× 7列]

解释:

我们在这个程序中导入了yfinance和datetime模块,以便我们可以使用它的datetime()函数。然后,我们定义了两个变量,使用datetime模块的datetime函数在其中设置开始和结束日期。然后,我们在history()函数中使用这些变量作为从Yahoo检索数据的开始和结束日期。我们在history()中使用了start和end关键字来设置收集数据的开始日期和结束日期。这就是我们如何从雅虎检索用户固定时间的市场价格历史。最后,我们在输出结果中打印了最小化的数据。

我们可以在输出中看到,我们从Yahoo获得了市场价格的固定时间(我们在程序中设置的)历史。

结论

在本教程中,我们讨论了如何在Python程序中使用yfinance模块,通过使用模块中给出的函数来检索雅虎的财务数据或雅虎财务数据的各个方面,然后我们可以打印这些数据以供进一步使用。


下一个话题 Python中的Difflib模块





Youtube 视频加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


b .技术/马华






Baidu
map