From 8bde10cf44134d8e24ef4e257f8c0fb539552940 Mon Sep 17 00:00:00 2001 From: Yijia-Xiao Date: Thu, 17 Sep 2026 23:44:14 +0000 Subject: [PATCH] docs: correct the claims that no longer match the code - the custom model option does not exist for every provider; name any model ID instead - alpha is measured against the regional benchmark, not always SPY - the environment overrides a fixed set of config keys - list the providers the picker offers, and the macro data key - drop the example call to a method that was removed --- .env.example | 2 +- README.md | 15 ++++++++++----- main.py | 1 - 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.env.example b/.env.example index 42c17f68c..73ca8686d 100644 --- a/.env.example +++ b/.env.example @@ -33,7 +33,7 @@ NVIDIA_API_KEY= # Remote Ollama server. Unset uses http://localhost:11434/v1. #OLLAMA_BASE_URL=http://your-ollama-host:11434/v1 -# Override any DEFAULT_CONFIG key. In the CLI, a value set here skips its prompt. +# Override these DEFAULT_CONFIG keys. Provider, models, language and round counts also skip their CLI prompt. #TRADINGAGENTS_LLM_PROVIDER=openai #TRADINGAGENTS_DEEP_THINK_LLM=gpt-5.6 #TRADINGAGENTS_QUICK_THINK_LLM=gpt-5.6-luna diff --git a/README.md b/README.md index 8c5ca7c63..e90123dc3 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,11 @@ export ZHIPU_CN_API_KEY=... # GLM via BigModel (China, open.bigmodel.cn) export MINIMAX_API_KEY=... # MiniMax — Global (api.minimax.io) export MINIMAX_CN_API_KEY=... # MiniMax — China (api.minimaxi.com) export OPENROUTER_API_KEY=... # OpenRouter +export MISTRAL_API_KEY=... # Mistral +export MOONSHOT_API_KEY=... # Kimi (Moonshot) +export GROQ_API_KEY=... # Groq +export NVIDIA_API_KEY=... # NVIDIA NIM +export FRED_API_KEY=... # FRED macro data (free, optional) export ALPHA_VANTAGE_API_KEY=... # Alpha Vantage ``` @@ -285,13 +290,13 @@ TradingAgents persists two kinds of state across runs. ### Decision log -The decision log is always on. Each completed run appends its decision to `~/.tradingagents/memory/trading_memory.md`. On the next run for the same ticker, TradingAgents fetches the realised return (raw and alpha vs SPY), generates a one-paragraph reflection, and injects the most recent same-ticker decisions plus recent cross-ticker lessons into the Portfolio Manager prompt, so each analysis carries forward what worked and what didn't. +The decision log is always on. Each completed run appends its decision to `~/.tradingagents/memory/trading_memory.md`. On the next run for the same ticker, TradingAgents fetches the realised return (raw, and alpha against the instrument's regional benchmark), generates a one-paragraph reflection, and injects the most recent same-ticker decisions plus recent cross-ticker lessons into the Portfolio Manager prompt, so each analysis carries forward what worked and what didn't. Override the path with `TRADINGAGENTS_MEMORY_LOG_PATH`. ### Checkpoint resume -Checkpoint resume is opt-in via `--checkpoint`. When enabled, LangGraph saves state after each node so a crashed or interrupted run resumes from the last successful step instead of starting over. On a resume run you will see `Resuming from step N for on ` in the logs; on a new run you will see `Starting fresh`. Checkpoints are cleared automatically on successful completion. +Checkpoint resume is opt-in via `--checkpoint`. When enabled, LangGraph saves state after each node so a crashed or interrupted run resumes from the last successful step instead of starting over. The run view says whether it resumed a saved run or started fresh. Checkpoints are cleared automatically on successful completion. Per-ticker SQLite databases live at `~/.tradingagents/cache/checkpoints/.db` (override the base with `TRADINGAGENTS_CACHE_DIR`). Use `--clear-checkpoints` to reset all of them before a run. @@ -336,14 +341,14 @@ Language model sampling is non-deterministic. Even at a fixed temperature, provi Live data moves. News, StockTwits, and Reddit return different content as time passes, so a run today sees different inputs than a run last week even for the same historical trade date. Pin the analysis date to hold the price and indicator window fixed, but the social and news sources still reflect "now". -To reduce variation you can lower the sampling temperature. Set `temperature` in your config (or `TRADINGAGENTS_TEMPERATURE` in `.env`); lower values make models that honor it more repeatable. The current curated models are reasoning-first and largely ignore temperature, so for tighter reproducibility use a non-reasoning model, which you can set explicitly via the Custom model ID option. +To reduce variation you can lower the sampling temperature. Set `temperature` in your config (or `TRADINGAGENTS_TEMPERATURE` in `.env`); lower values make models that honor it more repeatable. The current curated models are reasoning-first and largely ignore temperature, so for tighter reproducibility name a non-reasoning model in your config, or in `TRADINGAGENTS_DEEP_THINK_LLM` and `TRADINGAGENTS_QUICK_THINK_LLM`. Any model ID your provider serves is accepted, whether or not the picker lists it. ```python config = DEFAULT_CONFIG.copy() config["llm_provider"] = "openai" config["temperature"] = 0.0 -# Reasoning models ignore temperature. For tighter reproducibility, set a -# non-reasoning deep/quick model explicitly (e.g. via the Custom model ID option). +# Reasoning models ignore temperature. For tighter reproducibility, name a +# non-reasoning model in deep_think_llm / quick_think_llm. ``` What does not vary anymore: the analyzed company identity is resolved deterministically from the ticker before any agent runs, and the market analyst grounds exact price and indicator claims in a verified data snapshot. Earlier reports of "different companies" or fabricated price levels across runs are addressed by these two mechanisms. diff --git a/main.py b/main.py index 5d31209e4..d3a13d678 100644 --- a/main.py +++ b/main.py @@ -16,4 +16,3 @@ _, decision = ta.propagate("NVDA", "2026-09-01") print(decision) # Memorize mistakes and reflect -# ta.reflect_and_remember(1000) # parameter is the position returns