# XCQuant **Repository Path**: xpp/xcquant ## Basic Information - **Project Name**: XCQuant - **Description**: XCQuant - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-17 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XCQuant - 量化交易系统 XCQuant 是一个功能完整的量化交易系统,支持多种交易策略、多交易所接入、模拟盘/实盘交易和回测功能。 ## 🚀 核心功能 ### 1. 交易策略 - **网格交易策略** - 支持现货和合约交易,自动网格布局和动态调整 - **资金费率策略** - 支持合约现货对冲,自动套利资金费率差价 ### 2. 交易模式 - **模拟盘交易** - 无风险测试策略,模拟真实交易环境 - **实盘交易** - 连接真实交易所,执行实际交易 - **回测系统** - 基于历史数据验证策略效果 ### 3. 数据管理 - **多交易所支持** - OKX、Binance等主流交易所 - **数据下载** - 批量下载历史数据,支持断点续传 - **数据缓存** - 智能缓存机制,提高数据访问效率 ## 📋 功能特性 ### ✅ 核心功能 - 🔄 数据获取与存储(支持Parquet和CSV格式) - 🏪 交易所接口(OKX、币安统一API) - 📊 网格交易策略(现货/合约,动态调整,止损保护) - 💼 账户管理(现货/合约账户统一管理) - 📝 订单管理(完整生命周期管理) - 📈 实时监控(Rich界面,多面板显示) ### 🎯 策略支持 - **网格交易策略**:支持现货和合约,自动网格生成,动态价格调整 - **止损保护**:可配置止损比例,风险控制 - **多时间周期**:支持1m、5m、15m、30m、1h、4h、1d等周期 ### 🔧 技术架构 - **配置管理**:YAML配置文件,支持敏感信息加密 - **日志系统**:多级别日志,自动文件分割 - **数据缓存**:LRU缓存机制,提高访问速度 - **异常处理**:完整的异常处理和恢复机制 ## 🚀 快速开始 ### 环境要求 - Python 3.8+ - 操作系统:Windows、macOS、Linux ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 配置设置 1. 复制配置文件模板: ```bash cp config.yaml.template config.yaml ``` 2. 编辑配置文件,填入交易所API信息: ```yaml exchanges: okx: api_key: "your_okx_api_key" secret_key: "your_okx_secret_key" passphrase: "your_okx_passphrase" testnet: false binance: api_key: "your_binance_api_key" secret_key: "your_binance_secret_key" testnet: true ``` ### 运行策略 ```bash python run_strategy.py ``` ## 📁 项目结构 ``` xcquant/ ├── core/ # 核心模块 │ ├── config.py # 配置管理 │ ├── logger.py # 日志系统 │ └── exceptions.py # 异常定义 ├── data/ # 数据模块 │ ├── data_manager.py # 数据管理器 │ ├── data_storage.py # 数据存储 │ ├── data_fetcher.py # 数据获取 │ └── data_cache.py # 数据缓存 ├── exchanges/ # 交易所模块 │ ├── base_exchange.py # 交易所基类 │ ├── okx_adapter.py # OKX适配器 │ └── binance_adapter.py # 币安适配器 ├── strategies/ # 策略模块 │ ├── base_strategy.py # 策略基类 │ └── grid_strategy.py # 网格策略 ├── trading/ # 交易模块 │ ├── order_manager.py # 订单管理 │ ├── account_manager.py # 账户管理 │ ├── live_trading.py # 实盘交易 │ └── paper_trading.py # 模拟交易 ├── monitor/ # 监控模块 │ ├── monitor.py # 监控器 │ └── notifier.py # 通知器 ├── risk/ # 风险控制 │ ├── position_manager.py # 仓位管理 │ ├── risk_controller.py # 风险控制 │ └── stop_loss_manager.py # 止损管理 └── backtest/ # 回测模块 ├── backtest_engine.py # 回测引擎 ├── performance_analyzer.py # 绩效分析 └── visualizer.py # 可视化 ``` ## 🔧 使用示例 ### 创建网格策略 ```python from xcquant.strategies.grid_strategy import GridStrategy # 策略配置 config = { 'name': 'btc_grid', 'symbol': 'btc-usdt', 'exchange': 'okx', 'type': 'spot', 'grid_count': 10, 'single_grid_amount': 100.0, 'stop_loss_ratio': 0.05 } # 创建策略实例 strategy = GridStrategy(config, exchange_adapter, order_manager, account_manager, data_manager) # 启动策略 strategy.start() ``` ### 监控系统 ```python from xcquant.monitor.monitor import Monitor # 创建监控器 monitor = Monitor(update_interval=5) # 启动监控 monitor.start() ``` ## 📊 监控界面 系统提供实时监控界面,包含: - **策略状态**:运行状态、盈亏情况、订单统计 - **账户信息**:现货/合约余额、持仓情况 - **订单监控**:最近订单、成交状态 - **系统信息**:性能指标、运行统计 ## 🧪 测试 运行完整测试套件: ```bash # 运行所有测试 pytest tests/ # 运行特定模块测试 pytest tests/test_strategies.py pytest tests/test_core_modules.py pytest tests/test_integration_simple.py pytest tests/test_monitoring.py pytest tests/test_performance.py pytest tests/test_security.py pytest tests/test_stress.py # 生成覆盖率报告 pytest --cov=xcquant --cov-report=html tests/ ``` ## ⚠️ 风险提示 1. **投资风险**:量化交易存在亏损风险,请谨慎投资 2. **API安全**:妥善保管API密钥,建议使用只读或交易权限 3. **网络环境**:确保网络连接稳定,建议使用VPS部署 4. **资金管理**:建议先在测试环境验证策略有效性 ## 🔒 安全建议 - 使用子账户进行交易,限制资金规模 - 定期更换API密钥 - 启用IP白名单限制 - 设置合理的止损比例 - 监控策略运行状态 ## 📈 性能优化 - 使用SSD存储提高数据读写速度 - 配置足够的内存用于数据缓存 - 使用稳定的网络连接 - 定期清理历史日志文件 ## 🤝 贡献指南 欢迎提交Issue和Pull Request来改进项目: 1. Fork项目 2. 创建功能分支 3. 提交更改 4. 发起Pull Request ## 📄 许可证 本项目采用MIT许可证,详见LICENSE文件。 ## 📞 联系方式 如有问题或建议,请通过以下方式联系: - 提交GitHub Issue - 发送邮件至项目维护者 --- **免责声明**:本框架仅供学习和研究使用,使用者需自行承担交易风险。作者不对任何投资损失负责。