YFinance Agent

Yahoo Finance data retrieval tools for AI agents.

python
from praisonaiagents import Agent
from praisonaiagents import get_stock_price, get_stock_info

agent = Agent(
    name="MarketAnalyst",
    tools=[get_stock_price, get_stock_info],
)
agent.start("What is NVDA trading at and what is its market cap?")

The user asks about a ticker; the agent pulls live quotes and fundamentals with yfinance tools.

Diagram

Input

Agent

Tool

Output

Diagram
YFinance AgentAgentUserYFinance AgentAgentUserRequestProcess requestResultResponse

YFinance Tools

Use YFinance Tools to retrieve and analyze financial data with AI agents.

  1. Install Dependencies

    First, install the required packages:

    bash
    pip install praisonaiagents praisonai-tools yfinance
  2. Import Components

    Import the necessary components:

    python
    from praisonaiagents import Agent, Task, AgentTeam
    from praisonai_tools import get_stock_price, get_stock_info, get_historical_data
  3. Create Agent

    Create a financial data agent:

    python
    finance_agent = Agent(
        name="FinanceAnalyst",
        role="Financial Data Specialist",
        goal="Retrieve and analyze financial data efficiently.",
        backstory="Expert in financial data analysis and market research.",
        tools=[get_stock_price, get_stock_info, get_historical_data],
        reflection=False
    )
  4. Define Task

    Define the financial analysis task:

    python
    finance_task = Task(
        description="Analyze stock performance and market trends.",
        expected_output="Detailed financial analysis with market insights.",
        agent=finance_agent,
        name="market_analysis"
    )
  5. Run Agent

    Initialize and run the agent:

    python
    agents = AgentTeam(
        agents=[finance_agent],
        tasks=[finance_task],
        process="sequential"
    )
    agents.start()

Understanding YFinance Tools

What are YFinance Tools?

YFinance Tools provide financial data capabilities for AI agents: – Real-time stock prices – Detailed company information – Historical market data – Financial metrics and ratios – Market performance analysis

Key Components

Available Functions

python
from praisonai_tools import get_stock_price
from praisonai_tools import get_stock_info
from praisonai_tools import get_historical_data

Examples

Basic Financial Data Agent

python
from praisonaiagents import Agent, Task, AgentTeam
from praisonai_tools import get_stock_price, get_stock_info, get_historical_data

# Create finance agent
finance_agent = Agent(
    name="MarketAnalyst",
    role="Financial Data Specialist",
    goal="Analyze market data efficiently and accurately.",
    backstory="Expert in financial analysis and market research.",
    tools=[get_stock_price, get_stock_info, get_historical_data],
    reflection=False
)

# Define finance task
finance_task = Task(
    description="Analyze tech sector performance and trends.",
    expected_output="Comprehensive market analysis report.",
    agent=finance_agent,
    name="sector_analysis"
)

# Run agent
agents = AgentTeam(
    agents=[finance_agent],
    tasks=[finance_task],
    process="sequential"
)
agents.start()

Advanced Market Analysis with Multiple Agents

python
from praisonaiagents import Agent, Task, AgentTeam
from praisonai_tools import get_stock_price, get_stock_info, get_historical_data

# Create data retrieval agent
data_agent = Agent(
    name="DataCollector",
    role="Market Data Collector",
    goal="Retrieve financial data systematically.",
    tools=[get_stock_price, get_historical_data],
    reflection=False
)

# Create analysis agent
analysis_agent = Agent(
    name="Analyst",
    role="Market Analyst",
    goal="Analyze market trends and patterns.",
    backstory="Expert in financial market analysis.",
    tools=[get_stock_info],
    reflection=False
)

# Define tasks
data_task = Task(
    description="Collect historical market data for analysis.",
    agent=data_agent,
    name="data_collection"
)

analysis_task = Task(
    description="Analyze collected market data for insights.",
    agent=analysis_agent,
    name="trend_analysis"
)

# Run agents
agents = AgentTeam(
    agents=[data_agent, analysis_agent],
    tasks=[data_task, analysis_task],
    process="sequential"
)
agents.start()

Best Practices

Agent Configuration

Configure agents with clear finance focus:

python
from praisonai_tools import get_stock_price, get_stock_info, get_historical_data

Agent(
    name="FinanceAnalyst",
    role="Market Analysis Specialist",
    goal="Analyze financial data accurately and efficiently",
    tools=[get_stock_price, get_stock_info, get_historical_data]
)
Task Definition

Define specific analysis objectives:

python
Task(
    description="Analyze market trends and generate insights",
    expected_output="Detailed market analysis"
)

Common Patterns

Market Analysis Pipeline

python
from praisonaiagents import Agent, Task, AgentTeam
from praisonai_tools import get_stock_price, get_stock_info, get_historical_data

# Data agent
collector = Agent(
    name="Collector",
    role="Data Collector",
    tools=[get_stock_price, get_historical_data]
)

# Analysis agent
analyst = Agent(
    name="Analyst",
    role="Market Analyst",
    tools=[get_stock_info]
)

# Define tasks
collect_task = Task(
    description="Collect market data",
    agent=collector
)

analyze_task = Task(
    description="Analyze market trends",
    agent=analyst
)

# Run workflow
agents = AgentTeam(
    agents=[collector, analyst],
    tasks=[collect_task, analyze_task]
)

Related