本地运行的 A 股选股 CLI 框架

tushare 行情 + 兼容 OpenAI LLM + DuckDB 单机仓库 + 纯透传式插件机制。你的数据,你的策略,全在本地。

$ pipx install deeptrade-quant
阅读文档

无缝集成你熟悉的基建与大模型

OpenAI 兼容协议,配好 base_url 与 api_key 即可。本地 DuckDB 仓库由框架统一管理,行情来自 tushare。

特性 A

极致轻量的本地体验

一条 pipx install跑完安装。无需 Docker、无需常驻服务进程。所有状态都落在~/.deeptrade/deeptrade.db单个 DuckDB 文件里——可备份、可迁移、可随手 SQL 查询。

secret 走 OS keyring,没有 keyring 时回退到加密的 secret_store 表,不会明文落盘。

deeptrade
$pipx install deeptrade-quant
✓ installed deeptrade 0.2.0
$deeptrade init
✓ ~/.deeptrade/ created
✓ DuckDB schema applied · 8 framework tables
> tushare token: ********
✓ saved to OS keyring
$deeptrade plugin install limit-up-board
✓ migrations applied · 3 plugin tables registered
#done · 你已经准备好跑第一个策略

特性 B

完全解耦的插件生态

框架只持有审计表(plugins / llm_calls / tushare_calls), 业务表全部由插件通过 migrations 自带、按 plugin_id 命名空间隔离。

添加新策略 = 新插件包,零框架改动。框架命令未命中时,CLI 自动透传到插件 dispatch;插件保留完全自治。

按插件维度物理隔离
~/.deeptrade/
├── deeptrade.db// DuckDB 单文件
└── plugins/// 注册表
├── plugins
├── plugin_tables
├── llm_calls// plugin_id 维度审计
├── tushare_calls
├── lub_runs
├── lub_screens
├── va_runs
└── va_anomalies
__framework__limit_up_boardvolume_anomaly

特性 C

原生多模型 LLM 矩阵

llm.providers是一个 JSON 字典,多个 OpenAI 兼容厂商并存。切默认 provider 只改一行。

所有 LLM 调用强约束 JSON mode + Pydantic 校验,禁用 tool/function call, 把“幻觉”压在结构化输出层而不是后处理。

切换 default LLM providerapp_config / llm.providers
{
"providers": {
"qwen": {
"model": "qwen-plus",
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1"
},
"deepseek": {
"model": "deepseek-chat",
"base_url": "https://api.deepseek.com"
}
},
- "default": "qwen"
+ "default": "deepseek"
}

常见问题