# smartquant **Repository Path**: pustian/smartquant ## Basic Information - **Project Name**: smartquant - **Description**: 量化交易框架 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-26 - **Last Updated**: 2024-12-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 目录结构如下 ```bash ├── data ├── resources └── sources ├── brokerage │   ├── backtest │   └── ctp │   ├── api -> v6.7.2_20230913_linux64-utf8 │   ├── docs │   └── v6.7.2_20230913_linux64-utf8 ├── common │   ├── data │   │   └── entity │   │   └── test │   └── utils │   └── test ├── service └── strategy ``` sources 保存代码 data 保存数据 resources 各种参考资料 FQA: sources/brokerage/ctp/v6.7.2_20230913_linux64-utf8 这个目录是下载的api包转换字符格式后的代码 sources/brokerage/ctp/api 是 sources/brokerage/ctp/v6.7.2_20230913_linux64-utf8 的软连接 ```bash # 以下脚步将转换字符从gbk转为utf8格式避免乱码 #!/bin/bash # bash gbk2utf8.sh v6.7.2_20230913_api_traderapi_se_linux64/ basedir=$1 for header in `ls $basedir/*.h` do headerfile=`basename $header` echo "$header => utf8/$headerfile " iconv -f gbk -t UTF-8 $header -o utf8/$headerfile done for error in `ls $basedir/error.*` do errorfile=`basename $error` echo "$error => utf8/$errorfile " iconv -f gbk -t UTF-8 $error -o utf8/$errorfile done for cppsource in `ls $basedir/*.cpp` do cppsourcefile=`basename $cppsource` echo "$cppsource => utf8/$cppsourcefile " iconv -f gbk -t UTF-8 $cppsource -o utf8/$cppsourcefile done ``` CMakefile.txt 中ctp 需要手工建立软连接 到 `/usr/local/lib`下 ```bash sudo ln -s thostmduserapi_se.so libmduserapi.so sudo ln -s thosttraderapi_se.so libtraderapi.so # 确认 `/etc/ld.so.conf.d` 目录下添加过 `/usr/local/lib` # 否则 echo '/usr/local/lib' liblocal.conf sudo mv liblocal.conf /etc/ld.so.conf.d sudo ldconfig ``` ------ 代码规范: 仅限自身代码,引用的外部接口遵循原有的命名规范 小写驼峰命名 类名使用大写 step1: 1. datafeed brokerage 市场数据,和交易连接 单机版本 增加回侧 1.1 ctpdatafeed OK 1.2 ctpbrokerage ing 增加事件引擎调用框架, 事件可以升级到微服务版本部署 增加风险控制 增加策略 UI