#!/bin/bash
#
# 技术策略调研环境初始化脚本
# 张飞 创建于 2026-03-22
#
# 功能：创建调研目录结构，准备好开发环境
# 用法：./setup_research_env.sh
#

set -e

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

echo "${YELLOW}=========================================${NC}"
echo "${YELLOW}  技术策略调研环境初始化${NC}"
echo "${YELLOW}=========================================${NC}"

# 1. 创建目录结构
echo "\n${GREEN}1. 创建目录结构...${NC}"
mkdir -p technical-strategy/{01-reports,02-algorithms,03-data,04-experiments,05-references,scripts}
mkdir -p technical-strategy/03-data/raw
mkdir -p technical-strategy/03-data/processed
mkdir -p technical-strategy/04-experiments/exp01-factor-test
mkdir -p technical-strategy/04-experiments/exp02-strategy-test
mkdir -p technical-strategy/05-references/papers
mkdir -p technical-strategy/05-references/code

echo "${GREEN}   目录结构创建完成${NC}"

# 2. 创建基础文档
echo "\n${GREEN}2. 创建基础文档...${NC}"

# README
cat > technical-strategy/README.md << 'EOF'
# 技术策略调研研究

基于A股市场的技术分析选股和策略研究

## 目录结构

```
01-reports/             # 报告文档
├── RESEARCH_OUTLINE.md         # 调研大纲
├── TECHNICAL_STOCK_PICKING.md  # 技术选股方法调研
├── 01-data-preparation.md      # 数据准备报告
├── 02-factor-research.md        # 技术因子研究报告
├── 03-strategy-design.md        # 算法策略设计
├── 04-empirical-test.md         # 实证验证报告
└── FINAL_REPORT.md             # 最终调研报告

02-algorithms/            # 算法实现
├── high_frequency_signal.py    # 高频信号生成 ✅
├── benchmark_test.py           # 性能基准测试 ✅
├── factor_calculator.py        # 因子计算器
├── strategy_ma.py              # 均线策略
├── strategy_macd.py            # MACD策略
├── strategy_mean_reversion.py  # 均值回归策略
└── backtest_engine.py         # 回测引擎

03-data/               # 研究数据
├── raw/                # 原始数据
├── processed/         # 处理后数据
├── factor_performance.csv      # 因子绩效数据
└── strategy_performance.csv     # 策略绩效数据

04-experiments/        # 实验记录
├── exp01-factor-test/    # 因子测试实验
└── exp02-strategy-test/  # 策略测试实验

05-references/         # 参考资料
├── papers/            # 研究论文
└── code/              # 参考代码

scripts/             # 脚本
├── setup_research_env.sh       # 环境初始化脚本 ✅
└── run_backtest.sh             # 批量回测脚本

README.md            # 本文档
```

## 调研进度

| 阶段 | 任务 | 状态 | 完成时间 |
|------|------|------|----------|
| 大纲 | 调研大纲 | ✅ | 2026-03-21 |
| 选股方法 | 技术分析选股方法调研 | ✅ | 2026-03-21 |
| 数据准备 | 获取和整理数据 | 🔄 |  |
| 因子研究 | 技术因子实证 | ⏳ |  |
| 策略设计 | 算法策略设计 | ⏳ |  |
| 实证测试 | 回测验证 | ⏳ |  |
| 最终报告 | 完整调研报告 | ⏳ |  |

## 使用说明

### 初始化环境
```bash
./scripts/setup_research_env.sh
```

### 运行回测
```bash
./scripts/run_backtest.sh [experiment_name]
```

## 负责人
张飞
EOF

echo "${GREEN}   README.md created${NC}"

# 初始化空的实验报告
cat > technical-strategy/01-reports/01-data-preparation.md << 'EOF'
# 数据准备报告

**负责人**：张飞  
**日期**：2026-03-22  
**状态**：🔄 进行中

---

## 内容提要
EOF

cat > technical-strategy/01-reports/02-factor-research.md << 'EOF'
# 技术因子实证研究报告

**负责人**：张飞  
**日期**：2026-03-22  
**状态**：⏳ 待开始

---

## 内容提要
EOF

cat > technical-strategy/01-reports/03-strategy-design.md << 'EOF'
# 算法策略设计报告

**负责人**：张飞  
**日期**：2026-03-22  
**状态**：⏳ 待开始

---

## 内容提要
EOF

cat > technical-strategy/01-reports/04-empirical-test.md << 'EOF'
# 实证验证报告

**负责人**：张飞  
**日期**：2026-03-22  
**状态**：⏳ 待开始

---

## 内容提要
EOF

cat > technical-strategy/01-reports/FINAL_REPORT.md << 'EOF'
# 最终调研报告：A股技术分析选股有效性研究

**负责人**：张飞  
**开始日期**：2026-03-21  
**完成日期**：-  
**状态**：⏳ 待完成

---

## 内容提要
EOF

echo "${GREEN}   报告模板创建完成${NC}"

# 创建批量回测脚本
cat > technical-strategy/scripts/run_backtest.sh << 'EOF'
#!/bin/bash
#
# 批量回测运行脚本
# 用法：./run_backtest.sh [experiment_name]
#

set -e

EXPERIMENT=$1

if [ -z "$EXPERIMENT" ]; then
    echo "Usage: $0 <experiment_name>"
    echo "Available experiments:"
    ls -la technical-strategy/04-experiments/
    exit 1
fi

echo "Starting backtest experiment: $EXPERIMENT"
echo "Working directory: $(pwd)"

# 激活虚拟环境（如果存在）
if [ -d "../../venv" ]; then
    source ../../venv/bin/activate
    echo "Virtual environment activated"
fi

# 运行回测
python3 technical-strategy/04-experiments/$EXPERIMENT/run.py

echo "\nBacktest completed: $EXPERIMENT"
EOF

chmod +x technical-strategy/scripts/*.sh

echo "\n${GREEN}✅ 环境初始化完成${NC}"
echo "\n${YELLOW}目录结构：${NC}"
find technical-strategy -type d | sort
echo "\n${GREEN}下一步：准备数据，开始因子研究${NC}"
