Surpriver 使用教程
一、项目目录结构及介绍
Surpriver 的目录结构如下:
Surpriver/
├── data/ # 存储原始数据和处理后的数据
│ ├── raw/ # 原始股票数据
│ └── processed/ # 处理后用于分析的数据
├── src/ # 代码源文件
│ ├── features/ # 特征工程相关的代码
│ ├── models/ # 模型训练和应用的代码
│ ├── pipelines/ # 数据预处理流水线
│ ├── utils/ # 工具函数
│ └── main.py # 主执行文件
├── config.yaml # 配置文件
└── requirements.txt # Python依赖包列表
说明:
data
文件夹存储所有数据,分为原始数据(raw
)和处理后的数据(processed
)。src
包含主要的代码逻辑,其中features
负责特征提取,models
用于异常检测模型,pipelines
处理数据流,utils
包含通用函数,而main.py
是入口脚本。config.yaml
是项目配置文件,定义了运行参数。requirements.txt
列出了项目运行所需的Python库。
二、项目的启动文件介绍
启动文件 src/main.py
是 Surpriver 的核心,主要任务包括以下步骤:
- 加载配置:从
config.yaml
文件中读取设置,如股票列表、时间粒度、指标等。 - 数据获取:使用 Yahoo Finance API 获取股票的历史价格和交易量数据。
- 数据预处理:计算技术指标(例如Ease of Movement),并将数据转化为单一特征向量表示。
- 模型初始化:加载或训练Isolation Forest或其他异常检测模型。
- 异常检测:在预处理后的特征上运行模型以识别异常模式。
- 结果输出:将发现的异常结果保存或展示给用户。
要运行该脚本,确保已安装所有依赖并位于项目根目录下,可以使用以下命令:
python src/main.py
三、项目的配置文件介绍
config.yaml
文件控制 Surpriver 的运行参数,通常包含以下几类设置:
stocks:
- AAPL
- GOOGL
# 更多股票代码...
time_granularity: '1h' # 时间粒度,如1分钟('1m'),30分钟('30m'),1小时('1h')等
technical_indicators:
- ease_of_movement
anomaly_detection:
model: 'isolation_forest'
n_estimators: 100 # Isolation Forest 中的树的数量
contamination: 0.05 # 预期的异常比例
output_directory: './results' # 结果保存路径
解释:
stocks
列出要分析的股票代码。time_granularity
设定分析的时间单位。technical_indicators
选择要计算的技术指标。anomaly_detection
定义异常检测模型的参数,如Isolation Forest的参数。output_directory
设置输出结果的目录。
修改这个文件可以自定义你的分析行为,例如添加更多股票,更改时间粒度,或者调整异常检测模型的参数。记得保存改动后再运行项目。