- Published on
ta
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
策略解读
在公开交易社区中,有一个名为“ta”的技术分析函数库,它专注于补足那些在常用交易软件中尚未直接提供的分析工具。许多交易者在进行量化研究时,往往需要自行计算一些自定义指标,而这类函数库恰好提供了标准化的数学封装,让使用者能够更便捷地评估策略表现。
其中最具代表性的函数是 cagr,它用于计算“复合年增长率”(Compound Annual Growth Rate, CAGR)。这一指标在投资领域中被广泛使用,用来评估一笔资产在某个时间段内的长期增长速度。CAGR 的核心思想是:假设收益在每一年结束时都被全额再投资,那么从期初到期末,账户总资产需要以怎样的固定年化增长率增长,才能达到最终的结果。
举例来说,如果一笔资金在三年内从 10 万元增长到 20 万元,那么它的 CAGR 并不是简单的总收益率除以年数,而是通过几何平均的方式计算出每年的平均复利增速。这个数值能够帮助交易者直观地了解策略的长期盈利能力,而不受中间波动路径的影响。
需要注意的是,CAGR 只关注起点和终点的资产价值,完全忽略期间发生的回撤、资金曲线的形态以及风险水平。换句话说,一个在期间腰斩后疯狂拉升的策略,与一个稳步攀升的策略,可能拥有完全相同的 CAGR。因此,它更适合作为“结果”的衡量工具,而非“过程”的风险指示器。
围绕 cagr 函数,我们还可以进一步讨论如何将它与回撤、夏普比率、胜率等指标结合使用,从而形成一套更完整的策略评价体系。这也是技术分析函数库存在的意义——它提供了基础的数学工具,而策略研究者需要在此基础上进行二次加工与深度解读。
名词解释
-
复合年增长率(CAGR):一种将多期收益率折算为等价的单一年化增长率的计算方法。它采用几何平均,默认所有利润都会被再投资,因此能够反映资金在长期内的复利效应。CAGR 消除了中途的波动干扰,使不同周期、不同起始资金的策略可以进行比较。
-
回撤(Drawdown):指账户资产从历史高点跌落到某个低点的幅度,通常以百分比表示。最大回撤则衡量整个交易周期中最严重的下跌幅度。回撤是评估策略风险的关键指标,因为它直接影响实际资金承受的亏损程度。
-
年化收益率(Annualized Return):将某个期间的实际收益率折算成一年的等效收益率。年化计算通常分为算术平均与几何平均两种方式,CAGR 就是几何年化收益率的典型代表。
-
复利(Compound Interest):指在每一个计息周期结束后,将所获利息或收益再投入本金,使得下一周期的收益也基于新增资金计算。复利效应是长期投资中最重要的增值引擎之一,CAGR 的数学本质正是对复利过程的浓缩。
-
时间加权收益率(Time-Weighted Return):一种剔除了资金进出影响的投资回报计算方法,它通过分段计算每个持有区间的收益率并连乘得出总收益。CAGR 在本质上接近于时间加权收益率,因为它只取决于期初和期末的资产状态,不依赖中途的现金流变化。
-
几何平均收益率(Geometric Mean Return):将一系列收益率连乘后开 n 次方所得的平均值,能够正确反映多期复利投资的真实增长率。CAGR 就是几何平均收益率的年化形式。
-
资金曲线(Equity Curve):以时间为横轴、账户净值为纵轴绘制的曲线,展示策略净值随时间的变化轨迹。CAGR 是资金曲线上两个端点之间的“直线化”压缩,它丢失了所有内部曲折细节。
策略思路讲解
在量化交易的实践中,策略研究者的最终目标不是设计一个能赚钱的“点子”,而是构建一个能够持续产生正期望收益的完整系统。为了评估一个交易系统是否值得投入实盘,我们需要从多个维度进行考察,包括盈利能力、稳定性、风险水平以及收益与风险之间的性价比。
CAGR 函数正是用来评估盈利能力的一个基础性工具。它的使用非常直接:交易者输入一段资金曲线的起始时间与价格、结束时间与价格,函数即可返回这段时间内的复合年增长率。这个数值可以作为不同策略之间比较的统一标尺。例如,两个策略一个运行了两年,另一个运行了四年,直接比较总收益率没有意义,因为时间跨度不同。而将各自的总收益率折算成年化复合增长率后,就能在相同的“时间维度”上公平比较。
CAGR 的计算逻辑背后,隐藏着一种“长期主义”的交易理念:短期的暴利或暴亏都只是过程,真正重要的是资金在长期内能否以稳定的速度增长。复合年增长率越高,说明策略在单位时间内创造价值的效率越高。但交易者必须清醒地认识到,CAGR 只是一个高度抽象的归纳指标,它不包含任何关于“如何实现”的信息。
在实际策略分析中,我们可以将 CAGR 作为“收益维度”的核心指标,再搭配最大回撤、波动率、夏普比率等风险指标,形成多维度评价矩阵。比如,一个 CAGR 为 30%、最大回撤为 15% 的策略,显然比 CAGR 同为 30%、最大回撤为 60% 的策略更值得选择。因此,CAGR 虽然不能单独说明风险,却是构建风险调整后收益指标(如 Calmar 比率)的基石。
此外,CAGR 也常用于优化参数和比较不同市场环境下的策略表现。当我们对策略进行参数扫描时,可以观察不同参数组合下的 CAGR 分布,从而初步筛选出相对高效的参数区域。不过,这种用法容易陷入过拟合陷阱,因此需要配合样本外验证和稳健性测试。
总而言之,CAGR 函数的价值不在于它的数学复杂度,而在于它为策略评估提供了一个标准化、可比较、易于理解的收益维度。交易者应当把它放在整个分析框架中,与风险指标协同使用,才能得出更全面、更可信的结论。
优点
-
直观易懂:复合年增长率将复杂的多期收益压缩成一个简洁的百分比数值,普通投资者也能轻松理解。相比总收益率,它消除了时间长度的影响,让不同周期的策略可以横向比较。
-
复利视角:CAGR 默认所有利润都被再投资,这符合长期交易中资金滚动增长的实际情景。它能够真实反映资金在复利机制下的增值速度,而不是简单地把总收益除以年数。
-
计算简单,依赖数据少:计算 CAGR 只需要期初和期末两个时间点的资产价格或净值,无需中途的每一笔交易明细,也不需要计算每次买卖的手续费、持仓周期等细节。这使得它易于在各种数据源上快速应用。
-
通用性强:CAGR 可以用于股票、期货、外汇、加密货币等各种交易品种,也可以用于评估一个策略、一个基金、一笔私募投资甚至是整个投资组合的长期表现。它是一种通用的金融语言。
-
适合长期绩效比较:在年度报告、资金管理人或策略评选中,CAGR 常被用作核心绩效汇报指标。它能帮助投资人快速判断不同策略在长周期内的平均增长速度,从而做出初步的配置决策。
缺点
-
忽略风险与波动:CAGR 只关心起点和终点,完全掩盖了中途的剧烈回撤与波动。一个让本金腰斩再翻五倍的策略,与一个平稳上涨的策略可能拥有相同的 CAGR,但两者的风险体验天差地别。
-
对时间起点敏感:如果策略的起始时间恰好处于市场高位,则期初价格偏高,导致计算出的 CAGR 偏低;反之,如果从市场底部开始计算,CAGR 会虚高。因此,不同时间窗口下得出的 CAGR 可能差异巨大,甚至会对同一策略给出完全不同结论。
-
假设收益平滑:CAGR 假设资金在每一年都以固定速度增长,但实际交易中收益是极不均衡的。它抹平了所有“好年份”和“坏年份”之间的差异,导致交易者无法从该指标中看出策略是否依赖极少数几笔大额盈利,也无法了解收益的持续性和稳定性。
-
未考虑资金规模效应:CAGR 是一个相对比率,不反映策略实际管理的资金规模。一个 100 万元本金实现 50% 年化的策略,与一个 1 亿元本金实现 30% 年化的策略,虽然 CAGR 更高的是前者,但后者在实际业务中可能更具价值。流动性、容量和规模限制在 CAGR 中完全无法体现。
-
极易被操纵或误读:由于 CAGR 只依赖两个数据点,交易者可以有意选择有利的起止时间,制造出漂亮的年化数字。这在策略回测或基金业绩展示中是一个常见的陷阱,缺乏经验的投资者很容易被高 CAGR 误导。
起源年份考证
需要说明的是,这里考证的对象是“复合年增长率”这一指标本身,而非某个具体函数实现。根据金融历史文献,复利与几何平均的概念可以追溯到更早的年代,但 CAGR 作为现代投资绩效衡量工具的普及时间相对明确。
-
17 世纪至 18 世纪:复利计算已经被广泛应用于债券和贷款领域,但尚未形成标准化的投资业绩评价指标。当时的投资者更多关注单期收益率或简单利息。
-
20 世纪 30 年代至 40 年代:随着现代投资组合理论的萌芽,收益与风险之间的关系开始被系统性地研究。本杰明·格雷厄姆等人推动了以长期视角分析股票投资的方法,但尚未普遍使用“复合年增长率”这一术语。
-
1960 年代至 1970 年代:共同基金行业快速发展,基金管理人需要向公众统一展示长期业绩。此时,年化收益率和复合增长率开始被标准化为基金报告的必备指标。美国证券交易委员会(SEC)在 20 世纪 70 年代对基金广告和业绩披露提出了更严格的要求,进一步促使 CAGR 从学术概念演变为行业惯例。
-
1980 年代至 1990 年代:随着计算机普及和金融数据库的建设,个人投资者和量化研究者能够更方便地计算 CAGR。它在策略回测、基金评级和投资组合分析中的应用变得非常普遍,逐渐成为任何一份投资业绩报告中的核心要素。
-
21 世纪至今:CAGR 依然是量化交易与资产管理领域中最基本的收益指标之一。它在各类交易社区、策略库和绩效归因工具中被广泛使用,通常与夏普比率、最大回撤等风险指标搭配呈现,构成完整的策略评价体系。
综上所述,该类方法(复合年增长率)的行业公认起源与流行时间线大致为:概念萌芽在 20 世纪中前期,标准化普及于 1970 年代,全面流行于 1980-1990 年代。至于本文所讨论的 cagr 函数的具体实现,由于它属于公开交易社区中的通用工具,无法考证其第一个版本出现的精确年份,但可以确定其设计理念完全继承了上述经典金融定义。
改进建议
-
增加起点灵活性或引入滚动计算:为了避免因起止时间选择不同而导致的指标失真,建议在计算 CAGR 时同时输出滚动窗口 CAGR(例如按月滚动计算 3 年期 CAGR)。这样可以得到一组 CAGR 序列,反映策略在不同历史时点下的收益稳定性,而不是单一孤立的数字。
-
与最大回撤结合,构建风险调整后指标:单独使用 CAGR 会忽略风险,因此建议在策略评估系统中同步计算最大回撤,并输出两者的比值——即 Calmar 比率(CAGR / 最大回撤)。该比率越高,说明策略在承担单位最大回撤的情况下产生了越多的年化收益。这样的组合能够有效弥补 CAGR 在风险维度上的缺失。
-
补充年化波动率与夏普比率:CAGR 只刻画了平均增长率,却无法体现收益的波动程度。建议在策略报告中同时计算年化波动率和夏普比率。夏普比率通过将超额收益除以波动率,能够更全面地衡量每单位风险所获得的收益,与 CAGR 形成互补。
-
加入资金进出流量的敏感性分析:CAGR 假设期初投入一笔资金后不做任何追加或提取,而真实交易中常有资金增减。建议在计算时额外提供“时间加权收益率”与“资金加权收益率”两种版本,让使用者能够区分策略本身的能力与资金管理行为的影响。
-
引入蒙特卡洛模拟验证稳定性:由于 CAGR 对起止点高度敏感,建议在评估策略时,将收益序列打乱后进行上千次蒙特卡洛重采样,得出模拟 CAGR 的分布区间。如果实际 CAGR 落在分布的低尾区域,说明策略收益高度依赖特定顺序,长期可靠性存疑。
-
设定最小样本长度阈值:对于运行时间较短的策略,CAGR 可能具有极大的随机性。建议在展示 CAGR 时强制要求最小回测周期(比如至少 2 年或 3 年),并在报告中标明样本长度,避免投资者对短期策略产生过度信心。
-
多周期 CAGR 对比图:建议在可视化时绘制 1 年、3 年、5 年滚动 CAGR 曲线,与策略净值曲线叠加。这一改进可以让交易者清晰看出策略在不同持有周期下的收益表现,从而在宏观上掌握策略的“速度感”与“持久性”。
总结
公开交易社区中名为“ta”的技术分析函数库,提供了一组用于计算标准内置指标未覆盖之处的数学工具。其中最核心的 cagr 函数,用于计算两个时间点之间的复合年增长率,本质上是对投资回报一种几何化、年化后的抽象表达。
CAGR 是长期投资中最常用的收益标尺,它适合回答“这个策略过去跑得有多快”这个问题,但不适合回答“这个策略过去承受了多大风险”。它忽略了回撤、波动、资金规模以及收益的先后顺序,因而在实际使用中必须与最大回撤、夏普比率、Calmar 比率等指标配合,才能形成立体、完整的策略评估体系。
从起源上看,CAGR 作为标准绩效指标,在 20 世纪 70 年代随着共同基金行业规范化而逐渐普及,并沿用至今。虽然它的数学形式简单,但若使用不当,很容易造成对策略真实水平的高估或低估。
对于量化交易者而言,正确理解 CAGR 的边界,并在此基础上构建多维评价模型,是通往稳健盈利能力的重要一环。先看长期平均速度,再看最坏情况下的下跌深度,再衡量收益的稳定性,最后才谈得上信任一个策略。正如该函数库所传达的理念:“先观察,再行动。”