Migrate all agent roles from Legacy to EvoAgent architecture: - fundamentals_analyst, technical_analyst, sentiment_analyst, valuation_analyst - risk_manager, portfolio_manager Key changes: - EvoAgent now supports Portfolio Manager compatibility methods (_make_decision, get_decisions, get_portfolio_state, load_portfolio_state, update_portfolio) - Add UnifiedAgentFactory for centralized agent creation - ToolGuard with batch approval API and WebSocket broadcast - Legacy agents marked deprecated (AnalystAgent, RiskAgent, PMAgent) - Remove backend/agents/compat.py migration shim - Add run_id alongside workspace_id for semantic clarity - Complete integration test coverage (13 tests) - All smoke tests passing for 6 agent roles Constraint: Must maintain backward compatibility with existing run configs Constraint: Memory support must work with EvoAgent (no fallback to Legacy) Rejected: Separate PM implementation for EvoAgent | unified approach cleaner Confidence: high Scope-risk: broad Directive: EVO_AGENT_IDS env var still respected but defaults to all roles Not-tested: Kubernetes sandbox mode for skill execution
89 lines
2.3 KiB
TOML
89 lines
2.3 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "evotraders"
|
|
version = "0.1.0"
|
|
description = "大时代: A self-evolving multi-agent trading system"
|
|
readme = "README.md"
|
|
requires-python = ">=3.9"
|
|
license = {text = "MIT"}
|
|
authors = [
|
|
{name = "大时代 Team", email = "dengjiaji.djj@alibaba-inc.com"}
|
|
]
|
|
keywords = ["trading", "ai", "multi-agent", "fintech", "algorithmic-trading"]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Financial and Insurance Industry",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Topic :: Office/Business :: Financial :: Investment",
|
|
]
|
|
|
|
dependencies = [
|
|
"agentscope>=1.0.8",
|
|
"reme-ai>=0.2.0.4",
|
|
"fastapi>=0.115.0",
|
|
"uvicorn>=0.30.0",
|
|
"pydantic>=2.8.0",
|
|
"rich>=13.6.0",
|
|
"websockets>=12.0",
|
|
"websocket-client>=1.6.0",
|
|
"httpx>=0.27.0",
|
|
"requests>=2.31.0",
|
|
"cryptography>=43.0.0",
|
|
"python-dotenv>=1.0.0",
|
|
"PyYAML>=6.0.0",
|
|
"loguru>=0.7.0",
|
|
"finnhub-python>=2.4.25",
|
|
"yfinance>=0.2.36",
|
|
"numpy>=1.24.0",
|
|
"pandas>=2.0.0",
|
|
"matplotlib>=3.7.0",
|
|
"seaborn>=0.12.0",
|
|
"pandas-market-calendars>=5.0.0",
|
|
"exchange-calendars>=4.5.0",
|
|
"typer>=0.12.5",
|
|
"openai>=2.9.0",
|
|
"anthropic>=0.20.0",
|
|
]
|
|
|
|
|
|
[project.optional-dependencies]
|
|
docker-sandbox = [
|
|
"agentscope-runtime>=0.1.0"
|
|
]
|
|
dev = [
|
|
"pytest>=8.3.3",
|
|
"ruff>=0.6.9",
|
|
"black>=25.0.0"
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "http://trading.evoagents.cn"
|
|
Repository = "https://github.com/agentscope-ai/agentscope-samples/evotraders"
|
|
Documentation = "https://github.com/agentscope-ai/agentscope-samples/evotraders/README.md"
|
|
"Bug Tracker" = "https://github.com/agentscope-ai/agentscope-samples/issues"
|
|
|
|
[project.scripts]
|
|
evotraders = "backend.cli:app"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["backend*", "shared*"]
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
target-version = "py39"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["backend/tests"]
|
|
python_files = ["test_*.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
asyncio_default_fixture_loop_scope = "function"
|