# quant **Repository Path**: adtle123/quant ## Basic Information - **Project Name**: quant - **Description**: okx 选合约,简单实用EMA20 选取 - **Primary Language**: Python - **License**: ISC - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-06 - **Last Updated**: 2026-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OKX 量化选币工具 基于 K 线形态和技术指标筛选 OKX 永续合约的工具。 ## 环境准备 ### 1. 创建 conda 环境 ```bash conda activate okx ``` ### 2. 安装依赖 ```bash pip install python-okx pandas tqdm ``` ### 3. 安装 TA-Lib TA-Lib 需要先安装 C 语言库,再安装 Python 包: - macOS: `brew install ta-lib && pip install TA-Lib` - 其他系统参考: https://blog.csdn.net/zero33325/article/details/125226858 ### 4. 修改 okx 包获取成交量数据 `python-okx` 默认的标记价格K线接口不返回成交量,需要手动 patch: 找到 okx 包的 `consts.py` 文件: ```bash python -c "import okx; print(okx.__file__)" ``` 将其中的: ```python MARKPRICE_CANDLES = '/api/v5/market/mark-price-candles' ``` 改为: ```python MARKPRICE_CANDLES = '/priapi/v5/market/history-candles' ``` > 注意:每次升级 `python-okx` 后需要重新 patch 这个文件。 ## 运行 ```bash conda activate okx cd pick && python pick_trend_align.py ``` ## 踩坑记录 | 问题 | 原因 | 解决 | |------|------|------| | `ModuleNotFoundError: No module named 'okx.PublicData'` | `python-okx` 版本过旧或未安装 | `pip install --upgrade python-okx` | | `AttributeError: _ARRAY_API not found` | `bottleneck` 与 `pandas`/`numpy` 版本不兼容 | `pip install --upgrade pandas bottleneck` | | `ValueError: 9 columns passed, passed data had 6 columns` | 未 patch `consts.py`,接口返回6列无成交量数据 | 按上方说明修改 `MARKPRICE_CANDLES` | | 代理连接失败 | 本地代理未启动 | 确保 `127.0.0.1:7890` HTTP 代理可用 |