Skip to content

Yahoo finance

YahooFinanceToolSpec #

Bases: BaseToolSpec

雅虎财经工具规范。

Source code in llama_index/tools/yahoo_finance/base.py
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
class YahooFinanceToolSpec(BaseToolSpec):
    """雅虎财经工具规范。"""

    spec_functions = [
        "balance_sheet",
        "income_statement",
        "cash_flow",
        "stock_basic_info",
        "stock_analyst_recommendations",
        "stock_news",
    ]

    def __init__(self) -> None:
        """初始化Yahoo Finance工具规范。"""

    def balance_sheet(self, ticker: str) -> str:
        """返回股票的资产负债表。

Args:
  ticker (str): 股票代码,用于传递给yfinance
"""
        stock = yf.Ticker(ticker)
        balance_sheet = pd.DataFrame(stock.balance_sheet)
        return "Balance Sheet: \n" + balance_sheet.to_string()

    def income_statement(self, ticker: str) -> str:
        """返回股票的收入报表。

Args:
  ticker(str):要提供给yfinance的股票代码
"""
        stock = yf.Ticker(ticker)
        income_statement = pd.DataFrame(stock.income_stmt)
        return "Income Statement: \n" + income_statement.to_string()

    def cash_flow(self, ticker: str) -> str:
        """返回股票的现金流量。

Args:
  ticker (str): 要提供给yfinance的股票代码
"""
        stock = yf.Ticker(ticker)
        cash_flow = pd.DataFrame(stock.cashflow)
        return "Cash Flow: \n" + cash_flow.to_string()

    def stock_basic_info(self, ticker: str) -> str:
        """返回股票的基本信息。例如:价格、描述、名称。

Args:
  ticker (str):要提供给yfinance的股票代码
"""
        stock = yf.Ticker(ticker)
        return "Info: \n" + str(stock.info)

    def stock_analyst_recommendations(self, ticker: str) -> str:
        """获取股票的分析师推荐。

Args:
  ticker (str): 股票代码,用于传递给yfinance。
"""
        stock = yf.Ticker(ticker)
        return "Recommendations: \n" + str(stock.recommendations)

    def stock_news(self, ticker: str) -> str:
        """获取股票的最新新闻标题。

Args:
  ticker(str):要提供给yfinance的股票代码
"""
        stock = yf.Ticker(ticker)
        news = stock.news
        out = "News: \n"
        for i in news:
            out += i["title"] + "\n"
        return out

balance_sheet #

balance_sheet(ticker: str) -> str

返回股票的资产负债表。

Parameters:

Name Type Description Default
ticker str

股票代码,用于传递给yfinance

required
Source code in llama_index/tools/yahoo_finance/base.py
21
22
23
24
25
26
27
28
29
    def balance_sheet(self, ticker: str) -> str:
        """返回股票的资产负债表。

Args:
  ticker (str): 股票代码,用于传递给yfinance
"""
        stock = yf.Ticker(ticker)
        balance_sheet = pd.DataFrame(stock.balance_sheet)
        return "Balance Sheet: \n" + balance_sheet.to_string()

income_statement #

income_statement(ticker: str) -> str

返回股票的收入报表。

Source code in llama_index/tools/yahoo_finance/base.py
31
32
33
34
35
36
37
38
39
    def income_statement(self, ticker: str) -> str:
        """返回股票的收入报表。

Args:
  ticker(str):要提供给yfinance的股票代码
"""
        stock = yf.Ticker(ticker)
        income_statement = pd.DataFrame(stock.income_stmt)
        return "Income Statement: \n" + income_statement.to_string()

cash_flow #

cash_flow(ticker: str) -> str

返回股票的现金流量。

Parameters:

Name Type Description Default
ticker str

要提供给yfinance的股票代码

required
Source code in llama_index/tools/yahoo_finance/base.py
41
42
43
44
45
46
47
48
49
    def cash_flow(self, ticker: str) -> str:
        """返回股票的现金流量。

Args:
  ticker (str): 要提供给yfinance的股票代码
"""
        stock = yf.Ticker(ticker)
        cash_flow = pd.DataFrame(stock.cashflow)
        return "Cash Flow: \n" + cash_flow.to_string()

stock_basic_info #

stock_basic_info(ticker: str) -> str

返回股票的基本信息。例如:价格、描述、名称。

Source code in llama_index/tools/yahoo_finance/base.py
51
52
53
54
55
56
57
58
    def stock_basic_info(self, ticker: str) -> str:
        """返回股票的基本信息。例如:价格、描述、名称。

Args:
  ticker (str):要提供给yfinance的股票代码
"""
        stock = yf.Ticker(ticker)
        return "Info: \n" + str(stock.info)

stock_analyst_recommendations #

stock_analyst_recommendations(ticker: str) -> str

获取股票的分析师推荐。

Parameters:

Name Type Description Default
ticker str

股票代码,用于传递给yfinance。

required
Source code in llama_index/tools/yahoo_finance/base.py
60
61
62
63
64
65
66
67
    def stock_analyst_recommendations(self, ticker: str) -> str:
        """获取股票的分析师推荐。

Args:
  ticker (str): 股票代码,用于传递给yfinance。
"""
        stock = yf.Ticker(ticker)
        return "Recommendations: \n" + str(stock.recommendations)

stock_news #

stock_news(ticker: str) -> str

获取股票的最新新闻标题。

Source code in llama_index/tools/yahoo_finance/base.py
69
70
71
72
73
74
75
76
77
78
79
80
    def stock_news(self, ticker: str) -> str:
        """获取股票的最新新闻标题。

Args:
  ticker(str):要提供给yfinance的股票代码
"""
        stock = yf.Ticker(ticker)
        news = stock.news
        out = "News: \n"
        for i in news:
            out += i["title"] + "\n"
        return out