Alpha Vantage Python API for Fundamentals

问题描述

我正在尝试从 Alpha Vantage 的 python API 访问基本数据,但它不起作用。我的进口:

from alpha_vantage.timeseries import TimeSeries
from alpha_vantage.fundamentaldata import FundamentalData

TimeSeries 函数运行良好,例如以下工作正常:

ts = TimeSeries(key=av_api,output_format='pandas')    
data,Metadata = ts.get_daily_adjusted(symbol='IMB',outputsize='full')

但是基本面调用不起作用。当我打电话时:

FundamentalData.get_income_statement_annual(symbol='IBM')

我收到以下错误

TypeError: _format_wrapper() missing 1 required positional argument: 'self'

我已通读文档,教程中没有使用基础 API 调用的示例。有人可以帮忙吗?谢谢。

解决方法

我查看了获取年度损益表的来源,需要指定self,所以在这种情况下,我可以通过设置APIkey给ts正确获取。

ts = TimeSeries(key=api_key,output_format='pandas') 
FundamentalData.get_income_statement_annual(ts,symbol='IBM')

  fiscalDateEnding  ...    netIncome
 date                                            ...             
 1970-01-01 00:00:00.000000000       2020-12-31  ...   5590000000
 1970-01-01 00:00:00.000000001       2019-12-31  ...   9431000000
 1970-01-01 00:00:00.000000002       2018-12-31  ...   8728000000
 1970-01-01 00:00:00.000000003       2017-12-31  ...   5753000000
 1970-01-01 00:00:00.000000004       2016-12-31  ...  11872000000
 
 [5 rows x 26 columns],'IBM')
,

想通了,如果不想每次都发送API key,可以设置一次,然后用符号:

fd = FundamentalDat(key=api_key,output_format='pandas')

然后 API 调用工作正常:

fd.get_income_statement(symbol='IBM')

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...