SkillAgentSearch skills...

CTOS

Crypto Trading Operating System) with a clean, Linux‑inspired layout that treats each exchange (OKX / Backpack / Binance) as its own “arch”

Install / Use

/learn @CryptoFxxker/CTOS
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

🌐 Languages: English | 中文 | 日本語 | 한국어

CTOS:加密交易操作系统(借鉴 Linux 设计理念)

范围: 面向中心化交易所(CEX)的量化交易(初期支持 OKX、Backpack、Binance)。 设计说明: CTOS 借鉴了 Linux 的理念(架构 arch、驱动 driver、系统调用 syscall、调度器 scheduler、进程 processes),但并非完全复制,而是有选择地吸收适合于构建健壮、可组合、可移植的交易系统的思想。

为什么是 CTOS?

  • 可移植性: 通过 统一的交易系统调用(syscall) 屏蔽不同交易所的差异。
  • 可组合性: 策略 = “进程”;交易所适配器 = “驱动”;每个交易所 = “架构”。
  • 可靠性: 内核 / 运行时 / 驱动 的分层设计提高了可测试性与安全性。
  • 可观测性: 结构化日志、指标和可复现的回测能力。
  • 高鲁棒性 对齐了所有交易所的下单价格与数量精度,指定金额下单,自动转化,全程无忧。

📚 目录

可点击上方目录快速跳转到对应章节。


概念映射(Linux → CTOS)

| Linux 概念 | CTOS 对应 | 说明 | | -------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | arch/ | 交易所架构 (drivers/okx, drivers/binance, drivers/backpack) | 每个交易所一个文件夹,隔离 REST / WS / 签名 / 规格实现。 | | 设备驱动 | 交易所驱动 | REST/WS 客户端、签名器、符号映射、功能开关。 | | 系统调用 | 交易系统调用 | place_ordercancel_orderamend_orderbalancespositionssubscribe_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 参数动态选择账户:

# 使用主账户 (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    │    │ │
│  │  └─────────────┘  └─────────────┘  └─────────────┘    │ │
│  └─────────────────────────────────────────────────────────┘ │

Related Skills

View on GitHub
GitHub Stars22
CategoryDevelopment
Updated2mo ago
Forks7

Languages

Python

Security Score

75/100

Audited on Feb 1, 2026

No findings