103 lines
3.3 KiB
Plaintext
103 lines
3.3 KiB
Plaintext
# Sanguo VeighNa Docker 依赖(NAS 容器)
|
||
# 基于 VeighNa 4.4.0,添加 Web 服务所需依赖
|
||
#
|
||
# ⚠️ 版本源 = requirements-lock.txt(三机统一锁文件,VPS 生产快照=权威基线)。
|
||
# 本文件 = lock 的容器子集,全部 == 钉版;lock bump 时必须同步本文件。
|
||
# 容器专属差异(相对 lock 按设计省略):
|
||
# - akshare:日线采集在 VPS,不在容器
|
||
# - pytest/pytest-asyncio:CI 在 Mac runner 跑,不在容器
|
||
# 2026-08-15 钉版根治:原 >= 浮动致容器系统性偏新
|
||
# (TA-Lib0.7.1/empyrical双装/pyarrow25 vs lock 0.6.8/0.5.12/24.0.0),
|
||
# 产生「NAS 绿 ≠ VPS 版本」的等价性窗口。
|
||
|
||
# ============================================
|
||
# VeighNa 核心依赖
|
||
# ============================================
|
||
tzlocal==5.4.4
|
||
PySide6==6.8.2.1
|
||
pyqtgraph==0.14.0
|
||
qdarkstyle==3.2.3
|
||
numpy==2.2.6
|
||
pandas==2.3.3
|
||
TA-Lib==0.6.8
|
||
deap==1.4.4
|
||
pyzmq==27.1.0
|
||
plotly==6.8.0
|
||
tqdm==4.68.3
|
||
loguru==0.7.3
|
||
nbformat==5.10.4
|
||
requests==2.34.2
|
||
qrcode==8.2
|
||
PyYAML==6.0.3
|
||
|
||
# vnpy 策略/数据库扩展(项目必需,非可选)
|
||
# vnpy_ctastrategy: CTA 策略引擎(sanguo_backtest/cta_engine·cta_optimizer·ashare_engine, sanguo_live 等广用)
|
||
# vnpy_sqlite: vnpy sqlite 数据库驱动(vnpy trader/database.py 运行时动态加载,缺则 vnpy 无法持久化)
|
||
vnpy_ctastrategy==1.4.1
|
||
vnpy_sqlite==1.1.3
|
||
|
||
# ============================================
|
||
# 组合策略框架(BulletTrade)—— 2026-08-01 补:此前只在容器层手动装,重建会丢
|
||
# ============================================
|
||
# bullet-trade: 多股票选股组合框架(sanguo_portfolio, 03/01/02 三策略; import 名 bullet_trade)
|
||
# jqdatasdk: bullet_trade import 时默认 provider=jqdata 触发 import jqdatasdk,需可解析
|
||
# (实跑用 LocalUnifiedProvider 不调 jqdata online,但 import 链需要包存在,否则 import 崩)
|
||
bullet-trade==0.9.2
|
||
jqdatasdk==1.9.8
|
||
|
||
# ============================================
|
||
# Web 服务依赖
|
||
# ============================================
|
||
fastapi==0.139.0
|
||
starlette==1.3.1
|
||
uvicorn[standard]==0.49.0
|
||
python-multipart==0.0.32
|
||
python-dotenv==1.2.2
|
||
|
||
websockets==16.0
|
||
|
||
pydantic==2.13.4
|
||
pydantic-settings==2.14.2
|
||
|
||
PyJWT==2.13.0
|
||
python-jose[cryptography]==3.5.0
|
||
passlib==1.7.4
|
||
bcrypt==5.0.0
|
||
|
||
SQLAlchemy==2.0.51
|
||
alembic==1.18.5
|
||
|
||
redis==8.0.1
|
||
aioredis==2.0.1
|
||
|
||
# ============================================
|
||
# Alpha 量化依赖
|
||
# ============================================
|
||
polars[rtcompat]==1.42.1 # 钉版+[rtcompat]:NAS CPU(Synology Celeron)无 AVX2,plain polars 即便 1.42.1 也 SIGILL(exit132);需 [rtcompat] 拉 polars-runtime-compat 兜底。pre-init-rebuild 实证(有 polars-runtime-compat 才跑得通)。勿改回 >=
|
||
scipy==1.15.3
|
||
alphalens-reloaded==0.4.6
|
||
scikit-learn==1.7.2
|
||
lightgbm==4.6.0
|
||
torch==2.12.1
|
||
pyarrow==24.0.0
|
||
# empyrical-reloaded 替代老 empyrical(根治 0.5.5+0.5.9 双装、import 顺序决定谁生效的脏状态)
|
||
empyrical-reloaded==0.5.12
|
||
statsmodels==0.14.6
|
||
matplotlib==3.10.9
|
||
seaborn==0.13.2
|
||
|
||
# ============================================
|
||
# 工具和监控
|
||
# ============================================
|
||
httpx==0.28.1
|
||
|
||
APScheduler==3.11.3
|
||
|
||
prometheus-client==0.25.0
|
||
structlog==26.1.0
|
||
|
||
# ============================================
|
||
# 数据层(容器内需要的部分)
|
||
# ============================================
|
||
baostock==0.9.3
|