You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pine Script中获取资本支出(Capital Expenditures)的TTM值?

如何在Pine Script中计算资本支出(CAPEX)的TTM值

核心思路

资本支出的TTM值为最近4个完整季度的资本支出总和,和营收TTM的计算逻辑完全一致。由于仅能获取FQ(季度)和FY(年度)数据,我们需要基于季度数据滚动求和,并保持值的连续性直到下一个季度财报更新。

完整Pine Script v5代码

//@version=5
indicator("CAPEX TTM", overlay=false)

// 1. 获取季度资本支出(FQ)数据
capex_quarterly = request.financial(syminfo.tickerid, "CAPEX", "FQ")

// 2. 识别季度切换节点(用于触发TTM计算)
is_quarter_end = ta.change(time.quarter) != 0

// 3. 计算最近4个季度的CAPEX总和(TTM值),仅在季度结束时更新
capex_ttm_calc = ta.sum(capex_quarterly, 4) when is_quarter_end

// 4. 保持TTM值连续显示(直到下一个季度更新),和营收TTM展示逻辑一致
capex_ttm = valuewhen(is_quarter_end, capex_ttm_calc, 0)

// 绘制TTM曲线(蓝色)和季度CAPEX柱状图(红色)
plot(capex_ttm, title="CAPEX TTM", color=color.new(color.blue, 0), linewidth=2)
plot(capex_quarterly, title="Quarterly CAPEX", color=color.new(color.red, 0), style=plot.style_columns)

代码说明

  • 季度数据获取:通过request.financial调用官方季度资本支出数据,参数"FQ"指定季度维度
  • 季度节点识别:ta.change(time.quarter)判断K线是否跨季度,确保仅在季度结束时计算TTM
  • TTM计算逻辑:ta.sum(capex_quarterly, 4)直接求和最近4个季度的CAPEX值,符合TTM定义
  • 连续值展示:valuewhen将计算出的TTM值延续到下一个季度结束,避免中间出现空值,完全匹配营收TTM的展示效果

特殊情况处理(仅年度FY数据可用时)

如果标的仅提供年度资本支出数据,TTM值等价于最近一个完整财年的CAPEX值,可通过以下代码实现:

capex_annual = request.financial(syminfo.tickerid, "CAPEX", "FY")
capex_ttm_annual = valuewhen(ta.change(time.year) != 0, capex_annual, 0)
plot(capex_ttm_annual, title="CAPEX TTM (Annual Data)", color=color.green)

内容的提问来源于stack exchange,提问作者X Y

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 23:00:57