# CTOS **Repository Path**: tengheming/CTOS ## Basic Information - **Project Name**: CTOS - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-03 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 🌐 Languages: [English](./docs/README_EN.md) | [äž­æ–‡](README.md) | [日本語](./docs/README_JP.md) | [한국얎](./docs/README_KR.md) ![](./docs/ctoslogo.png) ![](./docs/balance_trend.png) ## CTOS加密亀易操䜜系统借鉎 Linux 讟计理念 **范囎** 面向䞭心化亀易所CEX的量化亀易初期支持 OKX、Backpack、Binance。 **讟计诎明** CTOS 借鉎了 Linux 的理念架构 arch、驱劚 driver、系统调甚 syscall、调床噚 scheduler、进皋 processes䜆并非完党倍制而是有选择地吞收适合于构建健壮、可组合、可移怍的亀易系统的思想。 ### 䞺什么是 CTOS * **可移怍性** 通过 **统䞀的亀易系统调甚syscall** 屏蔜䞍同亀易所的差匂。 * **可组合性** 策略 = “进皋”亀易所适配噚 = “驱劚”每䞪亀易所 = “架构”。 * **可靠性** 内栞 / 运行时 / 驱劚 的分层讟计提高了可测试性䞎安党性。 * **可观测性** 结构化日志、指标和可倍现的回测胜力。 * **高鲁棒性** 对霐了所有亀易所的䞋单价栌䞎数量粟床指定金额䞋单自劚蜬化党皋无忧。 ## 📚 目圕 - [CTOS加密亀易操䜜系统借鉎 Linux 讟计理念](#ctos加密亀易操䜜系统借鉎-linux-讟计理念) - [䞺什么是 CTOS](#䞺什么是-ctos) - [安党特性](#-安党特性) - [性胜特性](#-性胜特性) - [CTOS 讟计目标小癜友奜版](#ctos-讟计目标小癜友奜版) - [快速匀始实践流皋](#快速匀始实践流皋) - [抂念映射Linux → CTOS](#抂念映射linux--ctos) - [项目目圕结构](#项目目圕结构) > 可点击䞊方目圕快速跳蜬到对应章节。 --- ## 抂念映射Linux → CTOS | Linux 抂念 | CTOS 对应 | 诎明 | | -------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | `arch/` | **亀易所架构** (`drivers/okx`, `drivers/binance`, `drivers/backpack`) | 每䞪亀易所䞀䞪文件倹隔犻 REST / WS / 筟名 / 规栌实现。 | | 讟倇驱劚 | **亀易所驱劚** | REST/WS 客户端、筟名噚、笊号映射、功胜匀关。 | | 系统调甚 | **亀易系统调甚** | `place_order`、`cancel_order`、`amend_order`、`balances`、`positions`、`subscribe_ticks` 等。 | | 调床噚 | **策略调床噚** | 协调策略“进皋”倄理限速、重试、执行顺序。 | | 进皋 | **策略** | 无状态/有状态的策略调甚 syscall由运行时监督管理。 | | 文件系统 | **存傚层** | Parquet/SQLite 保存垂场数据、成亀、标记价栌、快照、配眮等。 | | `/proc` | **指标䞎运行态信息** | 健康状态、PnL、风险、延迟、亀易所限额、已打匀的 websocket。 | | `init`/systemd | **监督进皋** | 启劚暡块、重启、隔犻厩溃、滚劚曎新。 | --- ## 项目目圕结构 ``` ctos/ ├─ README.md # 项目诎明文档 ├─ pyproject.toml # Python项目配眮 ├─ requirements.txt # Python䟝赖包 ├─ environment.yml # Conda环境配眮 ├─ configs/ # 配眮管理目圕 │ ├─ account.yaml # 莊户配眮文件API密钥 │ ├─ account_reader.py # 莊户配眮读取噚 │ ├─ config_reader.py # 通甚配眮读取噚 │ └─ example_usage.py # 配眮䜿甚瀺䟋 ├─ ctos/ # 栞心代码目圕 │ ├─ core/ # 栞心系统暡块 │ │ ├─ kernel/ # 系统内栞 │ │ │ ├─ syscalls.py # 统䞀亀易系统调甚接口 │ │ │ ├─ scheduler.py # 策略调床噚 │ │ │ └─ event_bus.py # 事件总线 │ │ ├─ runtime/ # 运行时系统 │ │ │ ├─ ExecutionEngine.py # 执行匕擎栞心 │ │ │ ├─ SystemMonitor.py # 系统监控噚 │ │ │ ├─ AccountManager.py # 莊户管理噚 │ │ │ ├─ RiskWatcher.py # 风险监控噚 │ │ │ ├─ SignalGenerator.py # 信号生成噚 │ │ │ ├─ DataHandler.py # 数据倄理噚 │ │ │ └─ IndicatorCalculator.py # 指标计算噚 │ │ └─ io/ # 蟓入蟓出暡块 │ │ ├─ logging/ # 日志系统 │ │ ├─ datafeed/ # 数据源接入 │ │ └─ storage/ # 数据存傚 │ └─ drivers/ # 亀易所驱劚 │ ├─ okx/ # OKX亀易所驱劚 │ │ ├─ driver.py # OKX䞻驱劚 │ │ └─ util.py # OKX工具凜数 │ ├─ backpack/ # Backpack亀易所驱劚 │ │ ├─ driver.py # Backpack䞻驱劚 │ │ └─ util.py # Backpack工具凜数 │ └─ binance/ # Binance亀易所驱劚 ├─ apps/ # 应甚层 │ ├─ strategies/ # 亀易策略 │ │ ├─ grid/ # 眑栌策略 │ │ │ └─ Grid-All-Coin.py # 党垁种眑栌策略 │ │ ├─ hedge/ # 对冲策略 │ │ ├─ rank/ # 排名策略 │ │ └─ examples/ # 瀺䟋策略 │ ├─ indicatorVisualization/ # 指标可视化 │ └─ website/ # Web界面 ├─ tools/ # 工具集 ├─ scripts/ # 脚本文件 └─ tests/ # 测试文件 ``` ### 🔥 栞心文件诎明 #### 系统栞心 - **`ctos/core/runtime/ExecutionEngine.py`** - 执行匕擎系统栞心莟莣策略执行和系统调甚 - **`ctos/core/runtime/SystemMonitor.py`** - 系统监控噚莟莣仓䜍监控、匂垞检测和自劚纠正 - **`ctos/core/kernel/syscalls.py`** - 统䞀亀易系统调甚接口屏蔜亀易所差匂 #### 亀易所驱劚 - **`ctos/drivers/okx/driver.py`** - OKX亀易所驱劚支持劚态莊户映射 - **`ctos/drivers/backpack/driver.py`** - Backpack亀易所驱劚支持劚态莊户映射 - **`ctos/drivers/binance/driver.py`** - Binance亀易所驱劚 #### 配眮管理 - **`configs/account.yaml`** - 莊户配眮文件存傚各亀易所API密钥 - **`configs/account_reader.py`** - 莊户配眮读取噚支持劚态莊户管理 #### 亀易策略 - **`apps/strategies/grid/Grid-All-Coin.py`** - 党垁种眑栌策略集成ExecutionEngine - **`apps/strategies/examples/`** - 瀺䟋策略集合 #### 监控䞎日志 - **`ctos/core/io/logging/`** - 日志目圕包含 - `{exchange}_Account{id}_{strategy}_system_monitor.log` - 系统监控日志 - `{exchange}_Account{id}_{strategy}_operation_log.log` - 操䜜日志 - `{exchange}_account{id}_position_backup.json` - 仓䜍倇仜 - `{exchange}_account{id}_anomaly_report.json` - 匂垞报告 --- ## 亀易系统调甚统䞀接口 > 每䞪亀易所的 driver 必须实现这些接口策略通过 ExecutionEngine 调甚 syscall。 ### 🚀 栞心功胜抂览 #### 行情盞关 - **`get_price_now(symbol)`** - 获取最新成亀价 - **`get_orderbook(symbol, level)`** - 获取订单簿bids/asks - **`get_klines(symbol, timeframe, limit, start_time, end_time)`** - 获取K线数据 - **`fees(symbol, limit, offset)`** - 获取资金莹率 #### 亀易盞关 - **`place_order(symbol, side, order_type, size, price=None, **kwargs)`** - 䞋单 - **`revoke_order(order_id, symbol)`** - 撀单 - **`amend_order(order_id, symbol, ...)`** - 改单查单→撀单→䞋单 - **`get_open_orders(symbol=None, instType='SWAP')`** - 获取未完成订单 - **`get_order_status(order_id, keep_origin=False)`** - 查询订单状态 - **`cancel_all(symbol)`** - 撀销指定亀易对党郚订单 #### 莊户/仓䜍 - **`fetch_balance(currency)`** - 获取䜙额支持倚垁种 - **`get_position(symbol=None, keep_origin=False)`** - 获取仓䜍信息 - **`close_all_positions(symbol=None)`** - 平仓所有仓䜍 ### 🔧 执行匕擎功胜 #### ExecutionEngine 栞心方法 - **`place_incremental_orders(amount, coin, side, soft=True)`** - 增量䞋单 - **`set_coin_position(coin, usdt_amount, soft=True)`** - 讟眮垁种仓䜍 - **`_order_tracking_logic(coins, soft_orders_to_focus)`** - 订单远螪逻蟑 #### 系统监控功胜 - **`monitor_positions()`** - 仓䜍监控支持自劚纠正 - **`get_position_summary()`** - 获取仓䜍汇总 - **`get_anomaly_summary()`** - 获取匂垞汇总 - **`start_position_monitoring()`** - 启劚连续监控 ### 📊 支持的亀易所 | 亀易所 | 驱劚文件 | 莊户支持 | 特殊功胜 | |--------|----------|----------|----------| | **OKX** | `drivers/okx/driver.py` | 劚态莊户映射 | 完敎的期莧亀易支持 | | **Backpack** | `drivers/backpack/driver.py` | 劚态莊户映射 | 原生氞续合纊支持 | | **Binance** | `drivers/binance/driver.py` | 基础支持 | 党球最倧亀易所 | ### 🎯 劚态莊户管理 所有亀易所驱劚郜支持通过 `account_id` 参数劚态选择莊户 ```python # 䜿甚䞻莊户 (account_id=0) engine = ExecutionEngine(account=0, exchange_type='okx') # 䜿甚子莊户 (account_id=1) engine = ExecutionEngine(account=1, exchange_type='backpack') # 䜿甚第䞉䞪莊户 (account_id=2) engine = ExecutionEngine(account=2, exchange_type='okx') ``` 莊户映射基于 `configs/account.yaml` 配眮文件 - `account_id=0` → 第䞀䞪莊户通垞是main - `account_id=1` → 第二䞪莊户通垞是sub1 - `account_id=2` → 第䞉䞪莊户通垞是sub2 --- ## 🏗 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ CTOS 系统架构 │ ├────────────────────────────────────────────────────────────── │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ 应甚层 (Apps) │ │ 配眮层 (Config) │ │ 工具层 (Tools) │ │ │ │ │ │ │ │ │ │ │ │ • 眑栌策略 │ │ • 莊户配眮 │ │ • 回测工具 │ │ │ │ • 对冲策略 │ │ • 系统配眮 │ │ • 暡拟噚 │ │ │ │ • 排名策略 │ │ • 密钥管理 │ │ • 可视化 │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ ├────────────────────────────────────────────────────────────── │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 栞心运行时 (Core Runtime) │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ 执行匕擎 │ │ 系统监控 │ │ 莊户管理 │ │ │ │ │ │ExecutionEngine│ │SystemMonitor│ │AccountManager│ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ 风险监控 │ │ 信号生成 │ │ 数据倄理 │ │ │ │ │ │RiskWatcher │ │SignalGenerator│ │DataHandler │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ ├────────────────────────────────────────────────────────────── │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 系统内栞 (Kernel) │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ 系统调甚 │ │ 策略调床 │ │ 事件总线 │ │ │ │ │ │ syscalls │ │ scheduler │ │ event_bus │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ ├────────────────────────────────────────────────────────────── │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 亀易所驱劚 (Drivers) │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ OKX │ │ Backpack │ │ Binance │ │ │ │ │ │ Driver │ │ Driver │ │ Driver │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ ├────────────────────────────────────────────────────────────── │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 数据存傚 (Storage) │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ 日志 │ │ 数据源 │ │ 存傚 │ │ │ │ │ │ Logging │ │ DataFeed │ │ Storage │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ### 🔄 数据流向 1. **策略** → **执行匕擎** → **系统调甚** → **亀易所驱劚** → **亀易所API** 2. **亀易所API** → **亀易所驱劚** → **系统调甚** → **执行匕擎** → **系统监控** 3. **系统监控** → **匂垞检测** → **自劚纠正** → **执行匕擎** → **亀易所驱劚** --- ## 🌟 系统特性 ### 🔥 栞心功胜 - **统䞀亀易接口** - 䞀套API支持OKX、Backpack、Binance䞉倧亀易所 - **劚态莊户管理** - 支持倚莊户切换基于配眮文件自劚映射 - **智胜仓䜍监控** - 基于quantityUSD的粟准监控支持自劚纠正 - **倚绎床匂垞检测** - 价栌、仓䜍、收益、风险党方䜍监控 - **自劚纠正机制** - 检测到匂垞时自劚䞋单纠正 - **完敎日志系统** - 结构化日志、操䜜记圕、匂垞报告 ### 🛡 安党特性 - **风险控制** - 内眮风控暡块支持倚种风险指标监控 - **莊户隔犻** - 倚莊户独立管理避免亀叉圱响 - **操䜜审计** - 完敎的操䜜记圕和匂垞远螪 - **自劚熔断** - 匂垞情况䞋自劚停止亀易 ### 🚀 性胜特性 - **高粟床计算** - 统䞀倄理䞍同亀易所的粟床差匂 - **智胜䞋单** - 自劚倄理价栌和数量粟床蜬换 - **增量亀易** - 支持增量䞋单避免重倍操䜜 - **实时监控** - 支持连续监控和定时任务 --- ### 🎯 CTOS 讟计目标小癜友奜版 1. **匀箱即甚** — 䞀键启劚无需倍杂环境。 👉 新手也胜圚几分钟内跑起第䞀䞪亀易策略。 2. **免写代码** — 内眮垞见策略。 👉 “均倌回園”、“眑栌”、“对冲”䞀条呜什就胜跑䞍䌚猖皋也胜玩。 3. **倚亀易所统䞀接口** 👉 䞀䞪系统同时对接 OKX、Binance、Backpack䞍必重倍孊各种 API。 4. **默讀安党保技** 👉 自垊风控和玧急熔断垮䜠避免新手垞见的倧额亏损。 5. **先暡拟后实盘** 👉 先甚“虚拟资金”训练和测试攟心孊习䞍怕亏钱。 6. **结果可视化** 👉 自劚生成收益、风险、衚现的囟衚报告让䜠䞀県看懂。 7. **埪序析进孊习** 👉 先甚现成策略 → 再改配眮参数 → 最后想孊猖皋时自己写。 --- ## 快速匀始实践流皋 > ⚠ 劂遇眑络连接问题请确保已配眮科孊䞊眑环境以顺利访问亀易所API。 > 💡 眑络或API连通性排查建议可运行 `python scripts/net_probe.py`自劚检测本地到 OKX、Backpack、Binance 等亀易所的眑络连通性、DNS、TLS 及驱劚可甚性并给出诊细诊断和修倍建议。 1. **获取代码** 克隆仓库或䞋蜜暡板 ```bash git clone https://github.com/CryptoFxxker/CTOS.git cd ctos ``` 2. **搭建环境** 建议䜿甚[conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html)配眮䞍圱响原生环境的情况䞋也方䟿适配后续䌚䞊党平台的配眮教皋。圓前支持Linux和windows * Linux 环境䞋 ```bash conda create -n ctos python=3.10 -y conda activate ctos pip install -U pip pip install -r requirements.txt ``` * Windows环境䞋 ```bash conda env create -f environment-win.yml --name ctos ``` 劂需芁讟眮代理将 ```bash cp configs/example_ctos.yaml configs/ctos.yaml ``` 修改需芁的代理IP地址及端口号即可 3. **配眮 API Key** ```bash cp configs/secrets.example.yaml configs/account.yaml ``` 填入 **OKX / Backpack / Binance** 的 API Key > ⚠ 请勿将该文件提亀到 git 3.1 测试甚䟋可选 劂需验证环境和 API Key 配眮是吊正确可运行内眮测试脚本 ```bash python configs/example_usage.py ``` 该脚本䌚自劚对 OKX 和 Backpack 亀易所的䞻流垁种进行䞋单测试并蟓出结果。建议銖次郚眲时先运行确保䞀切正垞。 4. **运行内眮策略** ```bash # 运行党垁种眑栌策略 (这䞪策略可以去看看有介绍只需芁䌚打字就胜跑了。) python apps/strategies/grid/Grid_with_more_gap.py # 或运行其他策略 python apps/strategies/examples/your_strategy.py ``` 策略䌚自劚䜿甚 ExecutionEngine 和 SystemMonitor 进行执行和监控。 6. **回测/重攟@TODO** $真男人就是干回测䞪P!$ 将历史数据攟入 `tools/backtest/`然后 ```bash ./scripts/backtest.sh ``` 结果䌚写入 `var/logs/` 并存傚圚 `var/data/`。 👉 流皋䞀目了然**获取代码 → 安装环境 → å¡« API Key → 配眮 → 实盘䞊线** 7. **暡拟盘** 目前支持OKX暡拟盘暡拟盘API亀易需芁圚暡拟盘䞊创建APIKey **登圕欧易莊户—>亀易—>暡拟亀易—>䞪人䞭心—>创建暡拟盘APIKey—>å¡« API Key->配眮->暡拟盘亀易** 可运行该测试脚本测试 CTOS 所提䟛的 API接口 ```bash python apps/strategies/examples/api_example.py --mode simulate ``` --- ## Roadmap * **v0.1** 系统调甚规范亀易所驱劚OKX/Backpack/Binance骚架运行时调床暡拟亀易 * **v0.2** 统䞀 WebSocket 数据流回测䞎暡拟䞀臎性曎䞰富的风控暡块 * **v0.3** 倚亀易所投资组合净额管理实时容灟热重启曎区的指标䞎甚户界面 * **🎉 里皋碑 12025.09.17** * ✅ 完成了䞀䞪亀易所 API 的统䞀讟计䞎抜象。 * 🚀 圚今倩蟟成重芁里皋碑**基于系统调甚由 AI 自劚化生成的眑栌策略代码** 已完成并经过埮调后正匏䞊线 * 🥂🎊 恭喜䞊线未来可期 * **🎉 里皋碑 22025.09.23** * ✅ 完成了基于quantityUSD的粟准仓䜍监控系统 * ✅ 实现了倚绎床匂垞检测价栌、仓䜍、收益、风险 * ✅ 完成了自劚纠正机制支持仓䜍匂垞自劚修倍 * ✅ 实现了完敎的日志系统和数据持久化 * ✅ 支持OKX、Backpack䞉倧亀易所 * 🚀 系统已具倇生产环境郚眲胜力 * 🥂🎊 恭喜䞊线未来可期 * **🎉 里皋碑 32025.09.27** * ✅ 完成了完敎的量化亀易策略䜓系构建 * ✅ 实现了倚莊户、倚策略的并行运行架构 * ✅ 建立了指数面、蟅助面、新垁流䞉倧策略分类 * ✅ 支持劚态参数调敎和实时监控 * 🚀 策略䜓系已党面䞊线运行 * **🎉 里皋碑 42025.10.11** * ✅ 基于TOPDOGINDEX的䞻力策略圚20251011垁圈倧血掗䞭获利党仓䜍30%以䞊实盘验证效果䞊䜳 * **🎉 里皋碑 52025.10.29** * ✅ 基于OKX暡拟盘功胜的策略实时暡拟功胜䞊线欢迎广倧朋友来基于暡拟盘功胜匀发䞎实机䜓验没有差匂目前只需芁圚ctos/core/runtime/AccountManager.py䞭修改okx的驱劚来源䞺simulateokx即可。todo:后续䌚改进曎加方䟿的功胜争取盎接圚配眮文件标泚即可无猝切换。 ### 🎯 策略栞心特性 - **倚莊户管理**支持倚莊户并行运行䞍同策略 - **劚态参数调敎**实时监控垂场变化自劚调敎策略参数 - **风险控制**每策略独立风控支持熔断和止损 - **实时监控**完敎的日志系统和数据持久化 - **策略蜮换**根据垂场情况自劚切换最䌘策略组合 --- ## 安党䞎合规 * **最小权限**API Key 仅匀通必芁权限提现氞远关闭。 * **密钥安党**䜿甚 `configs/secrets.yaml`未纳入版本控制或系统密钥管理、环境变量。 * **风控䌘先**䞋单检查、熔断、Kill-switch、速率䞎日志留痕。 * **回测可倍现**所有策略蟓入/蟓出䞎行情快照可回攟。 --- ## 讞可䞎免莣声明 * **免莣声明**加密莧垁亀易风险极高。CTOS 仅䜜䞺研究䞎工具框架请自行评䌰风险并承担莣任。 * **License**可自行选择MIT / Apache-2.0 / GPL-3.0圚 `LICENSE` 文件䞭明确。