# Financial Analysis 1.0.0

> 金融分析技能 (Financial Analysis Skill)

- Skill: `simplified-reasoning/financial-analysis-1-0-0` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add simplified-reasoning/financial-analysis-1-0-0`
- Raw SKILL.md: https://api.skillmd.com/api/skills/simplified-reasoning/financial-analysis-1-0-0/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: simplified-reasoning (https://skillmd.com/u/simplified-reasoning)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/simplified-reasoning/financial-analysis-1-0-0

---

# 金融分析技能 (Financial Analysis Skill)

## 概述
这是一个用于投资组合分析的技能，支持从免费API获取各类资产行情数据，并提供文字报告和图表可视化。优化版本整合了滚动窗口调仓逻辑和回测功能。

## 功能特性
- ✅ 投资组合分析（资产配置、风险评估、收益分析）
- ✅ 支持多种资产类型：股票、ETF、加密货币等
- ✅ 免费数据源集成
- ✅ 文字报告生成
- ✅ 图表可视化（收益曲线、资产分布、风险指标等）
- ✅ **滚动窗口风险平价分析**（使用历史一年数据，每月调仓）
- ✅ **避免未来数据**（使用expanding窗口计算波动率）
- ✅ **回测功能**（完整的回测流程）

## 数据源
- Yahoo Finance (通过yfinance库)
- Alpha Vantage (免费API)
- Finnhub (免费层)
- CSV文件（中国市场数据）

## 安装依赖
```bash
pip install yfinance pandas numpy matplotlib seaborn plotly
```

## 使用方法

### 1. 基本使用

#### 分析投资组合
```bash
python financial_analysis.py --portfolio example_portfolio.json --output ./output
```

#### 获取单个资产数据
```bash
python financial_analysis.py --symbol AAPL --period 1y
```

### 2. 滚动窗口风险平价分析

#### 运行回测
```bash
python optimized_risk_parity_skill.py --csv "C:\path\to\marketdata.csv" --output ./backtest_output
```

#### 数据格式要求
- CSV文件应包含日期列和收益率列
- 收益率数据应为百分比格式（如：1.5表示1.5%）
- 脚本会自动将百分比转换为实际收益率（除以100）
- 支持处理文本行和缺失值

### 3. 投资组合配置文件格式

创建一个JSON文件（如 `my_portfolio.json`）：

```json
{
  "AAPL": 0.25,    # 苹果股票，权重25%
  "GOOGL": 0.20,   # 谷歌股票，权重20%
  "MSFT": 0.20,    # 微软股票，权重20%
  "AMZN": 0.15,    # 亚马逊股票，权重15%
  "TSLA": 0.20     # 特斯拉股票，权重20%
}
```

## 滚动窗口风险平价分析

### 核心特点
1. **避免未来数据**：使用历史一年数据计算波动率
2. **动态调仓**：每月根据最新波动率重新计算权重
3. **风险平价**：各资产对组合风险贡献相等
4. **回测验证**：完整的回测流程，验证策略效果

### 分析流程
1. **数据加载**：加载CSV数据，处理百分比单位
2. **滚动波动率**：使用expanding窗口计算历史波动率
3. **权重计算**：基于波动率倒数计算风险平价权重
4. **投资组合收益率**：使用滚动权重计算每日收益率
5. **绩效评估**：计算总收益率、年化收益率、夏普比率等
6. **可视化**：生成收益曲线、资产配置、相关性等图表

### 输出文件
- **分析报告**：`rolling_risk_parity_report.txt`
- **详细数据**：`rolling_risk_parity_data.json`
- **可视化图表**：
  - `rolling_risk_parity_returns.png` - 收益曲线图
  - `rolling_risk_parity_allocation.png` - 资产配置饼图
  - `rolling_risk_parity_correlation.png` - 相关性热力图
  - `rolling_asset_returns_comparison.png` - 资产收益对比图
  - `rolling_weight_changes.png` - 滚动权重变化图

## 报告内容
- 投资组合概览
- 收益分析（总收益、年化收益）
- 风险指标（波动率、最大回撤、夏普比率）
- 资产配置分析
- 相关性分析
- 滚动权重变化
- 可视化图表
- 投资建议

## 配置
需要配置API密钥（如使用Alpha Vantage）：
- ALPHA_VANTAGE_API_KEY=your_key_here

## 示例输出
```
中国市场滚动风险平价组合分析报告
============================================================
生成时间: 2026-02-26 10:20:04
数据来源: C:\Users\wu_zhuoran\.openclaw\workspace\data\marketdata.csv
数据时间范围: 2015-03-23 至 2026-02-25
数据点数: 2656
滚动窗口: 252个交易日（约1年）
调仓频率: 每月

平均投资组合配置:
  五年期国债 (TF.CFE): 46.04% (波动率: 2.46%)
  十年期国债 (T.CFE): 32.55% (波动率: 3.61%)
  沪铜 (CU.SHF): 9.33% (波动率: 17.87%)
  沪金 (AU.SHF): 12.09% (波动率: 14.88%)

收益指标:
  总收益率: 44.78%
  年化收益率: 3.57%

风险指标:
  年化波动率: 3.76%
  最大回撤: -9.48%
  夏普比率: 0.42
```

## 技术实现

### 滚动窗口计算
- 使用`expanding()`窗口而非`rolling()`窗口
- 确保不使用未来数据
- 最小窗口大小为252个交易日（约1年）

### 权重计算
- 基于波动率倒数加权：`权重 = (1/波动率) / ∑(1/波动率)`
- 每月调仓，动态调整权重
- 使用前一天的权重计算当日收益率

### 回测验证
- 完整的回测流程
- 避免数据泄露
- 提供详细的绩效指标

## 注意事项
- 确保数据质量，处理缺失值和异常值
- 滚动窗口大小可根据实际情况调整
- 调仓频率可根据市场情况调整
- 考虑交易成本对回测结果的影响

