Przejdź do treści
Biblioteka skilli
AI i agenci · Integracja z narzędziem

trading-agents

/trading-agents

Obsługuje TradingAgents, wieloagentowy framework LLM analizujący akcje i krypto: CLI, Python API, konfiguracja dostawców LLM i danych, backtesty decyzji oraz LangGraph.

Repozytorium
skills ↗
Licencja
Apache-2.0
Ostatnia zmiana repozytorium
25.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
4
Przestarzałość

Brak sygnałów. Repozytorium zmienione 25.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co robi i kiedy

Obsługuje TradingAgents, wieloagentowy framework LLM analizujący akcje i krypto: CLI, Python API, konfiguracja dostawców LLM i danych, backtesty decyzji oraz LangGraph.

Oryginalny opis (EN)

TradingAgents is an open-source multi-agent LLM framework that analyzes a stock or crypto ticker with analyst, bull/bear researcher, trader, risk and portfolio-manager agents and returns a rated trading decision. Use when running TradingAgents from its CLI or Python API, configuring its LLM providers and data vendors, backtesting its past decisions, or building a similar multi-agent financial analysis pipeline with LangGraph.

Jak działa

  1. Overview
  2. Instructions
  3. Examples
  4. Guidelines
Sekcje z nagłówków SKILL.md, w oryginale · 178 linii, 1 121 słów
Podgląd SKILL.md
---
name: trading-agents
description: >-
  TradingAgents is an open-source multi-agent LLM framework that analyzes a
  stock or crypto ticker with analyst, bull/bear researcher, trader, risk and
  portfolio-manager agents and returns a rated trading decision. Use when
  running TradingAgents from its CLI or Python API, configuring its LLM
  providers and data vendors, backtesting its past decisions, or building a
  similar multi-agent financial analysis pipeline with LangGraph.
license: Apache-2.0
compatibility: "Python 3.11+ for TradingAgents; an API key for one LLM provider (or a ChatGPT Plus/Pro plan)"
metadata:
  author: terminal-skills
  version: "1.1.0"
  category: data-ai
  repository: https://github.com/TauricResearch/TradingAgents
  tags: "trading, finance, multi-agent, llm, analysis"
---

# TradingAgents — Multi-Agent LLM Financial Trading Framework

## Overview

[TauricResearch/TradingAgents](https://github.com/TauricResearch/TradingAgents) (Apache-2.0, built on LangGraph, v0.7.0 of 2026-10-16 when checked) models a trading firm: analysts (market/technical, social/sentiment, news, fundamentals) work in parallel, a bull and a bear researcher debate, a trader proposes a plan, a risk team challenges it and a portfolio manager approves or rejects. Past decisions are scored against later prices and fed back as memory. It is a research tool, not investment advice.

```
Analysts: Market | Sentiment | News | Fundamentals   (parallel)
     |
Researchers: Bull <-debate-> Bear  ->  Trader
     |
Risk team  ->  Portfolio Manager  ->  rated decision
```

## Instructions

### 1. Install

The package is not on PyPI. Install from a clone (Python 3.11 or newer), or from the wheel attached to a GitHub release:

```bash
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
python3 -m venv .venv && source .venv/bin/activate
pip install .
```

Docker alternative: `cp .env.example .env`, add keys, then `docker compose run --rm tradingagents`.

### 2. Configure provider and models

Set the API key of one provider (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GOOGLE_API_KEY`, `XAI_API_KEY`, `DEEPSEEK_API_KEY`, `OPENROUTER_API_KEY`, `MISTRAL_API_KEY`, `GROQ_API_KEY` and others; `FRED_API_KEY` and `ALPHA_VANTAGE_API_KEY` are optional data keys). Everything else is set with `TRADINGAGENTS_*` variables, which override `DEFAULT_CONFIG`:

| Variable | Config key | Meaning |
|---|---|---|
| `TRADINGAGENTS_LLM_PROVIDER` | `llm_provider` | `openai`, `anthropic`, `google`, `ollama`, `bedrock`, `chatgpt`, `openai_compatible`, ... |
| `TRADINGAGENTS_QUICK_THINK_LLM` | `quick_think_llm` | model for analysts, researchers, trader |
| `TRADINGAGENTS_DEEP_THINK_LLM` | `deep_think_llm` | model for the managers |
| `TRADINGAGENTS_MAX_DEBATE_ROUNDS` | `max_debate_rounds` | bull/bear rounds (default 1) |
| `TRADINGAGENTS_MAX_RISK_ROUNDS` | `max_risk_discuss_rounds` | risk-team rounds (default 1) |
| `TRADINGAGENTS_OUTPUT_LANGUAGE` | `output_language` | language of reports |
| `TRADINGAGENTS_RESULTS_DIR` | `results_dir` | where reports go (default `~/.tradingagents/logs`) |

Each tier can use its own provider (`TRADINGAGENTS_QUICK_THINK_PROVIDER`, `TRADINGAGENTS_DEEP_THINK_PROVIDER`). Model names come from the provider's current catalog; the shipped defaults are `gpt-6-luna` (quick) and `gpt-6-sol` (deep). Data comes from yfinance, SEC EDGAR (fundamentals), FRED and Polymarket by default; change vendors in the `data_vendors` config dict.

### 3. Run from the CLI

`tradingagents` opens an interactive screen (ticker, date, analysts, provider, depth). For scripts and cron, pass flags and the rest through variables:

```bash
export TRADINGAGENTS_LLM_PROVIDER=openai TRADINGAGENTS_QUICK_THINK_LLM=gpt-6-luna TRADINGAGENTS_DEEP_THINK_LLM=gpt-6-sol
tradingagents --ticker NVDA --date 2026-09-23 --analysts market,news,fundamentals --save --no-show
```

Other flags: `--checkpoint` (resume a crashed run), `--portfolio holdings.json` (size against your real position), `--html/--no-html`. Subcommands: `tradingagents backtest NVDA,AAPL --start 2026-06-01 --end 2026-09-01 --every 7` scores past decisions over a ticker/date grid (`--start` and `--end` are required); `tradingagents login chatgpt` signs in a ChatGPT Plus/Pro plan for the `chatgpt` provider. Tickers use Yahoo Finance symbols: `AAPL`, `0700.HK`, `7203.T`, `BTC-USD`.

### 4. Use from Python

```python
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG

config = DEFAULT_CONFIG.copy()
config["max_debate_rounds"] = 2

ta = TradingAgentsGraph(selected_analysts=("market", "news", "fundamentals"), debug=True, config=config)
state, decision = ta.propagate("NVDA", "2026-09-01")   # (ticker, analysis date); pass asset_type="crypto" for BTC-USD
print(decision)   # Buy, Overweight, Hold, Underweight, Sell, or REVIEW when no rating could be parsed
ta.save_reports(state, "NVDA")                          # report tree under results_dir/reports
```

### 5. Build a lighter pipeline yourself

For a custom, smaller version of the same idea, this LangGraph graph (tested with a stub LLM: 7 model calls, analysts in parallel, one risk and one portfolio step) uses real price data and passes facts, not guesses, to the agents. Install `langgraph langchain-anthropic yfinance`.

```python
import os
from typing import TypedDict
import yfinance as yf
from langchain_anthropic import ChatAnthropic
from langgraph.graph import StateGraph, START, END

class TradingState(TypedDict, total=False):
    ticker: str
    fundamentals: str
    technicals: str
    news: str
    bull: str
    bear: str
    risk: str
    decision: str

def build_graph(llm):
    def ask(prompt: str) -> str:
        return llm.invoke(prompt).content

    def fundamentals(s: TradingState):
        info = yf.Ticker(s["ticker"]).info
        keys = ["trailingPE", "forwardPE", "revenueGrowth", "profitMargins", "debtToEquity"]
        facts = {k: info.get(k) for k in keys}
        return {"fundamentals": ask(f"Assess valuation, profitability and balance sheet of {s['ticker']} from {facts}.")}

    def technicals(s: TradingState):
        close = yf.Ticker(s["ticker"]).history(period="1y")["Close"]
        facts = {"last": round(close.iloc[-1], 2), "ma50": round(close.tail(50).mean(), 2),
                 "ma200": round(close.tail(200).mean(), 2)}
        return {"technicals": ask(f"Rate the trend of {s['ticker']} as bullish, neutral or bearish from {facts}.")}

    def news(s: TradingState):
        headlines = [n.get("content", {}).get("title", "") for n in yf.Ticker(s["ticker"]).news[:10]]
        return {"news": ask(f"Rate sentiment for {s['ticker']} from these headlines: {headlines}")}

    def bull(s: TradingState):
        return {"bull": ask(f"Argue the bull case for {s['ticker']} using only: {s['fundamentals']} | {s['technicals']} | {s['news']}")}

    def bear(s: TradingState):
        return {"bear": ask(f"Argue the bear case for {s['ticker']} using only: {s['fundamentals']} | {s['technicals']} | {s['news']}")}

    def risk(s: TradingState):
        return {"risk": ask(f"Bull: {s['bull']}\nBear: {s['bear']}\nGive downside, position size as % of portfolio and a stop-loss rule.")}

    def portfolio(s: TradingState):
        return {"decision": ask(f"Write the decision for {s['ticker']} (BUY, HOLD or SELL, conviction, horizon, key risks) given Bull: {s['bull']} Bear: {s['bear']} Risk: {s['risk']}")}

    g = StateGraph(TradingState)
    for name, fn in [("fundamentals", fundamentals), ("technicals", technicals), ("news", news),
                     ("bull", bull), ("bear", bear), ("risk", risk), ("portfolio", portfolio)]:
        g.add_node(name, fn)
    for a in ("fundamentals", "technicals", "news"):
        g.add_edge(START, a)                       # analysts run in parallel
    g.add_edge(["fundamentals", "technicals", "news"], "bull")   # wait for all three
    g.add_edge(["fundamentals", "technicals", "news"], "bear")
    g.add_edge(["bull", "bear"], "risk")
    g.add_edge("risk", "portfolio")
    g.add_edge("portfolio", END)
    return g.compile()

if __name__ == "__main__":
    llm = ChatAnthropic(model=os.environ["ANTHROPIC_MODEL"])
    print(build_graph(llm).invoke({"ticker": "NVDA"})["decision"])
```

## Examples

### Example 1: Scheduled morning screen

Request: "Run TradingAgents on NVDA, AMD and TSM every weekday and save the reports."

```bash
for t in NVDA AMD TSM; do
  tradingagents --ticker "$t" --date "$(date +%F)" --analysts market,news,fundamentals --save --no-show
done
```

Result: one report folder per ticker under `~/.tradingagents/logs` (including `complete_report.html`) with each analyst's report, the debate and the final rated decision. Run it after the US close; a run dated *d* only reads news published after the close on *d*.

### Example 2: Cheaper decisions on a local model

Request: "I want to try this without paying per token."

```bash
ollama pull qwen3:14b
export TRADINGAGENTS_LLM_PROVIDER=ollama TRADINGAGENTS_QUICK_THINK_LLM=qwen3:14b TRADINGAGENTS_DEEP_THINK_LLM=qwen3:14b
tradingagents --ticker AAPL --date 2026-09-23 --analysts market,fundamentals --no-show
```

Result: the same pipeline against `http://localhost:11434/v1` (set `OLLAMA_BASE_URL` for a remote server). Expect weaker reasoning and more format slips than with a frontier model.

## Guidelines

- A full run makes many model and tool calls (each analyst loops over tools, then the debates run). Start with `--analysts market,news` and one debate round to limit cost.
- Use a fast model for the quick tier and a stronger one for the deep tier; set per-tier providers if they differ.
- Never run it with a date in the future or reuse a decision as if it were produced before its date; the framework filters data to the analysis date, your own code must do the same.
- Backtest (`tradingagents backtest <tickers> --start ... --end ...`) before believing any rating; LLM output varies between runs even at low temperature.
- The framework simulates orders only. Do not wire its output to a broker without your own limits, review and legal check.
- Not financial advice. Verify numbers against filings and your own analysis before trading.
Pliki w paczce (2)
  • SKILL.md 10 KB
  • _scores.json 2 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · TerminalSkills/skills100Apache-2.0
LeoYeAI/openclaw-master-skills90MIT

Migawka bazy z 28.10.2026 · wersja paczki a0057109167d (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100langgraph-project-setup
    Inicjuje i konfiguruje projekty LangGraph: struktura katalogów, langgraph.json, zmienne środowiskowe dostawców LLM, zależności oraz lokalne środowisko z LangGraph Studio.
  • 100framework
    Opisuje framework Python Atomic Agents: schematy, agenci, narzędzia, dostawcy kontekstu, prompty, orkiestrację i konfigurację dostawców LLM.
  • 100langchain-components
    Pomaga zdecydować, jak budować agentów w LangChain, LangGraph i Deep Agents w Pythonie: wybór frameworka, wzorce wieloagentowe, checkpointery, middleware i bezpieczeństwo narzędzi.
  • 100langgraph-testing-evaluation
    Testuje i ewaluuje agentów LangGraph i LangChain: testy jednostkowe i integracyjne, mockowanie LLM i narzędzi, ewaluacja trajektorii, zbiory danych LangSmith i porównania wersji w stylu A/B.
  • 100langgraph-python-quickstart
    Tworzy minimalnego lokalnego agenta LangGraph w Pythonie według oficjalnego quickstartu.
  • 100langchain-architecture
    Projektuje aplikacje LLM z użyciem LangChain 1.x i LangGraph, obejmując agentów, pamięć i integrację narzędzi przy złożonych przepływach pracy z modelami językowymi.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.