Skip to main content

max-drawdown-calculation

用于回撤指标的最大回撤计算原子 skill,适用于通用行业金融计算场景。

Ir a la instalación

Datos de origen

Repositorio
jewdore/openclaw-finclaw-test
Última actividad en el origen
16 de marzo de 2026 a las 10:29
Idioma detectado de SKILL.md
chino
Estrellas
0
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
4 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
max-drawdown-calculation
description
用于回撤指标的最大回撤计算原子 skill,适用于通用行业金融计算场景。
# 最大回撤计算 Skill ## 数据来源 本 Skill 支持多种金融数据输入格式,核心数据来源包括: ### 1. 价格序列数据 - **股票价格数据**:日收盘价、周收盘价、月收盘价 - **基金净值数据**:单位净值、累计净值 - **组合净值数据**:组合累计净值序列 - **指数数据**:各类市场指数、行业指数 ### 2. 净值数据 - **累计净值序列**:已计算的累计净值数据 - **收益率序列**:基于收益率计算的累计净值 - **回撤序列**:历史回撤数据 ### 3. 数据格式要求 - **CSV格式**:标准时间序列数据,包含日期和价格/净值列 - **Excel格式**:支持多工作表数据 - **JSON格式**:结构化时间序列数据 - **数据库连接**:支持SQL数据库直接查询 > 说明:本 Skill 不包含数据采集功能,需要用户提供清洗后的价格或净值数据。建议数据时间跨度不少于1年,以便进行准确的最大回撤计算。 --- ## 功能 本 Skill 提供全面的最大回撤计算能力,涵盖多种计算方法: ### 1. 最大回撤计算 - **绝对最大回撤** = (峰值 - 谷值) / 峰值 × 100% - **相对最大回撤**:相对于初始值的最大回撤 - **滚动最大回撤**:计算指定时间窗口内的滚动最大回撤 - **分段最大回撤**:计算不同时间段的最大回撤 ### 2. 回撤指标计算 - **最大回撤持续时间**:从峰值到谷值的时间长度 - **回撤恢复时间**:从谷值恢复到峰值的时间长度 - **回撤频率**:统计回撤发生的频率 - **平均回撤**:计算平均回撤水平 ### 3. 回撤分析 - **回撤分布**:分析回撤的分布特征 - **回撤趋势**:分析回撤的时间趋势 - **回撤预警**:设置回撤阈值进行预警 ### 4. 回撤对比 - **与基准对比**:与基准指数的回撤对比 - **与同类对比**:与同类产品的回撤对比 - **历史对比**:与历史回撤水平对比 ### 5. 数据处理能力 - **缺失值处理**:支持前向填充、插值等方法 - **异常值检测**:基于统计方法识别和处理异常价格 - **数据标准化**:支持不同数据源的格式统一 - **交易日调整**:自动识别交易日和非交易日 --- ## 使用示例 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 基础使用 ```bash # 计算最大回撤 python scripts/calc_max_drawdown.py --input prices.csv --date-col date --price-col close --output drawdown.csv # 计算滚动最大回撤 python scripts/calc_max_drawdown.py --input prices.csv --date-col date --price-col close --output rolling_drawdown.csv --window 30 # 计算分段最大回撤 python scripts/calc_max_drawdown.py --input prices.csv --date-col date --price-col close --output period_drawdown.csv --period monthly ``` ### 3. 高级配置 ```bash # 计算回撤持续时间 python scripts/calc_max_drawdown.py --input prices.csv --date-col date --price-col close --output drawdown_analysis.csv --include-duration true # 与基准对比 python scripts/calc_max_drawdown.py --input prices.csv --benchmark benchmark.csv --output comparison.csv --compare-benchmark true # 设置回撤预警阈值 python scripts/calc_max_drawdown.py --input prices.csv --date-col date --price-col close --output alert.csv --threshold 0.1 ``` ### 4. 输出示例 ```json { "symbol": "000001.SZ", "period": "2024-01-01 to 2024-12-31", "max_drawdown": { "absolute_drawdown": 25.8, "relative_drawdown": 25.8, "peak_date": "2024-06-15", "trough_date": "2024-08-20", "recovery_date": "2024-11-10", "duration_days": 66, "recovery_days": 82 }, "rolling_drawdown": { "30_day_max": 8.5, "60_day_max": 15.2, "90_day_max": 22.3 }, "statistics": { "average_drawdown": 5.2, "drawdown_frequency": 12, "max_drawdown_period": "2024-06 to 2024-08" }, "distribution": { "percentile_25": 3.2, "percentile_50": 5.8, "percentile_75": 10.5 } } ``` --- ## 注意事项与限制 ### 1. 数据质量要求 - 价格或净值数据需要经过清洗和验证 - 建议使用足够长的历史数据(至少1年) - 异常数据会影响最大回撤计算结果 ### 2. 计算方法选择 - 不同计算方法的结果可能不同 - 滚动窗口大小会影响回撤计算结果 - 分段计算需要考虑时间段的合理性 ### 3. 时间序列特性 - 最大回撤具有时间依赖性 - 不同时间区间的回撤不可直接比较 - 市场环境变化会影响回撤水平 ### 4. 综合判断原则 - 单一回撤指标不能全面反映风险特征 - 需要结合其他风险指标进行综合分析 - 应结合市场环境和投资策略进行判断 ### 5. 使用限制 - 本 Skill 输出为技术分析结果,不构成投资建议 - 使用者应结合专业判断和具体业务场景 - 对于重大决策,建议咨询专业投资顾问 --- ## 参考资料 - 见 references/ 目录中的相关文档,包括: - 最大回撤计算公式手册 - 回撤分析方法指南 - 风险指标计算最佳实践 - 数据处理方法说明文档 ## License - 本 skill 代码部分采用 MIT License,详见 `LICENSE` 文件 - 依赖与运行环境以 `requirements.txt` 为准 - 文档内容采用 CC BY 4.0 许可
Ver en GitHub