TradingAgents/GITHUB_ACTIONS.md

4.5 KiB

GitHub Actions for TradingAgents

This document explains how to set up and use GitHub Actions to run TradingAgents analysis automatically.

Overview

We've created two GitHub Actions workflows:

  1. Manual TradingAgents Analysis (.github/workflows/manual-analysis.yml) - Simple workflow for manual triggering
  2. TradingAgents Analysis (.github/workflows/trading-analysis.yml) - Advanced workflow with more configuration options

Setup

1. Add Repository Secrets

You need to add the following secrets to your GitHub repository:

  1. Go to your repository on GitHub
  2. Navigate to SettingsSecrets and variablesActions
  3. Add the following secrets:
    • OPENAI_API_KEY: Your OpenAI API key
    • FINNHUB_API_KEY: Your FinnHub API key

2. Enable GitHub Actions

The workflows will be automatically available once you push them to your repository. You can find them in the Actions tab.

Usage

  1. Go to the Actions tab in your repository
  2. Select Manual TradingAgents Analysis
  3. Click Run workflow
  4. Fill in the required fields:
    • Ticker: Stock symbol (e.g., NVDA, AAPL, TSLA)
    • Date: Analysis date in YYYY-MM-DD format (leave empty for today)
  5. Click Run workflow

Advanced Analysis

  1. Go to the Actions tab in your repository
  2. Select TradingAgents Analysis
  3. Click Run workflow
  4. Configure all the parameters as needed:
    • Ticker: Stock symbol
    • Date: Analysis date
    • Deep Think LLM: Model for deep thinking (default: o4-mini)
    • Quick Think LLM: Model for quick thinking (default: gpt-4o-mini)
    • Max Debate Rounds: Number of debate rounds (default: 1)
    • Online Tools: Whether to use online tools (default: true)
    • Debug: Enable debug mode (default: false)

Environment Variables

The non-interactive script (cli/non_interactive.py) uses the following environment variables:

Required

  • TRADINGAGENTS_TICKER: Stock ticker symbol to analyze
  • OPENAI_API_KEY: Your OpenAI API key
  • FINNHUB_API_KEY: Your FinnHub API key

Optional

  • TRADINGAGENTS_DATE: Analysis date (default: today)
  • TRADINGAGENTS_DEEP_THINK_LLM: Deep thinking LLM model (default: o4-mini)
  • TRADINGAGENTS_QUICK_THINK_LLM: Quick thinking LLM model (default: gpt-4o-mini)
  • TRADINGAGENTS_MAX_DEBATE_ROUNDS: Maximum debate rounds (default: 1)
  • TRADINGAGENTS_ONLINE_TOOLS: Use online tools (default: true)
  • TRADINGAGENTS_DEBUG: Enable debug mode (default: false)
  • TRADINGAGENTS_OUTPUT_PATH: Path to save results (optional)

Results

After the workflow completes:

  1. Artifacts: Analysis results are saved as GitHub artifacts that you can download
  2. Logs: Full execution logs are available in the workflow run
  3. Output: The final decision and analysis are displayed in the workflow output

Scheduled Runs

The advanced workflow includes a scheduled run that executes daily at 9 AM UTC on weekdays (Monday-Friday). You can modify the schedule in the workflow file:

schedule:
  - cron: '0 9 * * 1-5'  # Daily at 9 AM UTC, Monday-Friday

Local Testing

You can test the non-interactive script locally:

# Set environment variables
export OPENAI_API_KEY="your-openai-api-key"
export FINNHUB_API_KEY="your-finnhub-api-key"
export TRADINGAGENTS_TICKER="NVDA"
export TRADINGAGENTS_DATE="2024-01-15"

# Run the analysis
python cli/non_interactive.py

Troubleshooting

Common Issues

  1. Missing API Keys: Ensure both OPENAI_API_KEY and FINNHUB_API_KEY are set as repository secrets
  2. Invalid Ticker: Make sure the ticker symbol is valid and exists
  3. Date Format: Use YYYY-MM-DD format for dates
  4. API Limits: Be aware of OpenAI and FinnHub API rate limits

Debug Mode

Enable debug mode to get more detailed output:

TRADINGAGENTS_DEBUG: true

Cost Optimization

To reduce API costs:

  • Use o4-mini and gpt-4o-mini models
  • Set max_debate_rounds to 1
  • Use online_tools: false if you have cached data

Customization

You can customize the workflows by:

  1. Modifying the workflow files in .github/workflows/
  2. Adding new environment variables to the non-interactive script
  3. Creating new workflows for specific use cases

Security Notes

  • Never commit API keys to your repository
  • Use GitHub Secrets for sensitive information
  • Consider using different API keys for testing vs production
  • Monitor your API usage to avoid unexpected costs