TradingAgents'ı Gerçek Bir Trading API İş Akışına Dönüştürme

Ashley Innocent

Ashley Innocent

26 March 2026

TradingAgents'ı Gerçek Bir Trading API İş Akışına Dönüştürme

TL;DR / Hızlı Cevap

TradingAgents'ı kullanmanın en hızlı pratik yolu, onu bir Python paketi olarak çalıştırmak, küçük bir FastAPI servisine sarmak ve ardından bu servisi Apidog'da test etmektir. Bu size analizleri tetiklemek, sonuçları sorgulamak, istek sözleşmesini belgelemek ve kurulumu ekibinizle paylaşmak için tekrarlanabilir bir iş akışı sağlar.

Giriş

TradingAgents'a dışarıdan hayran kalmak kolaydır. GitHub deposu çoklu aracı ticaret iş akışı, cilalı bir CLI, birden fazla model sağlayıcı için destek ve çerçeve tasarımını açıklayan bir araştırma makalesi sunar. Daha zor kısım, onu gerçek bir mühendislik iş akışında kullanmaya çalıştığınızda başlar.

Çoğu ekip, yalnızca bir geliştiricinin yerel olarak çalıştırabileceği bir depo istemez. Analizi tetiklemek, bir hisse senedi kodu ve tarih geçirmek, bir iş kimliği döndürmek, sonucu daha sonra incelemek ve her soruyu bir Python hata ayıklama oturumuna dönüştürmeden bu iş akışını ön uç, QA veya platform ekip arkadaşlarına devretmek için tekrarlanabilir bir yol isterler. Ve herhangi bir ticaret araştırma sistemi eninde sonunda gerçek para kararlarını bilgilendirmek için kullanılacağından, TradingAgents'ı birinin dizüstü bilgisayarında tek seferlik bir komut dosyası olarak bırakmak yerine kontrollü, belgelenmiş bir API'ye sarmak daha da önemlidir.

💡
Apidog bu iş akışına doğal olarak uyar. OpenAPI şemasını FastAPI'den içe aktarabilir, yerel ve uzaktan dağıtımlar için ortamları kaydedebilir, yanıtlardan değişkenler çıkarabilir, sorgulama isteklerini bir senaryoya zincirleyebilir ve ekibinizin geri kalanı için belgeler yayınlayabilirsiniz. Takip etmek için Apidog'u ücretsiz indirin.
düğme

TradingAgents Ne(dir) ve Ne Değil(dir)

Kodlamaya başlamadan önce, aracı doğru bir şekilde tanımlamak yardımcı olur.

TradingAgents nedir ve ne değildir

TradingAgents açık kaynaklı çoklu ajanlı bir ticaret çerçevesidir. Depo, bir ticaret firmasının yapısını yansıtan bir dizi uzmanlaşmış rolü tanımlar:

TradingAgents'taki çoklu ajan rolleri

Depo ayrıca çerçevenin LangGraph ile inşa edildiğini ve OpenAI, Google, Anthropic, xAI, OpenRouter ve Ollama dahil olmak üzere birden fazla model sağlayıcısını desteklediğini belirtmektedir. Genel varsayılan yapılandırmada, proje şu anda aşağıdaki gibi değerleri kullanmaktadır:

Bu önemlidir çünkü size gerçekte ne ile çalıştığınızı söyler: tak-çalıştır bir SaaS API'si değil, yapılandırılabilir bir Python çerçevesi.

Depo ayrıca kapsam konusunda da dikkatlidir. TradingAgents bir araştırma çerçevesi olarak sunulur, finansal tavsiye değildir. Onu dahili olarak kullanır veya etrafında yazılım geliştirirseniz, bu çerçeveyi belgelerinizde ve kullanıcı deneyiminizde görünür tutun.

Adım 1: TradingAgents'ı Yükleyin

Deponun kendisinden gelen kurulumla başlayın:

git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
conda create -n tradingagents python=3.13
conda activate tradingagents
pip install .

Bu eğitimdeki API sarmalayıcısını da oluşturmak isterseniz, FastAPI ve Uvicorn'u ekleyin:

pip install fastapi uvicorn

TradingAgents deposu ayrıca aşağıdaki gibi sağlayıcı değişkenlerini içeren bir .env.example içerir:

OPENAI_API_KEY=
GOOGLE_API_KEY=
ANTHROPIC_API_KEY=
XAI_API_KEY=
OPENROUTER_API_KEY=

Model ve veri seçeneklerinize bağlı olarak, Alpha Vantage gibi başka satıcı kimlik bilgilerine de ihtiyacınız olabilir.

Burada iki pratik kural önemlidir:

  1. Kimlik bilgilerini ortam değişkenlerinde veya bir sır yöneticisinde saklayın.
  2. Sağlayıcı sırlarını daha sonra genel API istek gövdeniz aracılığıyla geçirmeyin.

Bu ayrım, Apidog ortamlarınızı daha düzenli ve güvenlik modelinizi çok daha güvenli hale getirecektir.

Adım 2: TradingAgents'ı Önce Python'da Çalıştırın

Herhangi bir API sarmalayıcısı oluşturmadan önce, çekirdek çerçevenin ortamınızda çalıştığını kanıtlayın.

README minimal bir Python kullanım kalıbı gösterir:

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

ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)

Bu doğru ilk kontrol noktasıdır çünkü erken aşamada önemli olan tek soruyu yanıtlar: makineniz, model kurulumunuz ve bağımlılıklarınız gerçekten bir TradingAgents çalışmasını yürütebilir mi?

Bu çalışırsa, kontrollü yapılandırmaya geçebilirsiniz. Depo ayrıca varsayılan yapılandırmayı geçersiz kılabileceğinizi de gösterir:

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

config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai"
config["deep_think_llm"] = "gpt-5.2"
config["quick_think_llm"] = "gpt-5-mini"
config["max_debate_rounds"] = 2

ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)

Bu ikinci örnek göründüğünden daha önemlidir. Size daha sonra bir API'de hangi parametreleri ifşa etmeye değer olduğunu söyler:

Bu yerel Python aşamasını atlayıp doğrudan HTTP'ye geçerseniz, hata ayıklamayı gerektiğinden daha zor hale getirirsiniz.

Adım 3: TradingAgents'ı Nasıl Kullanmak İstediğinize Karar Verin

Bu noktada, çerçeveyi kullanmanın üç yaygın yolu vardır.

Seçenek 1: Yalnızca CLI

Depo, hisse senedi kodu, tarih, sağlayıcı ve araştırma derinliğini seçebileceğiniz etkileşimli bir CLI içerir. Bu, projeyi hızlı bir şekilde keşfetmek için iyi bir yoldur.

Bunu şu durumlarda kullanın:

Bir sonraki adımınız bir ön uç, yönetici aracı, paylaşılan hizmet veya QA iş akışı ise burada durmayın.

Seçenek 2: Yalnızca Python

Özel orkestrasyon veya yerel betikler gerektiğinde TradingAgentsGraph'ı doğrudan Python'dan çağırmak CLI'dan daha iyidir.

Bunu şu durumlarda kullanın:

Birden fazla ekibin iş akışını tüketmesi gerektiğinde bu hala yetersiz kalır.

Seçenek 3: API Sarmalayıcı + Apidog

Bu en kullanışlı ekip kurulumudur. TradingAgents'ı yürütme motoru olarak tutar, küçük bir FastAPI hizmeti aracılığıyla ifşa eder ve sözleşmeyi test etmek ve belgelemek için Apidog'u kullanırsınız.

Bunu şu durumlarda kullanın:

Çoğu ekip için, "TradingAgents nasıl kullanılır" sadece yerel bir demo olmaktan çıkıp gerçek bir uygulama cevabına dönüştüğü noktadır.

Adım 4: TradingAgents'ı Bir FastAPI Hizmetine Sarın

İlk sarmalayıcı için en temiz desen, iş tabanlı bir API'dir.

Neden iş tabanlı? Çünkü çoklu ajan analizi, tek bir isteği açık tutmanın istemciler için garip olacağı kadar uzun sürebilir. Daha iyi bir desen şudur:

POST /analyses -> returns analysis_id
GET /analyses/{id} -> returns queued, running, completed, or failed

Bu yapı tarayıcılar için daha kolay, QA için daha kolay ve Apidog'da belgelenmesi daha kolaydır.

API Sözleşmesini Oluşturun

Minimal bir sözleşme şöyle görünür:

Uç NoktaAmaç
GET /healthtemel sağlık kontrolü
POST /analysesbir TradingAgents çalıştırmasını tetikler
GET /analyses/{analysis_id}iş durumunu ve nihai sonucu getirir

Sarmalayıcıyı Oluşturun

İşte kompakt bir FastAPI örneği:

from concurrent.futures import ThreadPoolExecutor
from datetime import date, datetime
from uuid import uuid4

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, Field

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

app = FastAPI(title="TradingAgents API", version="0.1.0")
executor = ThreadPoolExecutor(max_workers=2)
jobs: dict[str, dict] = {}

class AnalysisRequest(BaseModel):
 ticker: str = Field(..., min_length=1, examples=["NVDA"])
 analysis_date: date
 llm_provider: str = Field(default="openai")
 deep_think_llm: str = Field(default="gpt-5.2")
 quick_think_llm: str = Field(default="gpt-5-mini")
 research_depth: int = Field(default=1, ge=1, le=5)

def run_analysis(job_id: str, payload: AnalysisRequest) -> None:
 jobs[job_id]["status"] = "running"
 jobs[job_id]["started_at"] = datetime.utcnow().isoformat()

 config = DEFAULT_CONFIG.copy()
 config["llm_provider"] = payload.llm_provider
 config["deep_think_llm"] = payload.deep_think_llm
 config["quick_think_llm"] = payload.quick_think_llm
 config["max_debate_rounds"] = payload.research_depth
 config["max_risk_discuss_rounds"] = payload.research_depth

 try:
 graph = TradingAgentsGraph(debug=False, config=config)
 _, decision = graph.propagate(
 payload.ticker,
 payload.analysis_date.isoformat(),
 )
 jobs[job_id].update(
 {
 "status": "completed",
 "finished_at": datetime.utcnow().isoformat(),
 "result": decision,
 }
 )
 except Exception as exc:
 jobs[job_id].update(
 {
 "status": "failed",
 "finished_at": datetime.utcnow().isoformat(),
 "error": str(exc),
 }
 )

@app.get("/health")
def health() -> dict:
 return {"status": "ok"}

@app.post("/analyses", status_code=202)
def create_analysis(payload: AnalysisRequest) -> dict:
 analysis_id = str(uuid4())
 jobs[analysis_id] = {
 "status": "queued",
 "ticker": payload.ticker,
 "analysis_date": payload.analysis_date.isoformat(),
 "created_at": datetime.utcnow().isoformat(),
 }
 executor.submit(run_analysis, analysis_id, payload)
 return {"analysis_id": analysis_id, "status": "queued"}

@app.get("/analyses/{analysis_id}")
def get_analysis(analysis_id: str) -> dict:
 job = jobs.get(analysis_id)
 if not job:
 raise HTTPException(status_code=404, detail="Analysis not found")
 return job

Servisi başlatın:

uvicorn app:app --reload

Sunucu açıldıktan sonra, FastAPI şunları ifşa edecektir:

Bu ikinci URL özellikle kullanışlıdır çünkü Apidog onu doğrudan içe aktarabilir.

Adım 5: API Aracılığıyla TradingAgents'ı Kullanın

Artık TradingAgents'ı kararlı ve tekrarlanabilir bir şekilde kullanmaya hazırsınız.

Bir Analizi Tetikleyin

Şöyle bir gövde ile bir POST /analyses isteği gönderin:

{
 "ticker": "NVDA",
 "analysis_date": "2026-03-26",
 "llm_provider": "openai",
 "deep_think_llm": "gpt-5.2",
 "quick_think_llm": "gpt-5-mini",
 "research_depth": 2
}

Yanıt hızlı ve küçük olmalıdır:

{
 "analysis_id": "88f9f0f5-7315-4c73-8ed5-d0a71f613d31",
 "status": "queued"
}

İstediğiniz tam da budur. Müşterinizin nihai rapora hemen ihtiyacı yoktur. Çalıştırma için kararlı bir tutamağa ihtiyacı vardır.

Sonucu Sorgulayın

İlerlemeyi kontrol etmek için GET /analyses/{analysis_id} kullanın:

{
 "status": "running",
 "ticker": "NVDA",
 "analysis_date": "2026-03-26",
 "created_at": "2026-03-26T06:00:00.000000",
 "started_at": "2026-03-26T06:00:01.000000"
}

İş akışı tamamlandığında, yanıt nihai kararı içerebilir:

{
 "status": "completed",
 "ticker": "NVDA",
 "analysis_date": "2026-03-26",
 "result": {
 "decision": "hold"
 }
}

Bir şeyler bozulursa, istemcileri tahmin yürütmeye bırakmak yerine açık bir failed durumu ve bir hata mesajı döndürün.

Adım 6: API'yi Apidog'a Aktarın

İş akışının sürdürülmesinin çok daha kolay hale geldiği yer burasıdır.

Apidog'da, OpenAPI şemasını şuradan içe aktarın:

http://localhost:8000/openapi.json

İçe aktardıktan sonra, uç noktalarınızı istek ve yanıt yapılarıyla zaten yerinde görmelisiniz.

Bu size birkaç anında kazanç sağlar:

Geçici cURL testinden geçiyorsanız, bu anlamlı bir yükseltmedir. Yalnızca istek aracı kullanan bir yerden geliyorsanız, Apidog'un daha önemli hale geldiği yer burasıdır çünkü tasarımı, testi, ortamları ve belgeleri tek bir yerde tutabilirsiniz.

Adım 7: Bir Apidog Ortamı Oluşturun

API içe aktarıldıktan sonra, yerel hizmetiniz için bir ortam oluşturun.

Örnek değişkenler:

base_url = http://localhost:8000
analysis_id =

API'niz kimlik doğrulama kullanıyorsa, onu da ekleyin:

internal_api_key = your-local-dev-key

Bu adım küçük görünse de, birçok sürtüşmeyi önler:

Apidog'un TradingAgents için güçlü bir yardımcı olmasının en basit nedenlerinden biri budur. Çerçevenin kendisi analiz mantığını yönetir. Apidog ise etrafındaki paylaşılan iş akışını yönetir.

Adım 8: Apidog'da Tüm İş Akışını Test Edin

Artık Apidog'u kullanarak TradingAgents'ı gerçek bir istemcinin yapacağı şekilde test edebilirsiniz.

İstek 1: Analizi Oluşturun

Yapılandırın:

{
 "ticker": "NVDA",
 "analysis_date": "2026-03-26",
 "llm_provider": "openai",
 "deep_think_llm": "gpt-5.2",
 "quick_think_llm": "gpt-5-mini",
 "research_depth": 2
}

Durumu doğrulayan ve kimliği depolayan bir test betiği ekleyin:

pm.test("Status is 202", function () {
 pm.response.to.have.status(202);
});

const data = pm.response.json();
pm.expect(data.analysis_id).to.exist;
pm.environment.set("analysis_id", data.analysis_id);

İstek 2: Analizi Sorgulayın

Yapılandırın:

Ardından şöyle bir iddia ekleyin:

pm.test("Analysis has a valid status", function () {
 const data = pm.response.json();
 pm.expect(["queued", "running", "completed", "failed"]).to.include(data.status);
});

Bir başarı yolu kontrolü de isterseniz:

pm.test("Completed jobs include a result", function () {
 const data = pm.response.json();
 if (data.status === "completed") {
 pm.expect(data.result).to.exist;
 }
});

Her İki İsteği Bir Senaryoya Zincirleyin

Burası Apidog'un bir API istemcisinden daha fazlası haline geldiği yerdir. Aşağıdakileri yapan bir senaryo oluşturun:

  1. POST /analyses gönderir
  2. analysis_id'yi saklar
  3. birkaç saniye bekler
  4. GET /analyses/{{analysis_id}}'yi çalıştırır

Bu, QA ve mühendislik ekiplerinize, sadece bir uç noktanın 200 dönüp dönmediğini kontrol etmek yerine yaşam döngüsünü doğrulamak için tekrarlanabilir bir yol sunar.

Adım 9: Ekibiniz İçin Dahili Belgeleri Yayınlayın

İstekler çalıştıktan sonra, test etmekle kalmayın.

Apidog'u kullanarak aşağıdakileri açıklayan dahili belgeler yayınlayın:

Bu, TradingAgents'ı iyi kullanmanın en önemli parçalarından biridir. Çekirdek çerçeve akıllıdır, ancak sözleşme yalnızca bir geliştiricinin kafasında yaşadığında akıllı çerçeveler ekip darboğazı haline gelir.

TradingAgents'ı ortamlar, iddialar ve yeniden kullanılabilir ekibe hazır senaryolarla belgelenmiş bir API iş akışına dönüştürmek için Apidog'u ücretsiz indirin.

TradingAgents'ı Bu Şekilde Kullanırken Yapılan Yaygın Hatalar

Çerçeveyi barındırılan bir API gibi ele almak

TradingAgents hazır bir genel hizmet değildir. Bir Python çerçevesidir. Deponun size sağlamasını beklemek yerine ekibinizin kullanmasını istediğiniz sözleşmeyi oluşturun.

Sırları istek gövdeleri aracılığıyla geçirmek

Sağlayıcı anahtarlarını ortam yönetiminde saklayın. Onları örneklere, ön uç çağrılarına veya paylaşılan ekran görüntülerine sızdırmayın.

Tek, uzun bir senkron yanıt döndürmek

Çok adımlı bir ajan iş akışı için, iş tabanlı bir API genellikle uzun, engelleleyici bir istekten daha kolay yönetilebilir.

Çok fazla yapılandırma ayarını ifşa etmek

Depoda faydalı yapılandırma seçenekleri bulunur, ancak API'nizin ilk günden her dahili ayarı ifşa etmesi gerekmez. Küçük, kararlı bir sözleşmeyle başlayın.

Sonuçları yalnızca bellekte tutmak

Eğitim kodu, anlaşılması kolay olduğu için bellek içi bir sözlük kullanır. Üretimde, iş durumunu Redis, Postgres veya başka bir kalıcı arka uçta saklayın.

Araştırma feragatnamesini gizlemek

Hizmetiniz TradingAgents'ı sarmalıyorsa, projenin kullandığı uyarıyı koruyun. Çerçeve, finansal tavsiye değil, araştırma ve deneyler içindir.

Sonuç

TradingAgents'ı kullanmanın en iyi yolu, ne yapmaya çalıştığınıza bağlıdır. Çerçeveyi yalnız keşfediyorsanız, CLI ve Python paketi yeterlidir. Kararlı, tekrarlanabilir bir ekip iş akışı istiyorsanız, TradingAgents'ı küçük bir API'ye sarın ve onu test etmek ve belgelemek için Apidog'u kullanın.

GitHub deposundan hızlı bir şekilde kullanılabilir ekip iş akışına geçmek isterseniz, TradingAgents'ı kurun, TradingAgentsGraph'ın yerel olarak çalıştığını onaylayın, POST /analyses ve GET /analyses/{id} ekleyin, ardından şemayı Apidog'a aktarın ve baştan sona bir senaryo oluşturun. Bu yol, terminal komutları ve sözlü bilginin bir koleksiyonundan çok daha kolay sürdürülebilir.

düğme

Sıkça Sorulan Sorular

TradingAgents'ı İlk Kez Nasıl Kullanırsınız?

Depoyu kurarak, model sağlayıcı ortam değişkenlerini ayarlayarak ve Python örneğini TradingAgentsGraph ile çalıştırarak başlayın. Bu çalıştıktan sonra, sadece CLI'a mı ihtiyacınız olduğuna yoksa onu bir API'ye sarmalamanız gerekip gerekmediğine karar verin.

TradingAgents Resmi Bir REST API ile Geliyor mu?

26 Mart 2026'da incelenen halka açık depo materyallerine göre hayır. Proje bir CLI ve Python paketi olarak sunulmuştur, bu yüzden birçok ekip ince bir FastAPI katmanı eklemek isteyecektir.

TradingAgents'ı Bir Ön Uç Uygulamasında Kullanmanın En Kolay Yolu Nedir?

Python çerçevesini doğrudan ön uçtan çağırmayın. Onu, bir analysis_id döndüren bir arka uç API'si aracılığıyla ifşa edin, ardından ön ucun sonuçları sorgulamasına izin verin.

Neden TradingAgents ile Apidog Kullanılır?

Apidog size OpenAPI şemasını içe aktarmak, ortam değerlerini kaydetmek, örnek istekleri depolamak, iddialar eklemek ve Python kodunu tersine mühendislikle çözmek zorunda kalmaması gereken ekip arkadaşlarınızla iş akışını paylaşmak için temiz bir yer sağlar.

Bir API'de Hangi TradingAgents Ayarları İfşa Edilmeye Değerdir?

En güvenli başlangıç kümesi hisse senedi kodu, analiz tarihi, sağlayıcı, model seçimleri ve araştırma derinliğidir. Kullanım durumu gerçekse her zaman daha sonra genişletebilirsiniz.

Örnek İş Durumunu Bellekte Tutabilir miyim?

Sadece öğrenme veya prototipleme için. Üretimde, iş durumunu ve sonuçlarını kalıcı bir arka uçta saklayın, böylece bir hizmet yeniden başlatması aktif analizleri silmez.

TradingAgents Canlı Finansal Kararlar İçin Uygun mu?

Halka açık proje materyalleri onu bir araştırma çerçevesi olarak tanımlar ve bunun finansal veya yatırım tavsiyesi olmadığını açıkça belirtir. Kendi kontrollerinizi, doğrulamanızı ve yönetiminizi eklemediğiniz sürece onu bir araştırma ve deney sistemi olarak ele alın.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin