YFinance Agent
Yahoo Finance data retrieval tools for AI agents.
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.
YFinance Tools
Use YFinance Tools to retrieve and analyze financial data with AI agents.
- Install Dependencies
First, install the required packages:
bash pip install praisonaiagents praisonai-tools yfinance - 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 - 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 ) - 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" ) - 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
Create specialized finance agents:
Agent(tools=[get_stock_price, get_stock_info, get_historical_data])Define finance tasks:
Task(description="finance_query")Sequential or parallel processing:
process="sequential"Customize data parameters:
period="1y", interval="1d"Available Functions
from praisonai_tools import get_stock_price
from praisonai_tools import get_stock_info
from praisonai_tools import get_historical_dataExamples
Basic Financial Data Agent
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
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:
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:
Task(
description="Analyze market trends and generate insights",
expected_output="Detailed market analysis"
)Common Patterns
Market Analysis Pipeline
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]
)