gitee.com/quant1x/engine@v1.8.4/README.md (about)

     1  Quant1X-Engine
     2  ===
     3  
     4  量化交易(数据类)引擎
     5  
     6  ## 1. 设计原则
     7  - 更新历史数据,盘后更新历史数据
     8  - 回补历史数据,对于新增特征组合或者因子要能回补历史数据,以便回测
     9  - 盘中更新数据,盘中决策很重要,特征组合要有根据5档行情即时数据进行增量计算的能力
    10  - 缓存数据必须具备按照日期切换的功能
    11  
    12  ## 2. 模块划分
    13  
    14  | 级别 | 模块       | 功能        | 盘中更新数据 | 更新当日数据 | 回补历史数据 |
    15  |:---|:---------|:----------|:-------|:-------|:-------|
    16  | 0  | cache    | 数据缓存      | [ √ ]  | [ √ ]  | [ √ ]  |
    17  | 0  | datasets | 数据集, 基础数据 | [ X ]  | [ √ ]  | [ √ ]  |
    18  | 0  | factors  | 量化因子      | [ X ]  | [ √ ]  | [ √ ]  |
    19  | 0  | features | 特征        | [ X ]  | [ √ ]  | [ √ ]  |
    20  | 0  | tracker  | 回测        | [ X ]  | [ X ]  | [ X ]  |
    21  
    22  ## 3. 使用示例
    23  
    24  ### 3.1 更新数据
    25  
    26  ```shell
    27  engine update --all
    28  ```
    29  
    30  ### 3.2 补登历史特征数据
    31  
    32  ```shell
    33  engine repair --history --start=20230101
    34  ```
    35  
    36  ### 3.3 执行1号策略
    37  
    38  ```shell
    39  engine --strategy=1
    40  ```
    41  
    42  ## 4. 协同开发
    43  
    44  ### 4.1 git仓库规则
    45  
    46  #### 4.1.1 分支规则
    47  
    48  主库的分支分 ***master分支*** 和 ***子版本分支***
    49  
    50  | 级别 | 分类                | 说明     | 示例                  | 
    51  |:---|:------------------|:-------|:--------------------|
    52  | 0  | master            | 主线版本分支 |                     |
    53  | 1  | {Major}.{Minor}.x | 子版本分支  | 主版本1,子版本2, 分支为1.2.x |
    54  
    55  #### 4.1.2 tag规则
    56  
    57  - tag只有一条, 小写字母v开头, 然后依次是主版本号、子版本号和修订版本号, 中间用“.”分隔。
    58  - 格式:
    59  
    60  ```shell
    61  v${Major}.${Minor}.${Revision}
    62  ```
    63  
    64  ### 4.2 约定
    65  
    66  | 级别 | 分类  | 单项           | 说明                                                                                             | 示例                                                   | 
    67  |:---|:----|:-------------|:-----------------------------------------------------------------------------------------------|:-----------------------------------------------------|
    68  | 0  | 关键词 | securityCode | 完整的证券代码,格式:{MARKET_ID}{CODE}                                                                   | 上证指数: sh000001</br>永鼎股份: sh600105</br>鼎汉技术: sz300011 |
    69  | 0  | 关键词 | date         | 字符串类型的日期, 代表当前处理的日期, 可以是常见的任何格式, 默认为YYYY-MM-DD                                                 | 2023-10-16                                           |
    70  | 0  | 关键词 | cacheDate    | 数据的缓存日期, 可以是常见的任何格式, 默认为YYYY-MM-DD                                                             | 2023-10-16                                           |
    71  | 0  | 关键词 | featureDate  | 数据的特征日期, 可以是常见的任何格式, 默认为YYYY-MM-DD。cacheDate代表的是缓存文件, featureDate代表的是数据, 大多数的情况下, 前者是后者的下一个交易日 | 2023-10-16                                           |
    72  
    73  ### 4.3 协同开发流程
    74  
    75  - fork项目到自己的git仓库
    76  - 先提issue, 再实现、测试
    77  - 提交PR
    78  - PR审核, 不通过, 驳回
    79  - PR审核, 通过, 按照不同的issue级别, 合并当前次级版本分支, 并发布版本
    80  
    81  ### 4.4 开发中的问题
    82  
    83  - go test won't build: Call has possible formatting directive, 出现这个问题是因为test时会进行vet校验, 关闭(-vet=off)即可