← Back to Skills Marketplace
wzratgit

金融分析技能

by wzratgit · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
733
Downloads
0
Stars
15
Active Installs
1
Versions
Install in OpenClaw
/install financial-analysis
Description
利用免费数据源进行多资产投资组合的风险平价分析、动态调仓和回测,提供文字报告与图表可视化。
README (SKILL.md)

金融分析技能 (Financial Analysis Skill)

概述

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

功能特性

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

数据源

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

安装依赖

pip install yfinance pandas numpy matplotlib seaborn plotly

使用方法

1. 基本使用

分析投资组合

python financial_analysis.py --portfolio example_portfolio.json --output ./output

获取单个资产数据

python financial_analysis.py --symbol AAPL --period 1y

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

运行回测

python optimized_risk_parity_skill.py --csv "C:\path	o\marketdata.csv" --output ./backtest_output

数据格式要求

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

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

创建一个JSON文件(如 my_portfolio.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/波动率)
  • 每月调仓,动态调整权重
  • 使用前一天的权重计算当日收益率

回测验证

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

注意事项

  • 确保数据质量,处理缺失值和异常值
  • 滚动窗口大小可根据实际情况调整
  • 调仓频率可根据市场情况调整
  • 考虑交易成本对回测结果的影响
Usage Guidance
要点与建议: 1) 文档/清单不一致:在安装或提供任何 API Key 之前,向发布者确认该技能是否真的会调用 Alpha Vantage / yfinance / Finnhub,以及这些网络调用会在哪里发生(由本地脚本直接发起还是需要新增模块)。 2) 如果你只需处理本地 CSV:当前代码看起来仅从本地 CSV 加载并计算风险平价,且不需要任何 API Key;在此情形下无需提供在线凭证,但也请手动检查脚本以确认无隐蔽的网络请求(搜索 'requests', 'urllib', 'socket', 'yfinance', 'alpha_vantage', 'finnhub')。 3) 如果准备运行:先在隔离/沙箱环境中运行,使用非敏感示例 CSV,观察是否有出站网络连接或意外文件写入。查看生成的输出目录权限并确认路径(默认路径包含具体用户名,应按需修改)。 4) 要求修正清单:要求发布者或维护者把实际需要的依赖和环境变量在 manifest/registry metadata 中列清楚(例如将 ALPHA_VANTAGE_API_KEY 列为可选或必需),并在文档中明确何时会进行网络请求。 5) 若你会提供 API Key:只在信任来源并确认代码确实需要并安全使用该键时才提供;否则勿将长期/高权限凭证填入。
Capability Analysis
Package: 金融分析技能 (xpi) Version: 1.0.0 Description: 优化的金融分析技能,整合滚动窗口调仓逻辑和回测功能 The package '金融分析技能' (financial-analysis) version 1.0.0 implements a financial analysis skill for portfolio backtesting using a rolling window risk parity strategy. The core logic is contained in `optimized_risk_parity_skill.py`, which handles loading financial return data from a CSV file, calculating rolling volatilities and risk parity weights (using historical data to avoid look-ahead bias), computing portfolio returns, analyzing performance metrics (e.g., total return, Sharpe ratio, max drawdown), and generating comprehensive text reports and various visualization charts (e.g., cumulative returns, asset allocation, correlation heatmap). The `optimized_main.py` script provides a command-line interface to run the backtest and display results. All file I/O operations (reading CSV, writing reports, JSON data, and PNG charts) are confined to specified local paths. The package relies on standard and well-vetted Python libraries (pandas, numpy, matplotlib, seaborn). There is no evidence of malicious activities such as unauthorized network communication, arbitrary code execution, data exfiltration, or unusual system interactions. The code logic is transparent and aligns perfectly with the package's described functionality as a financial analysis tool.
Capability Assessment
Purpose & Capability
SKILL.md 与 README.md 声称集成 Yahoo Finance(yfinance)、Alpha Vantage、Finnhub 等在线免费数据源并提示配置 ALPHA_VANTAGE_API_KEY;但 manifest.dependencies 未列出 yfinance/plotly,实际代码(optimized_risk_parity_skill.py / optimized_main.py)读取本地 CSV、无网络调用迹象。文档中宣称的在线数据抓取能力与实际要求/实现不匹配。
Instruction Scope
运行说明要求设置 ALPHA_VANTAGE_API_KEY 并列出了从 API 获取数据的用法,但代码路径/实现均以 CSV 为主,且默认 CSV 路径指向用户工作区(C:\Users\wu_zhuoran\.openclaw\workspace\data\marketdata.csv)。说明指示访问网络数据与代码实际行为不一致;此外文档允许把任意 CSV 放入默认路径,需注意本地文件读取权限与隐私。
Install Mechanism
没有 install spec;实际文件为 Python 脚本,依赖是常见数据分析包(pandas/numpy/matplotlib/seaborn)。无远程下载或可执行二进制安装步骤,磁盘写入/执行范围受限于脚本本身,安装风险较低。
Credentials
Registry metadata 报告 'required env vars: none' 而 SKILL.md 要求 ALPHA_VANTAGE_API_KEY。这是不一致的:如果技能确实需要在线 API,清单应声明相应环境变量;反之,文档要求 API Key 会误导用户暴露凭证。总体上没有看到对其他凭据或敏感变量的不当请求。
Persistence & Privilege
技能未设置 always:true,未请求修改其他技能或系统范围配置,也不声明需要长期驻留或特殊权限。默认行为(按需运行脚本并读写输出目录)与其用途相称。
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install financial-analysis
  3. After installation, invoke the skill by name or use /financial-analysis
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
优化的金融分析技能,整合滚动窗口调仓逻辑和回测功能
Metadata
Slug financial-analysis
Version 1.0.0
License
All-time Installs 15
Active Installs 15
Total Versions 1
Frequently Asked Questions

What is 金融分析技能?

利用免费数据源进行多资产投资组合的风险平价分析、动态调仓和回测,提供文字报告与图表可视化。 It is an AI Agent Skill for Claude Code / OpenClaw, with 733 downloads so far.

How do I install 金融分析技能?

Run "/install financial-analysis" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 金融分析技能 free?

Yes, 金融分析技能 is completely free (open-source). You can download, install and use it at no cost.

Which platforms does 金融分析技能 support?

金融分析技能 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 金融分析技能?

It is built and maintained by wzratgit (@wzratgit); the current version is v1.0.0.

💬 Comments