项目简介
本项目基于CTP API v6.6.1在Linux系统下实现期货行情数据的获取与分析。通过重写API接口按需获取期货行情数据,提高了行情获取效率。系统将实时接收的行情数据精准记录到本地文件进行存储和处理。
项目的主要特性和功能
- 实时获取与解析期货行情数据,调用CTP API接口与期货行情服务器连接和交互,接收合约信息、行情报价等数据。
- 采用
pthread
实现双线程结构,api_handler
线程处理API回调结果,md_parser
线程解析数据并写入本地文件,减少回调函数延迟,提高解析效率。 - 接收行情数据时记录本地系统时间,确保数据的时序性和准确性。
- 具备自动重连和登录功能,在网络不稳定或服务器断开时保证持续的数据获取。
- 将接收到的行情数据写入本地CSV文件,不同合约的解析结果分别存储在不同的CSV文件中。
安装使用步骤
步骤一:配置环境
确保操作系统为Linux(如Ubuntu 18.04LTS),安装gcc
和g++
等编译工具,安装Docker简化构建过程。
步骤二:解压源代码并导航到项目目录
解压缩源码文件到当前目录,进入src
目录进行编译操作。
步骤三:修改配置文件
在src
目录下的main.cpp
文件中修改经纪商代码、投资者账户名和密码等配置信息,示例如下:
c++
TThostFtdcBrokerIDType gBrokerID = "9999"; // 模拟经纪商代码
TThostFtdcInvestorIDType gInvesterID = "12345"; // 投资者账户名
TThostFtdcPasswordType gInvesterPassword = "abcdefg"; // 投资者密码
步骤四:编译和运行代码
- 构建Docker容器:
bash docker build -f marketdata.Dockerfile -t marketdata . docker run -it --privileged=true --mount type=bind,source=.,target=/opt/marketdata marketdata bash
- 进入容器并编译代码:
bash cd /opt/marketdata/ make clean make
- 运行程序:
bash ./test
步骤五:查看日志和结果
程序运行后会在指定目录下生成CSV格式的行情数据文件,可通过日志和CSV文件查看结果。
步骤六:分析和处理数据
使用Python等工具对CSV数据进行处理和分析,以获取所需信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】