mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-09-27 15:02:39 +03:00
refactor: name the decision log module tradingagents/memory.py
- TradingMemoryLog imports from tradingagents.memory, matching the class, the memory_log_path key and graph.memory_log
This commit is contained in:
@@ -11,7 +11,7 @@ from __future__ import annotations
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from tradingagents.backtest import iter_grid, run_backtest, summarize
|
from tradingagents.backtest import iter_grid, run_backtest, summarize
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
DECISION = "Rating: Buy\n\nbuy it"
|
DECISION = "Rating: Buy\n\nbuy it"
|
||||||
|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from __future__ import annotations
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
import cli.run as cli_run
|
import cli.run as cli_run
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
|
||||||
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
||||||
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
|
|
||||||
def _bare_graph(tmp_path):
|
def _bare_graph(tmp_path):
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ import pytest
|
|||||||
|
|
||||||
from tradingagents.agents.managers.portfolio_manager import create_portfolio_manager
|
from tradingagents.agents.managers.portfolio_manager import create_portfolio_manager
|
||||||
from tradingagents.agents.schemas import PortfolioDecision, PortfolioRating
|
from tradingagents.agents.schemas import PortfolioDecision, PortfolioRating
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
|
||||||
from tradingagents.graph import settlement
|
from tradingagents.graph import settlement
|
||||||
from tradingagents.graph.propagation import Propagator
|
from tradingagents.graph.propagation import Propagator
|
||||||
from tradingagents.graph.reflection import Reflector
|
from tradingagents.graph.reflection import Reflector
|
||||||
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
||||||
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
_SEP = TradingMemoryLog._SEPARATOR
|
_SEP = TradingMemoryLog._SEPARATOR
|
||||||
|
|
||||||
@@ -863,12 +863,12 @@ class TestLegacyRemoval:
|
|||||||
|
|
||||||
def test_financial_situation_memory_removed(self):
|
def test_financial_situation_memory_removed(self):
|
||||||
"""FinancialSituationMemory must not be importable from the memory module."""
|
"""FinancialSituationMemory must not be importable from the memory module."""
|
||||||
import tradingagents.decision_log as m
|
import tradingagents.memory as m
|
||||||
assert not hasattr(m, "FinancialSituationMemory")
|
assert not hasattr(m, "FinancialSituationMemory")
|
||||||
|
|
||||||
def test_bm25_not_imported(self):
|
def test_bm25_not_imported(self):
|
||||||
"""rank_bm25 must not be present in the memory module namespace."""
|
"""rank_bm25 must not be present in the memory module namespace."""
|
||||||
import tradingagents.decision_log as m
|
import tradingagents.memory as m
|
||||||
assert not hasattr(m, "BM25Okapi")
|
assert not hasattr(m, "BM25Okapi")
|
||||||
|
|
||||||
def test_reflect_and_remember_removed(self):
|
def test_reflect_and_remember_removed(self):
|
||||||
@@ -934,8 +934,8 @@ class TestLegacyRemoval:
|
|||||||
def test_a_failed_reflection_leaves_the_entry_pending_and_lets_the_run_start(tmp_path, monkeypatch):
|
def test_a_failed_reflection_leaves_the_entry_pending_and_lets_the_run_start(tmp_path, monkeypatch):
|
||||||
"""Settling past decisions happens on the way into a new run, and reflection
|
"""Settling past decisions happens on the way into a new run, and reflection
|
||||||
calls an LLM. A transient failure there must not stop the new analysis."""
|
calls an LLM. A transient failure there must not stop the new analysis."""
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
|
||||||
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
||||||
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
graph = object.__new__(TradingAgentsGraph)
|
graph = object.__new__(TradingAgentsGraph)
|
||||||
graph.config = {"memory_log_path": str(tmp_path / "m.md")}
|
graph.config = {"memory_log_path": str(tmp_path / "m.md")}
|
||||||
@@ -967,8 +967,8 @@ def test_a_failed_reflection_leaves_the_entry_pending_and_lets_the_run_start(tmp
|
|||||||
def test_the_holding_window_is_configurable(tmp_path, monkeypatch):
|
def test_the_holding_window_is_configurable(tmp_path, monkeypatch):
|
||||||
"""A decision written for months should not be graded at a week without the
|
"""A decision written for months should not be graded at a week without the
|
||||||
operator choosing that window."""
|
operator choosing that window."""
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
|
||||||
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
||||||
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
graph = object.__new__(TradingAgentsGraph)
|
graph = object.__new__(TradingAgentsGraph)
|
||||||
graph.config = {"memory_log_path": str(tmp_path / "m.md"), "holding_period_days": 21}
|
graph.config = {"memory_log_path": str(tmp_path / "m.md"), "holding_period_days": 21}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
|
|
||||||
def _log(tmp_path):
|
def _log(tmp_path):
|
||||||
|
|||||||
@@ -76,9 +76,9 @@ def test_load_reads_a_valid_file(tmp_path):
|
|||||||
# --- threading through the graph --------------------------------------------
|
# --- threading through the graph --------------------------------------------
|
||||||
|
|
||||||
def _bare_graph(tmp_path):
|
def _bare_graph(tmp_path):
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
|
||||||
from tradingagents.graph.propagation import Propagator
|
from tradingagents.graph.propagation import Propagator
|
||||||
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
||||||
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
graph = object.__new__(TradingAgentsGraph)
|
graph = object.__new__(TradingAgentsGraph)
|
||||||
graph.config = {"memory_log_path": str(tmp_path / "m.md"), "max_debate_rounds": 1,
|
graph.config = {"memory_log_path": str(tmp_path / "m.md"), "max_debate_rounds": 1,
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ def test_the_scale_quoted_in_a_prompt_does_not_become_the_rating():
|
|||||||
|
|
||||||
@pytest.mark.unit
|
@pytest.mark.unit
|
||||||
def test_the_memory_log_records_review_rather_than_a_tradeable_hold(tmp_path):
|
def test_the_memory_log_records_review_rather_than_a_tradeable_hold(tmp_path):
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
log = TradingMemoryLog({"memory_log_path": str(tmp_path / "m.md")})
|
log = TradingMemoryLog({"memory_log_path": str(tmp_path / "m.md")})
|
||||||
log.store_decision("NVDA", "2026-01-05", REFUSAL)
|
log.store_decision("NVDA", "2026-01-05", REFUSAL)
|
||||||
@@ -76,7 +76,7 @@ def test_the_memory_log_records_review_rather_than_a_tradeable_hold(tmp_path):
|
|||||||
@pytest.mark.unit
|
@pytest.mark.unit
|
||||||
def test_the_signal_and_the_log_agree_on_the_same_decision(tmp_path):
|
def test_the_signal_and_the_log_agree_on_the_same_decision(tmp_path):
|
||||||
from tradingagents.agents.rating import parse_rating
|
from tradingagents.agents.rating import parse_rating
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
log = TradingMemoryLog({"memory_log_path": str(tmp_path / "m.md")})
|
log = TradingMemoryLog({"memory_log_path": str(tmp_path / "m.md")})
|
||||||
for text in (INVERTED, REFUSAL, "**Rating**: Buy\n\nAccumulate."):
|
for text in (INVERTED, REFUSAL, "**Rating**: Buy\n\nAccumulate."):
|
||||||
@@ -91,7 +91,7 @@ def test_the_signal_and_the_log_agree_on_the_same_decision(tmp_path):
|
|||||||
def test_an_unscored_decision_is_left_out_of_the_backtest_figures(tmp_path):
|
def test_an_unscored_decision_is_left_out_of_the_backtest_figures(tmp_path):
|
||||||
"""REVIEW has no direction, so it cannot count for or against the system."""
|
"""REVIEW has no direction, so it cannot count for or against the system."""
|
||||||
from tradingagents.backtest import summarize
|
from tradingagents.backtest import summarize
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
log = TradingMemoryLog({"memory_log_path": str(tmp_path / "m.md")})
|
log = TradingMemoryLog({"memory_log_path": str(tmp_path / "m.md")})
|
||||||
log.store_decision("NVDA", "2026-01-05", "**Rating**: Buy\n\nx")
|
log.store_decision("NVDA", "2026-01-05", "**Rating**: Buy\n\nx")
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ from pathlib import Path
|
|||||||
from tradingagents.agents.rating import RATING_REVIEW
|
from tradingagents.agents.rating import RATING_REVIEW
|
||||||
from tradingagents.dataflows.date_window import get_current_date
|
from tradingagents.dataflows.date_window import get_current_date
|
||||||
from tradingagents.dataflows.symbols import safe_ticker_component
|
from tradingagents.dataflows.symbols import safe_ticker_component
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
|
||||||
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
||||||
|
from tradingagents.memory import TradingMemoryLog
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ from tradingagents.agents.rating import parse_rating
|
|||||||
from tradingagents.dataflows.config import run_config, set_config
|
from tradingagents.dataflows.config import run_config, set_config
|
||||||
from tradingagents.dataflows.date_window import get_current_date
|
from tradingagents.dataflows.date_window import get_current_date
|
||||||
from tradingagents.dataflows.symbols import safe_ticker_component
|
from tradingagents.dataflows.symbols import safe_ticker_component
|
||||||
from tradingagents.decision_log import TradingMemoryLog
|
|
||||||
from tradingagents.default_config import DEFAULT_CONFIG
|
from tradingagents.default_config import DEFAULT_CONFIG
|
||||||
from tradingagents.llm_clients import build_llm_kwargs, create_llm_client
|
from tradingagents.llm_clients import build_llm_kwargs, create_llm_client
|
||||||
|
from tradingagents.memory import TradingMemoryLog
|
||||||
from tradingagents.reporting import write_report_tree
|
from tradingagents.reporting import write_report_tree
|
||||||
|
|
||||||
from . import settlement
|
from . import settlement
|
||||||
|
|||||||
Reference in New Issue
Block a user