mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-05-01 14:33:10 +03:00
The previous per-agent BM25 memory was effectively dead code — its only caller was a commented-out line in main.py. Replace it with a single append-only markdown decision log driven by the propagate() lifecycle. Lifecycle: - store_decision() appends a pending entry at the end of every run - _resolve_pending_entries() runs at the start of the next same-ticker run, fetches yfinance returns + alpha vs SPY, and writes one LLM reflection per resolved entry through an atomic temp-file rename - Portfolio Manager consumes state["past_context"] (5 most recent same-ticker entries plus 3 cross-ticker reflection-only excerpts) Storage at ~/.tradingagents/memory/trading_memory.md (override: TRADINGAGENTS_MEMORY_LOG_PATH). Tag schema: - Pending: [YYYY-MM-DD | TICKER | Rating | pending] - Resolved: [YYYY-MM-DD | TICKER | Rating | +X.X% | +Y.Y% | Nd] Removes rank-bm25 dependency and the legacy reflect_and_remember() plumbing across reflection.py, trading_graph.py, and the agent factories. 49 new tests in tests/test_memory_log.py cover the storage, deferred reflection, prompt injection, and legacy-removal paths. Full suite (58 tests) passes in under 2 seconds without API keys.
54 lines
1.2 KiB
TOML
54 lines
1.2 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "tradingagents"
|
|
version = "0.2.3"
|
|
description = "TradingAgents: Multi-Agents LLM Financial Trading Framework"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"langchain-core>=0.3.81",
|
|
"backtrader>=1.9.78.123",
|
|
"langchain-anthropic>=0.3.15",
|
|
"langchain-experimental>=0.3.4",
|
|
"langchain-google-genai>=4.0.0",
|
|
"langchain-openai>=0.3.23",
|
|
"langgraph>=0.4.8",
|
|
"pandas>=2.3.0",
|
|
"parsel>=1.10.0",
|
|
"pytz>=2025.2",
|
|
"questionary>=2.1.0",
|
|
"redis>=6.2.0",
|
|
"requests>=2.32.4",
|
|
"rich>=14.0.0",
|
|
"typer>=0.21.0",
|
|
"setuptools>=80.9.0",
|
|
"stockstats>=0.6.5",
|
|
"tqdm>=4.67.1",
|
|
"typing-extensions>=4.14.0",
|
|
"yfinance>=0.2.63",
|
|
]
|
|
|
|
[project.scripts]
|
|
tradingagents = "cli.main:app"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["tradingagents*", "cli*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
cli = ["static/*"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
addopts = "-ra --strict-markers"
|
|
markers = [
|
|
"unit: fast isolated unit tests",
|
|
"integration: tests requiring external services",
|
|
"smoke: quick sanity-check tests",
|
|
]
|
|
filterwarnings = [
|
|
"ignore::DeprecationWarning",
|
|
]
|