Review fixes applied:
- format_signals_for_role accepts both list and JSON string
- Test imports aligned with actual function names
- Test assertions use actual StrategySignal keys
- Tax optimization: informative message when lot data unavailable
- Pairs trading: single batch yf.download replaces 10 sequential calls
Based on: Kakushadze & Serur, '151 Trading Strategies',
Palgrave Macmillan 2018. SSRN 3247865, DOI 10.1007/978-3-030-02792-6
Apply review suggestions: use concise `or` pattern for API key
resolution, consolidate tests into parameterized subTest, move
import to module level per PEP 8.
GoogleClient now accepts the unified `api_key` parameter used by
OpenAI and Anthropic clients, mapping it to the provider-specific
`google_api_key` that ChatGoogleGenerativeAI expects. Legacy
`google_api_key` still works for backward compatibility.
Resolves TODO.md item #2 (inconsistent parameter handling).
- Added support for running CLI and Ollama server via Docker
- Introduced tests for local embeddings model and standalone Docker setup
- Enabled conditional Ollama server launch via LLM_PROVIDER