基金换仓建议 - 基金组合再平衡与调仓建议工具。 当用户需要调整基金组合、再平衡资产配置、换仓优化、检测偏离度时使用此技能。 支持偏离度检测、再平衡时机建议、换仓标的推荐、交易成本优化、税务影响分析。 触发关键词:换仓、再平衡、调仓、偏离度、组合调整、换基金、调配置。
Scanned 9/7/2026
Install to Claude Code
npx -y skills add aifinlab/FinClaw --skill fund-rebalance-advisor --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fund Rebalance Advisor?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aifinlab-fund-rebalance-advisor)More formats (shields.io, HTML) on the badges page.
---
name: fund-rebalance-advisor
description: |
基金换仓建议 - 基金组合再平衡与调仓建议工具。
当用户需要调整基金组合、再平衡资产配置、换仓优化、检测偏离度时使用此技能。
支持偏离度检测、再平衡时机建议、换仓标的推荐、交易成本优化、税务影响分析。
触发关键词:换仓、再平衡、调仓、偏离度、组合调整、换基金、调配置。
---
# 基金换仓建议 (Fund Rebalance Advisor)
基金组合再平衡与调仓建议工具,帮助用户优化基金组合配置。
## 功能概述
- **偏离度检测**: 检测组合配置偏离目标程度
- **再平衡时机**: 判断是否需要再平衡
- **换仓建议**: 推荐换仓标的和方案
- **成本优化**: 最小化交易成本和税务影响
- **路径规划**: 分批调仓建议
- **模拟回测**: 模拟换仓效果
## 使用方法
### 命令行调用
```bash
# 检测偏离度
fund-rebalance --check --portfolio portfolio.json
# 生成换仓建议
fund-rebalance --advise --current current.json --target target.json
# 模拟换仓
fund-rebalance --simulate --portfolio portfolio.json --changes changes.json
```
### Python API
```python
from fund_rebalance_advisor import RebalanceAdvisor
advisor = RebalanceAdvisor()
# 检测偏离度
deviation = advisor.check_deviation(current_portfolio, target_allocation)
# 生成建议
advice = advisor.generate_advice(
current_portfolio=current,
target_allocation=target,
constraints={'tax_threshold': 1000}
)
```
## 偏离度计算
```
偏离度 = |当前权重 - 目标权重| / 目标权重
触发条件:
- 偏离度 > 5%: 建议关注
- 偏离度 > 10%: 建议再平衡
- 偏离度 > 20%: 强烈建议再平衡
```
## 再平衡策略
### 1. 阈值再平衡
当任一资产偏离度超过设定阈值时触发。
| 阈值 | 适用场景 | 特点 |
|:---|:---|:---|
| 3% | 高精度要求 | 频繁调整,交易成本高 |
| 5% | 一般情况 | 平衡型选择 |
| 10% | 低频率 | 减少交易,容错空间大 |
### 2. 定期再平衡
按固定周期进行再平衡。
| 周期 | 适用场景 |
|:---|:---|
| 月度 | 波动大的组合 |
| 季度 | 一般组合 |
| 年度 | 长期持有组合 |
### 3. 现金流再平衡
利用新增资金或赎回资金进行再平衡,减少交易成本。
## 换仓成本考虑
### 交易成本
```
总成本 = 申赎费 + 转换费 + 机会成本
申赎费:
- 持有 < 7天: 1.5%
- 持有 7-30天: 0.75%
- 持有 30-365天: 0.5%
- 持有 1-2年: 0.25%
- 持有 > 2年: 0%
```
### 税务影响
```
赎回收益 = 赎回金额 - 申购成本
应纳税额 = 赎回收益 × 税率 (目前基金赎回暂免个税)
```
## 输出格式
### 换仓建议报告
```json
{
"report_id": "RB_20260321_001",
"report_date": "2026-03-21",
"current_portfolio": {
"total_value": 1000000,
"holdings": [...]
},
"target_allocation": {...},
"deviation_analysis": {
"max_deviation": 0.15,
"avg_deviation": 0.08,
"needs_rebalance": true
},
"rebalance_advice": {
"method": "partial",
"urgency": "medium",
"transactions": [
{
"type": "sell",
"fund_code": "000001",
"fund_name": "华夏成长",
"amount": 50000,
"reason": " overweight 15%"
},
{
"type": "buy",
"fund_code": "000002",
"fund_name": "易方达蓝筹",
"amount": 50000,
"reason": "underweight 10%"
}
],
"estimated_cost": 250,
"estimated_tax": 0
},
"execution_plan": {
"method": "batch",
"batches": 2,
"schedule": [
{"date": "2026-03-21", "actions": [...]},
{"date": "2026-04-21", "actions": [...]}
]
}
}
```
## 示例
### 示例1: 偏离度检测
**输入**:
```
检测组合偏离度
```
**输出**:
```
📊 偏离度检测报告
组合价值: ¥1,000,000
检测日期: 2026-03-21
偏离度分析:
股票型: 目标30% → 当前42% | 偏离 +40% ⚠️
混合型: 目标30% → 当前28% | 偏离 -7% ✅
债券型: 目标30% → 当前22% | 偏离 -27% 🟡
货币型: 目标10% → 当前8% | 偏离 -20% 🟡
汇总:
最大偏离度: 40% (股票型)
平均偏离度: 23%
状态: 🔴 强烈建议再平衡
建议:
• 股票型超配,建议减仓
• 债券型低配,建议加仓
• 可利用新增资金补仓债券型
```
### 示例2: 换仓建议
**输入**:
```
生成换仓建议
```
**输出**:
```
📊 换仓建议报告
当前组合 vs 目标配置:
资产类别:
股票型: 42% → 30% (减持12% ¥120,000)
混合型: 28% → 30% (增持2% ¥20,000)
债券型: 22% → 30% (增持8% ¥80,000)
货币型: 8% → 10% (增持2% ¥20,000)
建议交易:
卖出:
1. 中欧时代先锋 ¥50,000 (持有>2年,免赎回费)
2. 广发科技创新 ¥40,000 (持有1.5年,赎回费0.25% = ¥100)
3. 景顺长城新兴 ¥30,000 (持有>2年,免赎回费)
买入:
1. 招商产业债 ¥80,000
2. 易方达蓝筹精选 ¥20,000
3. 天弘余额宝 ¥20,000
成本估算:
赎回费: ¥100
申购费: ¥0 (通常免申购费)
总成本: ¥100 (0.01%)
执行计划:
方案: 一次性换仓
理由: 总成本低,市场波动可控
风险提示:
⚠️ 换仓期间市场可能波动
⚠️ 建议在市场相对平稳时执行
```
## 注意事项
1. 再平衡有交易成本,不宜过于频繁
2. 考虑税务影响,长期持有更有利
3. 市场极端波动时可适当延迟再平衡
4. 新增资金优先用于补仓低配资产
5. 换仓需考虑申赎费用和持有期
6. 建议分批执行大额换仓
## 依赖
```
numpy>=1.20.0
pandas>=1.3.0
```
## 作者
FinClaw - 上海财经大学金融研究工具
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!