基于BigQuant专业量化平台架构的智能交易系统
| 维度 | v2.0 | v3.0 |
|---|---|---|
| 架构 | Python Agent体系 | BigQuant流水线架构 |
| 数据处理 | 分散在Agent | 统一DataEngine |
| 风控体系 | 简单止盈止损 | 三级风控(市场/组合/个股) |
| 策略开发 | Agent协调 | BaseStrategy基类 |
| 数据源 | Akshare/Tushare | MCP+通达信+豆包+数据库 |
| 代码量 | ~5000行 | ~4000行核心代码 |
| 可维护性 | 中 | 高 |
用户界面层 ├─ Grafana Dashboard ├─ CodeBuddy CLI └─ API接口(可选) ↓ 核心引擎层 ├─ DataEngine (数据引擎) ├─ StrategyEngine (策略引擎) ├─ RiskEngine (风控引擎) ├─ BacktestEngine (回测引擎) └─ ExecutionEngine (执行引擎) ↓ 业务逻辑层 ├─ Strategies (策略库) ├─ Factors (因子库) ├─ RiskControl (风控库) ├─ Execution (执行管理) └─ Monitoring (监控告警) ↓ 数据访问层 ├─ StockDB (行情数据) ├─ DataStore (存储引擎) └─ Cache (缓存) ↓ 外部数据源 ├─ MCP+通达信+豆包 (实时行情) ├─ Akshare ├─ Tushare └─ Local CSV
类似BigQuant DAI,提供统一的数据处理流水线:
from core.data_engine import DataEngine
engine = DataEngine()
# 1. 构建股票池
universe = engine.build_universe(
exchanges=["SH", "SZ"],
sectors=["主板", "创业板"],
min_market_cap=1000000000 # >10亿
)
# 2. 计算因子
features = engine.compute_features(
universe,
expr_list=["close / lag(close, 20) - 1 AS return_20d"]
)
# 3. 应用过滤
filtered = engine.apply_filters(
features,
filter_conditions=["suspended = 0", "st_status = 0"]
)
# 4. 评分排序
ranked = engine.rank_scores(
filtered,
score_field="return_20d",
order="DESC"
)
# 5. 生成仓位
positions = engine.generate_positions(
ranked,
hold_count=10,
total_position=1.0
)
三级风控体系:
from core.risk_engine import RiskEngine
engine = RiskEngine()
# 风控检查
actions, target_position = engine.check(
market_data, # 市场数据
portfolio, # 投资组合
current_date # 当前日期
)
# 市场级风控
# Level 0 (正常): 100%仓位
# Level 1 (谨慎): 60%仓位
# Level 2 (高风险): 30%仓位
# Level 3 (极端): 0%仓位(清仓)
# 组合级风控
# - 单票仓位上限: 10%
# - 总仓位上限: 95%
# - 行业集中度: < 50%
# 个股级风控
# - 止盈: +30%(移动止盈+8%回撤)
# - 止损: -15%(龙头股放宽至-20%)
# - 持仓时间: > 90天检查
通过MCP协议获取通达信实时行情截图,并使用豆包模型识别:
from core.data_engine import DataEngine
# 启用MCP数据源
engine = DataEngine(
use_mcp=True,
mcp_server_url="http://192.168.1.200:8080/mcp",
db_path="data/market_data.db"
)
# 获取单个股票实时行情
df = engine.get_realtime_market_data("600519.SH")
print(df[['instrument', 'open', 'high', 'low', 'close', 'change_pct']])
# 批量获取
batch_df = engine.batch_get_realtime_market_data([
"600519.SH",
"000858.SZ",
"300750.SZ"
])
# 查询历史数据
history_df = engine.get_historical_market_data(
"600519.SH",
start_date="2024-01-01",
end_date="2024-12-31"
)
# 获取最新数据
latest_df = engine.get_latest_market_data(instrument="600519.SH")
MCP数据流:
Linux侧 (本项目) ↓ HTTP请求 Windows侧 (MCP服务器) ↓ 截图 通达信软件 ↓ Base64图片 豆包视觉模型 ↓ JSON数据 SQLite数据库
详见: /workspace/docs/MCP服务器设计文档.md
策略开发框架:
from core.strategy_engine import BaseStrategy
class MyStrategy(BaseStrategy):
def __init__(self):
super().__init__(
name="my_strategy",
universe_config={...},
feature_list=[...],
filter_list=[...],
hold_count=10,
total_position=1.0,
rebalance_period="5d"
)
def generate_positions(self, date, universe, features):
# 选择收益率最高的10只股票
top10 = features.nlargest(10, 'return_20d')
weight = 1.0 / 10
return {ins: weight for ins in top10['instrument']}
from strategies.momentum_strategy import MomentumStrategy
strategy = MomentumStrategy(
hold_count=10, # 持仓10只
lookback_days=20, # 20日动量
rebalance_days=5 # 5交易日调仓
)
from strategies.momentum_strategy import AggressiveMomentumStrategy
strategy = AggressiveMomentumStrategy()
# 专注科创板、创业板
# 单票上限15%
# 动态调整持仓数量
| 风险等级 | 触发条件 | 仓位动作 |
|---|---|---|
| 正常 | 默认状态 | 100%仓位 |
| 谨慎 | 5日跌幅 > -7% | 降至60% |
| 高风险 | 5日跌幅 > -10% | 降至30% |
| 极端 | 跌破年线+高波动 | 清仓 |
cd /workspace
pip install -r requirements.txt
# 动量策略示例
python examples/example_momentum.py
BaseStrategy基类generate_positions方法StrategyEngine/workspace/ ├── core/ # 核心引擎 │ ├── data_engine.py # 数据引擎 │ ├── strategy_engine.py # 策略引擎 │ ├── risk_engine.py # 风控引擎 │ ├── backtest_engine.py # 回测引擎(待实现) │ └── execution_engine.py # 执行引擎(待实现) ├── strategies/ # 策略库 │ └── momentum_strategy.py ├── factors/ # 因子库(待实现) ├── risk_control/ # 风控模块(待实现) ├── execution/ # 执行模块(待实现) ├── monitoring/ # 监控模块(待实现) ├── examples/ # 示例 │ └── example_momentum.py ├── tests/ # 测试(待实现) └── docs/ # 文档 └── BigQuant架构重构设计文档.md
/workspace/docs/BigQuant架构重构设计文档.md/workspace/docs/bigquant//workspace/AImate/版本: v3.0
分支: refactor-bigquant-v3
归档分支: archive-v2
创建时间: 2026-01-21
维护者: AI Assistant