Skill: lj22503/asset-allocator (version 2.0.0)

--- name: asset-allocator version: 2.0.0 description: ［何时使用］当用户需要资产配置方案时；当用户问"我应该如何配置资产"时；当进行生命周期规划时；当需要定投计划时 author: 燃冰 + 小蚂蚁 created: 2026-03-13 updated: 2026-03-19 skill_type: 核心🔴 related_skills: [portfolio-designer, global-allocator, simple-investor, decision-checklist] tags: [资产配置，生命周期，定投，再平衡，马尔基尔] --- # 资产配置师 📈 **基于《漫步华尔街》- 伯顿·马尔基尔 (1973)** --- ## 📋 功能描述 根据生命周期设计资产配置方案，实现长期稳健收益。 **适用场景：** - 资产配置规划 - 生命周期投资 - 定投计划制定 - 再平衡策略 **边界条件：** - 不替代专业理财建议 - 需考虑个人情况 - 市场有风险 - 历史表现不代表未来 --- ## 🎯 核心功能 ### 功能 1：风险承受能力评估 **评估因素：** | 因素 | 评估 | 说明 | |------|------|------| | 年龄 | X 岁 | 年轻/中年/退休 | | 风险偏好 | 保守/平衡/积极 | 主观风险承受 | | 投资期限 | X 年 | 长/中/短 | | 收入稳定性 | 稳定/不稳定 | 收入来源 | | 应急资金 | 充足/不足 | 3-6 个月生活费 | **综合风险等级：** 保守/平衡/积极 ### 功能 2：资产配置方案 **标准配置（根据年龄）：** | 资产类别 | 配置比例 | 说明 | |---------|---------|------| | 股票 | X% | 国内 X%，国际 X% | | 债券 | X% | 国债 X%，信用债 X% | | 现金 | X% | 货币基金/银行存款 | | 另类 | X% | 黄金/REITs/大宗商品 | **简化公式：** 股票比例 = 100 - 年龄 **风险调整：** - 保守型：股票比例 -10% - 积极型：股票比例 +10% ### 功能 3：基金推荐 **股票部分：** | 类型 | 推荐基金 | 比例 | 说明 | |------|---------|------|------| | 国内指数 | 沪深 300ETF | X% | 大盘蓝筹 | | 国际指数 | 标普 500ETF | X% | 全球配置 | | 行业基金 | 可选 | X% | 增强收益 | **债券部分：** | 类型 | 推荐基金 | 比例 | 说明 | |------|---------|------|------| | 国债 | 国债 ETF | X% | 低风险 | | 信用债 | 信用债基金 | X% | 中等风险 | ### 功能 4：再平衡策略 **再平衡规则：** - 频率：每年 1 次（建议生日或年初） - 阈值：偏离>5% 时调整 - 方法：卖出高估资产，买入低估资产 **示例：** ``` 目标配置：股票 60%，债券 40% 当前配置：股票 70%，债券 30% 操作：卖出 10% 股票，买入债券 ``` ### 功能 5：定投计划 **月度定投建议：** | 项目 | 金额 | 比例 | |------|------|------| | 国内指数基金 | X 元 | X% | | 国际指数基金 | X 元 | X% | | 债券基金 | X 元 | X% | **定投原则：** - 固定时间（如每月发薪日） - 固定金额 - 长期坚持 - 不止损 --- ## ⚠️ 常见错误 ### 错误 1：机械套用年龄公式 ``` 失败案例： • 机械套用"100-年龄"公式 • 忽视个人风险承受能力差异 • 结果：配置与实际不匹配 正确做法： ✓ 综合评估年龄/收入/目标/经验 ✓ 风险偏好测试作为参考 ✓ 配置方案个性化调整 预防清单： - [ ] 是否评估了风险承受能力？ - [ ] 配置是否符合投资目标？ - [ ] 是否有应急资金？ - [ ] 是否需要调整标准公式？ ``` ### 错误 2：忽视应急资金 ``` 失败案例： • 把所有钱都投入股市 • 急用钱时被迫低位卖出 • 结果：实际亏损 正确做法： ✓ 先留足 3-6 个月支出作为应急资金 ✓ 应急资金放货币基金/活期存款 ✓ 剩余资金再投资 预防清单： - [ ] 是否有 3-6 个月应急资金？ - [ ] 应急资金是否隔离？ - [ ] 是否用急钱投资？ ``` ### 错误 3：频繁调整配置 ``` 失败案例： • 每天看账户，频繁调整 • 追涨杀跌，高买低卖 • 结果：收益跑输定投 正确做法： ✓ 设定再平衡频率（每年 1 次） ✓ 设定阈值（偏离>5% 才调整） ✓ 忽略短期波动 预防清单： - [ ] 再平衡频率是否合理？ - [ ] 是否达到调整阈值？ - [ ] 是否因情绪调整？ ``` ### 错误 4：过度分散 ``` 失败案例： • 买 20+ 只基金 • 每只都买一点 • 结果：收益被稀释，管理困难 正确做法： ✓ 核心 - 卫星策略 ✓ 核心：3-5 只宽基指数（80%） ✓ 卫星：1-2 只行业基金（20%，可选） 预防清单： - [ ] 基金数量是否>10 只？ - [ ] 是否有重复配置？ - [ ] 是否过于复杂？ ``` ### 错误 5：忽视成本 ``` 失败案例： • 买高费率主动基金 • 频繁交易产生手续费 • 结果：成本侵蚀收益 正确做法： ✓ 优先选择低费率指数基金 ✓ ETF 费率通常<0.5% ✓ 减少交易频率 预防清单： - [ ] 基金费率是否<1%？ - [ ] 交易频率是否过高？ - [ ] 是否有更低成本选择？ ``` ### 错误 6：定投中断 ``` 失败案例： • 市场下跌停止定投 • 市场高涨盲目加仓 • 结果：成本摊高，收益降低 正确做法： ✓ 固定时间固定金额 ✓ 自动扣款，强制储蓄 ✓ 越跌越买（同样的钱买更多份额） 预防清单： - [ ] 是否设置了自动扣款？ - [ ] 市场下跌时是否坚持？ - [ ] 是否有长期规划（10 年 +）？ ``` --- ## 🔗 相关资源 ### 渐进式披露结构 **核心文档**（本文件）： - asset-allocator 技能详情 **参考资料**（references/）： - `references/allocation-theory.md` - 马尔基尔资产配置理论 - `references/rebalancing-strategy.md` - 再平衡策略详解 **示例集合**（examples/）： - `examples/balanced-example.md` - 平衡型配置示例（35 岁） - `examples/conservative-example.md` - 保守型配置示例（55 岁） - `examples/aggressive-example.md` - 积极型配置示例（28 岁） **模板文件**（templates/）： - `templates/allocation-template.md` - 配置方案模板 - `templates/rebalance-template.md` - 再平衡计算模板 **计算工具**（scripts/ & calculators/）： - `scripts/allocation-calculator.py` - 配置比例计算脚本 - `calculators/rebalance-calculator.md` - 再平衡计算公式 --- ## 📊 输入参数 ```json { "age": { "type": "number", "required": true, "description": "年龄" }, "risk_tolerance": { "type": "string", "enum": ["保守", "平衡", "积极"], "required": true, "description": "风险偏好" }, "investment_goal": { "type": "string", "enum": ["退休", "购房", "教育", "增值"], "required": true, "description": "投资目标" }, "time_horizon": { "type": "number", "required": true, "description": "投资期限（年）" }, "total_assets": { "type": "number", "required": true, "description": "总资产规模" }, "monthly_income": { "type": "number", "required": false, "description": "月收入" }, "emergency_fund": { "type": "boolean", "required": true, "description": "是否有应急资金" } } ``` --- ## 📤 输出格式 ```json { "status": "success", "data": { "risk_assessment": { "age_group": "年轻 | 中年 | 退休", "risk_level": "保守 | 平衡 | 积极", "recommendation": "" }, "allocation_plan": { "stocks": { "percentage": 0, "domestic": 0, "international": 0 }, "bonds": { "percentage": 0, "government": 0, "corporate": 0 }, "cash": { "percentage": 0 }, "alternatives": { "percentage": 0 } }, "fund_recommendations": [], "rebalancing_strategy": { "frequency": "", "threshold": "" }, "investment_plan": { "monthly_amount": 0, "funds": [] } } } ``` --- ## 🧪 使用示例 ### 示例 1：35 岁平衡型配置 **输入：** ``` 年龄：35 岁 风险偏好：平衡 投资目标：退休 投资期限：25 年 总资产：100 万 月收入：2 万 应急资金：是 ``` **输出：** ``` 【风险承受能力评估】 | 因素 | 评估 | 说明 | |------|------|------| | 年龄 | 35 岁 | 中年，时间充裕 | | 风险偏好 | 平衡 | 中等风险承受 | | 投资期限 | 25 年 | 长期投资 | | 收入稳定性 | 稳定 | 月收入 2 万 | | 应急资金 | 充足 | 已预留 | 综合风险等级：平衡 【资产配置方案】 标准配置（35 岁）： 股票比例 = 100 - 35 = 65% | 资产类别 | 配置比例 | 说明 | |---------|---------|------| | 股票 | 65% | 国内 40%，国际 25% | | 债券 | 25% | 国债 15%，信用债 10% | | 现金 | 5% | 货币基金 | | 另类 | 5% | 黄金/REITs | 【基金推荐】 股票部分： | 类型 | 推荐基金 | 比例 | 说明 | |------|---------|------|------| | 国内指数 | 沪深 300ETF | 25% | 大盘蓝筹 | | 国内指数 | 中证 500ETF | 15% | 中小盘 | | 国际指数 | 标普 500ETF | 15% | 美国市场 | | 国际指数 | 纳斯达克 ETF | 10% | 科技成长 | 债券部分： | 类型 | 推荐基金 | 比例 | 说明 | |------|---------|------|------| | 国债 | 国债 ETF | 15% | 低风险 | | 信用债 | 信用债基金 | 10% | 中等风险 | 【再平衡策略】 频率：每年 1 次（建议生日） 阈值：偏离>5% 时调整 方法：卖出高估资产，买入低估资产 【定投计划】 月度定投：1 万元 | 基金 | 金额 | 比例 | |------|------|------| | 沪深 300ETF | 4000 元 | 40% | | 中证 500ETF | 2000 元 | 20% | | 标普 500ETF | 2000 元 | 20% | | 国债 ETF | 2000 元 | 20% | 定投原则： - 固定时间（每月发薪日） - 固定金额 - 长期坚持 - 不止损 ``` ### 示例 2：55 岁保守型配置 **输入：** ``` 年龄：55 岁 风险偏好：保守 投资目标：保值 投资期限：10 年 总资产：300 万 月收入：3 万 应急资金：是 ``` **输出：** ``` 【风险承受能力评估】 综合风险等级：保守 【资产配置方案】 标准配置（55 岁）： 股票比例 = 100 - 55 = 45% 保守型调整：45% - 10% = 35% | 资产类别 | 配置比例 | 说明 | |---------|---------|------| | 股票 | 35% | 国内 20%，国际 15% | | 债券 | 50% | 国债 30%，信用债 20% | | 现金 | 10% | 货币基金 | | 另类 | 5% | 黄金 | 【投资建议】 建议：保守配置 理由： 1. 接近退休，保本为主 2. 股票比例降至 35% 3. 债券比例提高至 50% 4. 现金比例提高至 10% ``` --- ## 📚 核心理念 ### 马尔基尔核心原则 ``` 1. 定期定额投资（不择时） 2. 分散化（不要把所有鸡蛋放一个篮子） 3. 低成本（选择低费率指数基金） 4. 再平衡（每年调整一次） 5. 长期思维（忽略短期波动） ``` ### 生命周期配置 ``` 股票比例 = 100 - 年龄 核心逻辑： - 年轻：风险承受力强，高股票比例 - 年长：风险承受力弱，高债券比例 - 动态调整，随年龄变化 ``` ### 健康公式 ``` 长期稳健收益 = 资产配置 × 定期定额 × 再平衡 × 时间 关键变量： - 资产配置：匹配生命周期 - 定期定额：不择时，持续投入 - 再平衡：强制低买高卖 - 时间：复利效应 ``` --- ## 🔗 相关文件 - `README.md` - 技能包目录导航 - `../SKILL.md` - 投资框架主技能 - `references/allocation-theory.md` - 马尔基尔资产配置理论 - `examples/balanced-example.md` - 平衡型配置示例 - `examples/conservative-example.md` - 保守型配置示例 - `examples/aggressive-example.md` - 积极型配置示例 - `templates/allocation-template.md` - 配置方案模板 - `scripts/allocation-calculator.py` - 配置计算脚本 - `calculators/rebalance-calculator.md` - 再平衡计算 --- ## 更新日志 - v2.0.0 (2026-03-19): 按照 SKILL-STANDARD-v2.md 重构，添加 Front Matter、坑点章节、相关资源 📈 - v1.0.0 (2026-03-13): 初始版本，资产配置师上线 📈 --- *资产配置决定 90% 的收益。坚持定投，穿越牛熊。* 📈

path: README.md
content: # asset-allocator 技能包

> 基于《漫步华尔街》- 伯顿·马尔基尔的资产配置技能

---

## 📁 目录结构

```
asset-allocator/
├── SKILL.md                      # 技能定义（核心）
├── README.md                     # 本文件（目录导航）
├── examples/                     # 示例集合
│   ├── balanced-example.md       # 平衡型配置示例
│   ├── conservative-example.md   # 保守型配置示例（待创建）
│   └── aggressive-example.md     # 积极型配置示例（待创建）
├── references/                   # 参考资料
│   └── allocation-theory.md      # 资产配置理论
├── templates/                    # 模板文件
│   └── allocation-template.md    # 配置方案模板
├── scripts/                      # 计算脚本（待创建）
│   └── allocation-calculator.py  # 配置比例计算
└── calculators/                  # 计算工具（待创建）
    └── rebalance-calculator.md   # 再平衡计算公式
```

---

## 🚀 快速开始

### 1. 查看技能定义
```bash
cat SKILL.md
```

### 2. 查看示例
```bash
cat examples/balanced-example.md
```

### 3. 使用模板
```bash
cat templates/allocation-template.md
```

### 4. 参考理论
```bash
cat references/allocation-theory.md
```

---

## 📊 技能功能

**核心功能**：根据生命周期设计资产配置方案

**输入**：
- 年龄
- 风险偏好（保守/平衡/积极）
- 投资目标
- 资产规模

**输出**：
- 资产配置比例（股票/债券/现金/另类）
- 基金推荐
- 再平衡策略
- 定投计划

---

## 🔗 相关技能

- **portfolio-designer**: 组合构建（更专业的组合设计）
- **global-allocator**: 全球配置（全球分散）
- **simple-investor**: 简单投资（简化版配置）
- **decision-checklist**: 决策检查（配置前检查）

---

## 📐 核心公式

### 股票比例
```
股票比例 = 100 - 年龄
```

### 再平衡阈值
```
偏离 > 5% → 调整回目标比例
```

### 定投金额
```
月度定投 = 月度可投资金额 × 配置比例
```

---

## 🧪 使用示例

**输入**：
```
我 35 岁，平衡型风险，有 100 万，如何配置？
```

**输出**：
```
【35 岁平衡型配置方案】

股票：65%（65 万）
  - 国内指数：40%（26 万，沪深 300ETF）
  - 国际指数：25%（16.25 万，标普 500ETF）

债券：25%（25 万）
  - 国债 ETF：15%（15 万）
  - 信用债基金：10%（10 万）

现金：5%（5 万，货币基金）

另类：5%（5 万，黄金 ETF）

再平衡：每年 1 次，偏离>5% 调整
```

---

## ⚠️ 常见错误

1. **机械套用公式**：忽视个人差异
2. **忽视应急资金**：全仓投资
3. **频繁调整**：不遵守再平衡纪律
4. **过度分散**：买太多基金
5. **忽视成本**：高费率侵蚀收益

详见 `SKILL.md` 的"⚠️ 常见错误"章节。

---

## 📚 学习路径

1. 阅读 `SKILL.md` 了解功能
2. 查看 `examples/` 学习实战
3. 使用 `templates/` 制定方案
4. 参考 `references/` 深入理论
5. 使用 `scripts/` 和 `calculators/` 计算

---

## 🛠️ 工具脚本

### allocation-calculator.py
```bash
# 计算配置比例
python scripts/allocation-calculator.py --age 35 --risk balanced --assets 1000000
```

### rebalance-calculator.md
```markdown
# 再平衡计算
目标：股票 60%，债券 40%
当前：股票 70%，债券 30%
操作：卖出 10% 股票，买入债券
```

---

## 📊 版本历史

- v2.0.0 (2026-03-19): 按 SKILL-STANDARD-v2.md 重构
- v1.0.0 (2026-03-13): 初始版本

---

*资产配置是唯一的免费午餐。用纪律战胜情绪，用时间换取复利。*


path: calculators/rebalance-calculator.md
content: # 再平衡计算器

> 计算再平衡调整金额

---

## 核心公式

### 偏离度计算
```
偏离度 = |当前比例 - 目标比例|
```

### 调整阈值
```
偏离度 > 5% → 需要调整
```

### 调整金额计算
```
调整金额 = 总资产 × (当前比例 - 目标比例)
```

**正数**：卖出  
**负数**：买入

---

## 计算示例

### 示例 1：年度再平衡

**目标配置**：
- 股票：60%
- 债券：40%

**当前配置**（1 年后）：
- 股票：70%（上涨）
- 债券：30%

**总资产**：100 万

**计算**：
```
股票偏离度 = |70% - 60%| = 10% > 5% → 需要调整

股票调整金额 = 100 万 × (70% - 60%) = 10 万
→ 卖出 10 万股票

债券调整金额 = 100 万 × (30% - 40%) = -10 万
→ 买入 10 万债券
```

**操作**：
- 卖出 10 万股票
- 买入 10 万债券

---

### 示例 2：多资产再平衡

**目标配置**：
- 国内股票：40%
- 国际股票：20%
- 债券：30%
- 现金：5%
- 另类：5%

**当前配置**：
- 国内股票：45%（+5%）
- 国际股票：18%（-2%）
- 债券：28%（-2%）
- 现金：5%（0%）
- 另类：4%（-1%）

**总资产**：100 万

**计算**：
```
国内股票：100 万 × (45% - 40%) = +5 万 → 卖出 5 万
国际股票：100 万 × (18% - 20%) = -2 万 → 买入 2 万
债券：100 万 × (28% - 30%) = -2 万 → 买入 2 万
另类：100 万 × (4% - 5%) = -1 万 → 买入 1 万

合计：卖出 5 万，买入 5 万（平衡）
```

---

## Python 计算脚本

```python
def calculate_rebalance(target_allocation, current_allocation, total_assets):
    """
    计算再平衡调整
    
    Args:
        target_allocation: dict, 目标配置 {'stocks': 0.6, 'bonds': 0.4}
        current_allocation: dict, 当前配置
        total_assets: float, 总资产
    
    Returns:
        list: 调整操作列表
    """
    adjustments = []
    
    for asset_class in target_allocation:
        target = target_allocation[asset_class]
        current = current_allocation.get(asset_class, 0)
        
        deviation = current - target
        amount = total_assets * deviation
        
        if abs(deviation) > 0.05:  # 5% 阈值
            action = '卖出' if amount > 0 else '买入'
            adjustments.append({
                'asset': asset_class,
                'action': action,
                'amount': abs(amount),
                'deviation': deviation * 100
            })
    
    return adjustments


# 使用示例
target = {'stocks': 0.6, 'bonds': 0.4}
current = {'stocks': 0.7, 'bonds': 0.3}
assets = 1000000

adjustments = calculate_rebalance(target, current, assets)
for adj in adjustments:
    print(f"{adj['asset']}: {adj['action']} {adj['amount']:,.0f}元 (偏离{adj['deviation']:.1f}%)")
```

---

## Excel 公式

### 偏离度计算
```excel
=ABS(当前比例单元格 - 目标比例单元格)
```

### 调整金额计算
```excel
=总资产单元格 * (当前比例单元格 - 目标比例单元格)
```

### 条件格式（突出显示>5%）
```excel
=ABS(当前比例单元格 - 目标比例单元格) > 0.05
```

---

## 再平衡策略

### 策略 1：定期再平衡
- **频率**：每年 1 次（建议年初或生日）
- **优点**：简单规律，易执行
- **缺点**：可能错过最佳时机

### 策略 2：阈值再平衡
- **触发**：偏离>5%
- **优点**：及时纠正
- **缺点**：可能频繁交易

### 策略 3：混合再平衡（推荐）
- **频率**：每季度检查
- **触发**：偏离>5%
- **优点**：平衡灵活性和纪律

---

## 注意事项

1. **税收考虑**：卖出盈利资产可能产生资本利得税
2. **交易成本**：频繁调整增加交易费用
3. **心理因素**：卖出上涨资产可能不舒服
4. **新资金利用**：用新投入资金调整，减少卖出

---

*再平衡是强制低买高卖的纪律工具。*


path: examples/aggressive-example.md
content: # 28 岁积极型资产配置示例

## 基本信息

| 项目 | 内容 |
|------|------|
| 年龄 | 28 岁 |
| 风险偏好 | 积极 |
| 总资产 | 50 万 |
| 月收入 | 2.5 万 |
| 投资目标 | 长期增值（30 年 +） |
| 应急资金 | 是（10 万） |

---

## 风险承受能力评估

| 因素 | 评估 | 说明 |
|------|------|------|
| 年龄 | 28 岁 | 年轻 |
| 风险偏好 | 积极 | 高风险承受 |
| 投资目标 | 长期增值 | 追求增长 |
| 投资期限 | 30 年 + | 长期 |
| 收入稳定性 | 稳定 | 月收入 2.5 万 |
| 应急资金 | 充足 | 10 万（已预留） |

**综合风险等级**：积极

---

## 资产配置方案

**标准配置（28 岁，积极型）**：
- 基础股票比例 = 100 - 28 = 72%
- 积极型调整 = +10%
- **最终股票比例 = 82%**（上限 90%）

| 资产类别 | 配置比例 | 金额 | 说明 |
|---------|---------|------|------|
| 股票 | 82% | 41 万 | 国内 50%，国际 32% |
| 债券 | 10% | 5 万 | 国债 |
| 现金 | 5% | 2.5 万 | 货币基金 |
| 另类 | 3% | 1.5 万 | 黄金/科技 ETF |

---

## 基金推荐

### 股票部分（41 万）
| 类型 | 推荐基金 | 比例 | 金额 |
|------|---------|------|------|
| 国内指数 | 沪深 300ETF | 30% | 15 万 |
| 国内指数 | 中证 500ETF | 10% | 5 万 |
| 国际指数 | 标普 500ETF | 20% | 10 万 |
| 国际指数 | 纳斯达克 ETF | 12% | 6 万 |
| 行业基金 | 科技 ETF（可选） | 10% | 5 万 |

### 债券部分（5 万）
| 类型 | 推荐基金 | 比例 | 金额 |
|------|---------|------|------|
| 国债 | 国债 ETF | 100% | 5 万 |

### 现金部分（2.5 万）
| 类型 | 推荐 | 金额 |
|------|------|------|
| 货币基金 | 余额宝/理财通 | 2.5 万 |

### 另类部分（1.5 万）
| 类型 | 推荐 | 金额 |
|------|------|------|
| 黄金 ETF | 黄金 ETF | 1 万 |
| 科技 ETF | 科技 ETF | 0.5 万 |

---

## 再平衡策略

**频率**：每年 1 次（建议年初）  
**阈值**：偏离>5% 时调整

**注意**：年轻时可以适当放宽阈值（如 10%），让盈利奔跑。

---

## 定投计划

假设每月可投资 1.5 万：
| 基金 | 每月定投 |
| 沪深 300ETF | ¥4500（30%） |
| 中证 500ETF | ¥1500（10%） |
| 标普 500ETF | ¥3000（20%） |
| 纳斯达克 ETF | ¥1800（12%） |
| 科技 ETF | ¥1500（10%） |
| 国债 ETF | ¥1500（10%） |
| 货币基金 | ¥1200（8%） |

---

## 特别策略

### 核心 - 卫星策略
- **核心（70%）**：宽基指数（沪深 300、标普 500）
- **卫星（30%）**：行业基金/主题 ETF（科技、新能源等）

### 动态调整
- **牛市**：逐步降低股票比例（止盈）
- **熊市**：保持高仓位，甚至加仓
- **年龄增长**：每 5 年降低股票比例 5-10%

### 退休加速计划
- **35 岁**：股票 80%
- **40 岁**：股票 75%
- **45 岁**：股票 70%
- **50 岁**：股票 60%
- **55 岁**：股票 50%
- **60 岁**：股票 40%

---

## 风险提示

1. **波动风险**：高股票比例意味着高波动（可能 -40%）
2. **FOMO 风险**：不要因为别人赚钱而追高
3. **过度自信**：年轻时的成功可能是运气

---

## 预期收益（基于历史数据）

| 情景 | 年化收益 | 30 年后总额 |
|------|----------|-------------|
| 乐观 | 12% | 约 1500 万 |
| 中性 | 9% | 约 660 万 |
| 保守 | 7% | 约 380 万 |

**注**：基于 50 万本金 + 每月 1.5 万定投，30 年复利计算。

---

*年轻是最大资本，可以承受高波动换取高收益。但高收益≠高回报，需要长期坚持。*


path: examples/balanced-example.md
content: # 35 岁平衡型资产配置示例

## 基本信息

| 项目 | 内容 |
|------|------|
| 年龄 | 35 岁 |
| 风险偏好 | 平衡 |
| 总资产 | 100 万 |
| 月收入 | 2 万 |
| 应急资金 | 是 |

---

## 风险承受能力评估

| 因素 | 评估 | 说明 |
|------|------|------|
| 年龄 | 35 岁 | 年轻 |
| 风险偏好 | 平衡 | 中等风险承受 |
| 投资目标 | 增值 | 追求增长 |
| 收入稳定性 | 稳定 | 月收入 2 万 |
| 应急资金 | 充足 | 已预留 |

**综合风险等级：** 平衡

---

## 资产配置方案

**标准配置（35 岁）：**
股票比例 = 100 - 35 = 65%

| 资产类别 | 配置比例 | 金额 | 说明 |
|---------|---------|------|------|
| 股票 | 65% | 65 万 | 国内 40%，国际 25% |
| 债券 | 25% | 25 万 | 国债 15%，信用债 10% |
| 现金 | 5% | 5 万 | 货币基金 |
| 另类 | 5% | 5 万 | 黄金/REITs |

---

## 基金推荐

### 股票部分
| 类型 | 推荐基金 | 比例 | 金额 |
|------|---------|------|------|
| 国内指数 | 沪深 300ETF | 25% | 25 万 |
| 国内指数 | 中证 500ETF | 15% | 15 万 |
| 国际指数 | 标普 500ETF | 15% | 15 万 |
| 国际指数 | 纳斯达克 ETF | 10% | 10 万 |

### 债券部分
| 类型 | 推荐基金 | 比例 | 金额 |
|------|---------|------|------|
| 国债 | 国债 ETF | 15% | 15 万 |
| 信用债 | 信用债基金 | 10% | 10 万 |

---

## 再平衡策略

**频率：** 每年 1 次（建议生日）
**阈值：** 偏离>5% 时调整
**方法：** 卖出高估资产，买入低估资产

---

## 定投计划

**月度定投：** 1 万元

| 基金 | 金额 | 比例 |
|------|------|------|
| 沪深 300ETF | 4000 元 | 40% |
| 中证 500ETF | 2000 元 | 20% |
| 标普 500ETF | 2000 元 | 20% |
| 国债 ETF | 2000 元 | 20% |

**定投原则：**
- 固定时间（每月发薪日）
- 固定金额
- 长期坚持
- 不止损

---

*资产配置决定 90% 的收益。坚持定投，穿越牛熊。*


path: examples/conservative-example.md
content: # 55 岁保守型资产配置示例

## 基本信息

| 项目 | 内容 |
|------|------|
| 年龄 | 55 岁 |
| 风险偏好 | 保守 |
| 总资产 | 300 万 |
| 月收入 | 4 万 |
| 投资目标 | 保本增值（10 年后退休） |
| 应急资金 | 是（20 万） |

---

## 风险承受能力评估

| 因素 | 评估 | 说明 |
|------|------|------|
| 年龄 | 55 岁 | 接近退休 |
| 风险偏好 | 保守 | 低风险承受 |
| 投资目标 | 保本增值 | 稳健为主 |
| 投资期限 | 10 年 | 中期 |
| 收入稳定性 | 稳定 | 月收入 4 万 |
| 应急资金 | 充足 | 20 万（已预留） |

**综合风险等级**：保守

---

## 资产配置方案

**标准配置（55 岁，保守型）**：
- 基础股票比例 = 100 - 55 = 45%
- 保守型调整 = -10%
- **最终股票比例 = 35%**

| 资产类别 | 配置比例 | 金额 | 说明 |
|---------|---------|------|------|
| 股票 | 35% | 105 万 | 国内 20%，国际 15% |
| 债券 | 50% | 150 万 | 国债 30%，信用债 20% |
| 现金 | 10% | 30 万 | 货币基金（含应急资金） |
| 另类 | 5% | 15 万 | 黄金 ETF |

---

## 基金推荐

### 股票部分（105 万）
| 类型 | 推荐基金 | 比例 | 金额 |
|------|---------|------|------|
| 国内指数 | 沪深 300ETF | 20% | 60 万 |
| 国际指数 | 标普 500ETF | 15% | 45 万 |

### 债券部分（150 万）
| 类型 | 推荐基金 | 比例 | 金额 |
|------|---------|------|------|
| 国债 | 国债 ETF | 30% | 90 万 |
| 信用债 | 信用债基金 | 20% | 60 万 |

### 现金部分（30 万）
| 类型 | 推荐 | 金额 |
|------|------|------|
| 货币基金 | 余额宝/理财通 | 30 万 |

### 另类部分（15 万）
| 类型 | 推荐 | 金额 |
|------|------|------|
| 黄金 ETF | 黄金 ETF | 15 万 |

---

## 再平衡策略

**频率**：每年 1 次（建议年初）  
**阈值**：偏离>5% 时调整  
**方法**：卖出高估，买入低估

**示例**：
若股票涨到 42%（偏离 7%）
→ 卖出 7% 股票，买入债券

---

## 定投计划（如有新增资金）

假设每月可投资 2 万：
| 基金 | 每月定投 |
| 沪深 300ETF | ¥4000（20%） |
| 标普 500ETF | ¥3000（15%） |
| 国债 ETF | ¥10000（50%） |
| 货币基金 | ¥3000（15%） |

---

## 特别策略

### Glide Path（下滑轨道）
随年龄增长逐步降低股票比例：
- 55-60 岁：股票 35%
- 60-65 岁：股票 25%
- 65 岁 +：股票 15-20%

### 退休过渡计划
- **60 岁前**：逐步将股票转为债券
- **60-65 岁**：准备退休生活资金（2-3 年支出放现金）
- **65 岁后**：以债券和现金为主，股票为辅

---

## 风险提示

1. **利率风险**：债券价格可能随利率上升而下跌
2. **通胀风险**：保守配置可能跑不赢通胀
3. **长寿风险**：退休后资金可能不够用

---

## 预期收益（基于历史数据）

| 情景 | 年化收益 | 10 年后总额 |
|------|----------|-------------|
| 乐观 | 6% | 约 540 万 |
| 中性 | 4.5% | 约 470 万 |
| 保守 | 3% | 约 400 万 |

---

*保守型配置的核心是保本，增值是次要目标。*


path: references/allocation-theory.md
content: # 资产配置参考

## 资产配置理论

### 核心思想
1. **分散投资是免费午餐**
2. **资产配置决定 90% 的收益**
3. **再平衡保持配置**
4. **长期坚持是关键**

### 标准公式
**股票比例 = 100 - 年龄**

**例子：**
- 30 岁：股票 70%，债券 30%
- 40 岁：股票 60%，债券 40%
- 50 岁：股票 50%，债券 50%
- 60 岁：股票 40%，债券 60%

---

## 再平衡策略

### 阈值再平衡
**触发：** 偏离目标>5%

**优点：** 及时纠正

**缺点：** 可能频繁交易

### 定期再平衡
**频率：** 每年 1 次

**优点：** 简单规律

**缺点：** 可能错过时机

### 混合再平衡
**方法：** 每季度检查，偏离>5% 调整

**优点：** 平衡灵活性和纪律

**推荐：** 最适合个人投资者

---

## 成本优化

### 管理费
**选择：** 费率<0.5% 的 ETF

**影响：** 0.5% 费率差，30 年差 15% 收益

### 交易成本
**减少：** 减少交易频率

**方法：** 阈值再平衡

### 税收
**考虑：** 税收效率

**方法：** 长期持有，利用免税账户

---

## 推荐阅读

- 《漫步华尔街》- 伯顿·马尔基尔
- 《机构投资者的创新之路》- 大卫·史文森
- 《资产配置的艺术》- 戴维·达斯特


path: scripts/allocation-calculator.py
content: #!/usr/bin/env python3
"""
资产配置计算器

基于马尔基尔生命周期理论，计算资产配置比例。

使用方法：
    python allocation-calculator.py --age 35 --risk balanced --assets 1000000

输出：
    JSON 格式的配置方案
"""

import argparse
import json


def calculate_allocation(age, risk_tolerance, total_assets):
    """
    计算资产配置比例
    
    Args:
        age: 年龄
        risk_tolerance: 风险偏好（conservative/balanced/aggressive）
        total_assets: 总资产（元）
    
    Returns:
        dict: 配置方案
    """
    # 基础股票比例（100 - 年龄）
    base_stock_ratio = 100 - age
    
    # 风险调整
    if risk_tolerance == 'conservative':
        adjustment = -10
    elif risk_tolerance == 'aggressive':
        adjustment = 10
    else:  # balanced
        adjustment = 0
    
    # 最终股票比例
    stock_ratio = max(20, min(90, base_stock_ratio + adjustment))
    
    # 债券比例
    bond_ratio = 100 - stock_ratio
    
    # 股票细分（国内 60%，国际 40%）
    domestic_stock_ratio = stock_ratio * 0.6
    international_stock_ratio = stock_ratio * 0.4
    
    # 债券细分（国债 60%，信用债 40%）
    government_bond_ratio = bond_ratio * 0.6
    corporate_bond_ratio = bond_ratio * 0.4
    
    # 计算金额
    allocation = {
        'stocks': {
            'total': {
                'ratio': stock_ratio,
                'amount': total_assets * stock_ratio / 100
            },
            'domestic': {
                'ratio': domestic_stock_ratio,
                'amount': total_assets * domestic_stock_ratio / 100,
                'recommendation': '沪深 300ETF'
            },
            'international': {
                'ratio': international_stock_ratio,
                'amount': total_assets * international_stock_ratio / 100,
                'recommendation': '标普 500ETF'
            }
        },
        'bonds': {
            'total': {
                'ratio': bond_ratio,
                'amount': total_assets * bond_ratio / 100
            },
            'government': {
                'ratio': government_bond_ratio,
                'amount': total_assets * government_bond_ratio / 100,
                'recommendation': '国债 ETF'
            },
            'corporate': {
                'ratio': corporate_bond_ratio,
                'amount': total_assets * corporate_bond_ratio / 100,
                'recommendation': '信用债基金'
            }
        },
        'cash': {
            'ratio': 5,
            'amount': total_assets * 0.05,
            'recommendation': '货币基金'
        },
        'alternatives': {
            'ratio': 5,
            'amount': total_assets * 0.05,
            'recommendation': '黄金 ETF/REITs'
        }
    }
    
    return allocation


def format_output(allocation):
    """格式化输出"""
    output = []
    output.append("【资产配置方案】")
    output.append("")
    output.append(f"股票：{allocation['stocks']['total']['ratio']:.1f}% ({allocation['stocks']['total']['amount']:,.0f}元)")
    output.append(f"  - 国内指数：{allocation['stocks']['domestic']['ratio']:.1f}% ({allocation['stocks']['domestic']['amount']:,.0f}元，{allocation['stocks']['domestic']['recommendation']})")
    output.append(f"  - 国际指数：{allocation['stocks']['international']['ratio']:.1f}% ({allocation['stocks']['international']['amount']:,.0f}元，{allocation['stocks']['international']['recommendation']})")
    output.append("")
    output.append(f"债券：{allocation['bonds']['total']['ratio']:.1f}% ({allocation['bonds']['total']['amount']:,.0f}元)")
    output.append(f"  - 国债：{allocation['bonds']['government']['ratio']:.1f}% ({allocation['bonds']['government']['amount']:,.0f}元，{allocation['bonds']['government']['recommendation']})")
    output.append(f"  - 信用债：{allocation['bonds']['corporate']['ratio']:.1f}% ({allocation['bonds']['corporate']['amount']:,.0f}元，{allocation['bonds']['corporate']['recommendation']})")
    output.append("")
    output.append(f"现金：{allocation['cash']['ratio']}% ({allocation['cash']['amount']:,.0f}元，{allocation['cash']['recommendation']})")
    output.append(f"另类：{allocation['alternatives']['ratio']}% ({allocation['alternatives']['amount']:,.0f}元，{allocation['alternatives']['recommendation']})")
    
    return '\n'.join(output)


def main():
    parser = argparse.ArgumentParser(description='资产配置计算器')
    parser.add_argument('--age', type=int, required=True, help='年龄')
    parser.add_argument('--risk', type=str, required=True, 
                       choices=['conservative', 'balanced', 'aggressive'],
                       help='风险偏好')
    parser.add_argument('--assets', type=float, required=True, help='总资产（元）')
    parser.add_argument('--json', action='store_true', help='输出 JSON 格式')
    
    args = parser.parse_args()
    
    allocation = calculate_allocation(args.age, args.risk, args.assets)
    
    if args.json:
        print(json.dumps(allocation, indent=2, ensure_ascii=False))
    else:
        print(format_output(allocation))


if __name__ == '__main__':
    main()


path: templates/allocation-template.md
content: # 资产配置模板

## 基本信息

| 项目 | 内容 |
|------|------|
| 年龄 | [填写] |
| 风险偏好 | 保守/平衡/积极 |
| 总资产 | [填写] 万 |
| 月收入 | [填写] 万 |
| 应急资金 | 是/否 |

---

## 风险承受能力评估

| 因素 | 评估 | 说明 |
|------|------|------|
| 年龄 | [ ] 岁 | [填写] |
| 风险偏好 | [填写] | [填写] |
| 投资目标 | [填写] | [填写] |
| 收入稳定性 | [填写] | [填写] |
| 应急资金 | [填写] | [填写] |

**综合风险等级：** 保守/平衡/积极

---

## 资产配置方案

**标准配置（[ ] 岁）：**
股票比例 = 100 - [ ] = [ ]%

| 资产类别 | 配置比例 | 金额 | 说明 |
|---------|---------|------|------|
| 股票 | [ ]% | [ ] 万 | 国内 [ ]%，国际 [ ]% |
| 债券 | [ ]% | [ ] 万 | 国债 [ ]%，信用债 [ ]% |
| 现金 | [ ]% | [ ] 万 | 货币基金 |
| 另类 | [ ]% | [ ] 万 | 黄金/REITs |

---

## 基金推荐

### 股票部分
| 类型 | 推荐基金 | 比例 | 金额 |
|------|---------|------|------|
| 国内指数 | [填写] | [ ]% | [ ] 万 |
| 国际指数 | [填写] | [ ]% | [ ] 万 |

### 债券部分
| 类型 | 推荐基金 | 比例 | 金额 |
|------|---------|------|------|
| 国债 | [填写] | [ ]% | [ ] 万 |
| 信用债 | [填写] | [ ]% | [ ] 万 |

---

## 再平衡策略

**频率：** 每年 1 次（建议生日）
**阈值：** 偏离>5% 时调整
**方法：** 卖出高估资产，买入低估资产

---

## 定投计划

**月度定投：** [ ] 万元

| 基金 | 金额 | 比例 |
|------|------|------|
| [填写] | [ ] 万 | [ ]% |
| [填写] | [ ] 万 | [ ]% |

**定投原则：**
- 固定时间（每月发薪日）
- 固定金额
- 长期坚持
- 不止损

---

*资产配置决定 90% 的收益。坚持定投，穿越牛熊。*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)