Files
etf/docs/文档创建规范.md

322 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ETF轮动项目文档创建规范
> 规范版本v1.0
> 制定日期2026-06-21
---
## 1. 文件命名规范
### 1.1 基本格式
```
YYYYMMDD_中文名称.md
```
- **日期来源**文档首次创建的git提交日期
- **命名原则**:日期前缀 + 简洁中文描述
- **禁止字符**:空格、特殊符号(除 `_``-`
### 1.2 命名示例
| 类型 | 示例 |
|------|------|
| 分析报告 | `20260607_select_num_1深度分析.md` |
| 调研报告 | `20260606_动量因子对比调研.md` |
| 实验记录 | `20260617_010_起始年份敏感性分析.md` |
| 架构设计 | `20260507_通用数据源架构.md` |
| 核心逻辑 | `20260430_轮动策略核心逻辑.md` |
| 版本迭代 | `20260519_轮动策略核心逻辑_v3.md` |
### 1.3 特殊场景
- **实验编号**experiments目录下保留编号前缀格式 `YYYYMMDD_编号_名称.md`
- **版本号**:迭代版本在末尾加 `_vN`,如 `_v2``_v3`
- **Git标识**阶段性总结可带commit hash`_ca933e4`
---
## 2. 文档分类与头部格式
### 2.1 分析报告类
**适用场景**:策略分析、回测分析、深度分析
**头部格式**
```markdown
# [报告标题]
> 分析日期YYYY-MM-DD
> 策略版本:[配置文件/代码版本说明]
> 回测区间YYYY-MM-DD ~ YYYY-MM-DD约 N 个交易日)
## 1. [章节标题]
...
```
**必填字段**
- 分析日期:文档创建日期
- 策略版本:基于的配置文件或代码版本
- 回测区间:数据时间范围
---
### 2.2 调研报告类
**适用场景**:技术调研、因子调研、文献综述
**头部格式**
```markdown
# [调研标题]
> 调研日期YYYY-MM-DD
> 回测区间YYYY-MM-DD ~ YYYY-MM-DD可选
> 当前结论:[核心发现摘要]
---
## 1. [章节标题]
...
```
**必填字段**
- 调研日期:文档创建日期
**可选字段**
- 回测区间:如有回测实验
- 当前结论:调研核心发现
---
### 2.3 实验记录类experiments目录
**适用场景**:对比实验、参数优化、敏感性分析
**头部格式**
```markdown
# 实验记录 XXX: [实验名称]
## 实验信息
| 项目 | 内容 |
|------|------|
| 实验编号 | XXX |
| 实验日期 | YYYY-MM-DD |
| 实验类型 | [类型分类] |
| 研究问题 | [问题描述] |
| 配置文件 | `[配置路径]` |
| 实验脚本 | `[脚本路径]` |
---
## 1. 实验背景
...
```
**必填字段**
- 实验编号:三位数字,如 001、010
- 实验日期:文档创建日期
- 实验类型:如"参数优化"、"对比实验"、"敏感性分析"
- 研究问题:一句话描述研究目标
- 配置文件:使用的配置文件路径
- 实验脚本:运行的脚本路径
---
### 2.4 技术架构类
**适用场景**:系统架构、模块设计、接口说明
**头部格式**
```markdown
# [模块名称] - 架构设计
## 设计目标
[设计目标描述]
## 整体架构
[架构图或说明]
...
```
**说明**:架构类文档以设计目标开篇,无需元信息块
---
### 2.5 核心逻辑类
**适用场景**:策略核心逻辑、算法说明、版本迭代
**头部格式**
```markdown
# [策略名称]核心逻辑 [版本号]
## 📊 策略概览
[策略概述]
---
## [章节标题]
...
```
**说明**
- 使用emoji增强章节可读性
- 版本迭代文档需包含版本对比章节
---
### 2.6 阶段性总结类strategy_summaries目录
**适用场景**:策略阶段总结、版本快照
**头部格式**
```markdown
# [策略名称]阶段总结
> **生成日期**YYYY-MM-DD
> **Git Commit**`commit_hash`
> **复现方式**`git checkout xxx` 后运行 `[脚本路径]`
---
## 1. 策略概述
...
```
**必填字段**
- 生成日期:快照生成日期
- Git Commit代码版本hash
- 复现方式:如何复现该版本的完整命令
---
## 3. Git可复现性规范
### 3.1 核心原则
> **所有实验、分析结果必须可通过Git历史精确复现**
### 3.2 必须记录的信息
| 信息类型 | 记录位置 | 示例 |
|----------|----------|------|
| 配置文件 | 元信息块 | `config_simple.yaml` |
| 代码版本 | 元信息块或正文 | `ca933e4` |
| 实验脚本 | 实验信息表 | `rotation/simple_rotation.py` |
| 数据范围 | 元信息块 | `2020-01-10 ~ 2026-06-05` |
### 3.3 复现命令示例
```bash
# 切换到指定版本
git checkout ca933e4
# 运行实验脚本
python rotation/simple_rotation.py --config rotation/config_simple.yaml
```
---
## 4. 内容结构规范
### 4.1 章节编号
- 主章节:`## 1.``## 2.``## 3.`
- 子章节:`### 1.1``### 1.2`
- 段落要点:使用有序或无序列表
### 4.2 分隔线使用
- 元信息块与正文之间:使用 `---` 分隔
- 不同主题章节之间:可选使用 `---` 分隔
### 4.3 表格格式
```markdown
| 列名1 | 列名2 | 列名3 |
|------|------|------|
| 内容1 | 内容2 | 内容3 |
```
- 表头使用粗体或自然加粗
- 内容左对齐,数值列可右对齐
### 4.4 代码块格式
```markdown
```python
# 代码示例
def example():
pass
\```
```
- 指定语言类型
- 关键代码需有注释说明
---
## 5. 文档存放目录
### 5.1 目录结构
```
docs/
├── YYYYMMDD_文档名称.md # 通用文档
├── experiments/ # 实验记录
│ └── YYYYMMDD_XXX_实验名称.md
├── strategy_summaries/ # 阶段性总结
│ └── YYYYMMDD_策略快照_hash.md
└── 文档创建规范.md # 本规范文档(例外:无日期前缀)
```
### 5.2 目录选择原则
| 文档类型 | 存放目录 |
|----------|----------|
| 策略分析、调研报告 | docs/ |
| 实验记录、对比测试 | docs/experiments/ |
| 策略阶段总结、版本快照 | docs/strategy_summaries/ |
---
## 6. 例外情况
### 6.1 规范文档本身
- 规范文档不使用日期前缀
- 文件名:`文档创建规范.md`
### 6.2 README文件
- 目录说明文件命名为 `README.md`
- 无需日期前缀
### 6.3 从其他位置迁移的文档
- 如无法确定原始创建日期,使用迁移日期
- 在元信息中注明"迁移自[原位置]"
---
## 7. 检查清单
创建新文档时,确认以下事项:
- [ ] 文件名符合 `YYYYMMDD_中文名称.md` 格式
- [ ] 头部元信息完整(根据文档类型)
- [ ] Git可复现信息已记录commit hash、配置文件、脚本路径
- [ ] 存放在正确的目录
- [ ] 章节编号规范
- [ ] 代码块指定语言类型
- [ ] 分隔线使用恰当