INVITE-ONLY SCRIPT
Aggiornato

Earnings Move & Volatility Radar

67
Earnings Move & Volatility Radar: an overlay indicator for analyzing **earnings events**, designed to quickly quantify and visualize a stock’s typical reaction on the **first trading day after earnings (E+1)** and the **second trading day (E+2)**—including typical move size, up/down odds, extremes, and where your chosen thresholds sit inside the historical distribution. The script automatically detects earnings events using TradingView earnings data and annotates key reaction points on the chart to support review, backtesting, and risk framing.

**Chart Annotations**
- **PreMkt label**: Overnight/premarket gap from **earnings-day close → E+1 open** (direction-colored).
- **E+1 label**: **E+1 close vs earnings-day close** percent move, with date for quick per-event review.
- **E+2 label**: **E+2 close vs E+1 close** percent move to judge continuation vs reversal.

**Statistics Table Fields**

**Observations (Xm)**
- The number of earnings events included within your lookback window (X months). This is the sample size used for all stats.

**E+1 Close-Day Stats (E+1 close vs earnings-day close)**
- **Max move**: The largest E+1 close-to-close change (%) observed (biggest first-day reaction up).
- **Min move**: The smallest E+1 close-to-close change (%) observed (worst first-day reaction down).
- **Up frequency**: % of events where the E+1 close change is > 0.
- **Down frequency**: % of events where the E+1 close change is < 0.
- **Avg up move**: Average E+1 close change (%) considering only up outcomes.
- **Avg down move**: Average E+1 close change (%) considering only down outcomes.
- **Percentile @ [E+1 threshold]%**: Places your threshold inside the historical same-direction distribution.
- For upside thresholds: % of E+1 up moves that are <= the threshold.
- For downside thresholds: % of E+1 down moves whose absolute size is smaller than |threshold|.
Answers: “How common is a move at/under this level (in this direction)?”
- **Rank @ [E+1 threshold]%**: A 0–100 linear position of your threshold between the historical min and max (same-direction set).
Answers: “Is this threshold closer to the historical low end or high end?”

**E+1 vs SPY**
- **RelVol avg**: Average Relative Volatility multiple on E+1, computed as `|stock E+1 return| / |SPY return|` for the same session.
- **RelVol > 10x**: % of events where RelVol exceeds the chosen multiple (default 10x).
- **RelVol max**: Maximum RelVol observed.
- **RelVol min**: Minimum RelVol observed.
- **β_normal(60) avg**: Average “normal beta” across earnings events—each event samples the **60-session rolling beta** snapshot at the **earnings-day close** (pre-reaction baseline), then averages across all events.
Formula: `β = Cov(R_stock, R_SPY) / Var(R_SPY)`, where `R` is the close-to-close return.
- **β_imp_gap_abs(E+1) avg**: Average “implied gap strength (absolute)” across earnings events—computed per event as:
`β_imp_gap_abs(E+1) = |Gap_stock| / |Gap_SPY|`, where `Gap = Open(E+1) / Close(EarningsDay) − 1`.
To prevent extreme inflation when the benchmark overnight gap is near zero, an event is excluded (set to N/A) unless `|Gap_SPY|` is at least the configured minimum: **“Min benchmark gap abs for β_imp (%, E+1)”**.

**E+2 Follow-Through Stats (E+2 close vs E+1 close)**
- **Max move**: Largest E+2 close-to-close change (%) observed.
- **Min move**: Smallest E+2 close-to-close change (%) observed.
- **Up frequency**: % of events where E+2 change is > 0.
- **Down frequency**: % of events where E+2 change is < 0.
- **Avg up move**: Average E+2 change (%) considering only up outcomes.
- **Avg down move**: Average E+2 change (%) considering only down outcomes.
- **Percentile @ [E+2 threshold]%**: Same concept as E+1, applied to the E+2 distribution.
- **Rank @ [E+2 threshold]%**: Same concept as E+1, applied to the E+2 distribution.

Disclaimer: For educational and analytical purposes only. Not financial advice.

----------------------------------------------------------------------------------------------

Earnings Move & Volatility Radar:是一款用于“财报事件”分析的图表叠加指标,核心目标是快速量化并可视化:个股在财报发布后第 1 个交易日(E+1)与第 2 个交易日(E+2)的典型波动幅度、上涨/下跌概率、极值区间,以及你设定的阈值在历史分布中的位置。指标会基于 TradingView 的财报数据自动识别财报事件,并在图表上标注关键反应节点,帮助你回测与复盘“财报后走势规律”、评估预期波动与尾部风险、制定更合理的交易/风控参数。

图表标注说明
- PreMkt 标签:显示财报日收盘 → 下一交易日开盘(E+1 open)的跳空幅度(盘前/隔夜反应),用红绿区分方向。
- E+1 标签:显示 E+1 收盘相对财报日收盘的涨跌幅,并附带日期,便于逐次复盘首日反应。
- E+2 标签:显示 E+2 收盘相对 E+1 收盘的涨跌幅,用于观察第二天是否延续或反转。

统计表(Statistics table)字段说明

Observations (Xm)
- 统计样本数:在你设置的回看窗口(X 个月)内、被纳入统计的财报事件数量。这个数值就是所有统计结果的样本基数。

E+1 Close-Day Stats(E+1:收盘相对财报日收盘)
- Max move:样本中 E+1 最大涨幅(%),代表最强的首日正向反应。
- Min move:样本中 E+1 最大跌幅(%),代表最强的首日负向反应/尾部风险。
- Up frequency:E+1 收涨(>0)的占比,告诉你首日更常收红还是收绿。
- Down frequency:E+1 收跌(<0)的占比。
- Avg up move:仅统计 E+1 收涨样本的平均涨幅(%),反映“涨的时候通常能涨多少”。
- Avg down move:仅统计 E+1 收跌样本的平均跌幅(%),反映“跌的时候通常能跌多少”。
- Percentile @ [E+1 threshold]%:把你设置的 E+1 阈值放进历史同向分布里看“常见程度”。
- 若阈值为正:统计 E+1 上涨样本中,涨幅 ≤ 该阈值的比例。
- 若阈值为负:统计 E+1 下跌样本中,跌幅绝对值 < |该阈值| 的比例。
用于回答:这个目标幅度在历史上“有多常见/多罕见”。
- Rank @ [E+1 threshold]%:把阈值映射到历史最小—最大区间中的 0–100 位置(同向集合),更直观地看阈值处于“偏低/中等/偏极端”。

E+1 vs SPY(E+1 相对大盘的对比)
- RelVol avg:E+1 的相对波动均值(倍数),计算为 |个股 E+1 涨跌幅| / |SPY 同期涨跌幅|。
用于判断:财报后首日反应通常是“远强于大盘”还是“与大盘差不多”。
- RelVol > 10x:RelVol 超过 10 倍(默认阈值)的事件占比。
用于衡量:出现“相对大盘异常放大波动”的频率有多高。
- RelVol max:样本中最大 RelVol(最极端的相对放大波动)。
- RelVol min:样本中最小 RelVol(最弱的相对波动)。
- β_normal(60) avg:样本期内“常态 Beta”的平均值——对每一次财报事件,取财报反应发生前(财报日收盘时点)的 60 根滚动 Beta 快照,再对所有事件求平均。
计算公式:β = Cov(R_stock, R_SPY) / Var(R_SPY),其中 R 为日收盘到收盘收益率。
- β_imp_gap_abs(E+1) avg:样本期内“隔夜跳空隐含强度(绝对值口径)”的平均值——对每一次财报事件,按隔夜跳空幅度计算:
β_imp_gap_abs(E+1) = |Gap_stock| / |Gap_SPY|,
其中 Gap = Open(E+1) / Close(财报日) − 1,然后对所有事件求平均。
为避免大盘隔夜跳空过小(分母接近 0)导致数值被极端放大,当 |Gap_SPY| 小于你设置的最小阈值时,该次事件会被剔除(记为 N/A,不参与平均)。

E+2 Follow-Through Stats(E+2:收盘相对 E+1 收盘)
- Max move:样本中 E+2 最大涨幅(%),代表最强的第二天延续。
- Min move:样本中 E+2 最大跌幅(%),代表最强的第二天回撤/反转风险。
- Up frequency:E+2 收涨(>0)的占比。
- Down frequency:E+2 收跌(<0)的占比。
- Avg up move:仅统计 E+2 收涨样本的平均涨幅(%)。
- Avg down move:仅统计 E+2 收跌样本的平均跌幅(%)。
- Percentile @ [E+2 threshold]%:同 E+1 的逻辑,但基于 E+2 的历史分布,用来衡量你设定的 E+2 目标幅度在历史上是否常见。
- Rank @ [E+2 threshold]%:同 E+1 的逻辑,但应用于 E+2。

免责声明:本指标仅用于学习与分析,不构成任何投资建议。
Note di rilascio
Earnings Move & Volatility Radar: an overlay indicator for analyzing **earnings events**, designed to quickly quantify and visualize a stock’s typical reaction on the **first trading day after earnings (E+1)** and the **second trading day (E+2)**—including typical move size, up/down odds, extremes, and where your chosen thresholds sit inside the historical distribution. The script automatically detects earnings events using TradingView earnings data and annotates key reaction points on the chart to support review, backtesting, and risk framing.

**Chart Annotations**
- **PreMkt label**: Overnight/premarket gap from **earnings-day close → E+1 open** (direction-colored).
- **E+1 label**: **E+1 close vs earnings-day close** percent move, with date for quick per-event review.
- **E+2 label**: **E+2 close vs E+1 close** percent move to judge continuation vs reversal.

**Statistics Table Fields**

**Observations (Xm)**
- The number of earnings events included within your lookback window (X months). This is the sample size used for all stats.

**E+1 Close-Day Stats (E+1 close vs earnings-day close)**
- **Max move**: The largest E+1 close-to-close change (%) observed (biggest first-day reaction up).
- **Min move**: The smallest E+1 close-to-close change (%) observed (worst first-day reaction down).
- **Up frequency**: % of events where the E+1 close change is > 0.
- **Down frequency**: % of events where the E+1 close change is < 0.
- **Avg up move**: Average E+1 close change (%) considering only up outcomes.
- **Avg down move**: Average E+1 close change (%) considering only down outcomes.
- **Percentile @ [E+1 threshold]%**: Places your threshold inside the historical same-direction distribution.
- For upside thresholds: % of E+1 up moves that are <= the threshold.
- For downside thresholds: % of E+1 down moves whose absolute size is smaller than |threshold|.
Answers: “How common is a move at/under this level (in this direction)?”
- **Rank @ [E+1 threshold]%**: A 0–100 linear position of your threshold between the historical min and max (same-direction set).
Answers: “Is this threshold closer to the historical low end or high end?”

**E+1 vs SPY**
- **RelVol avg**: Average Relative Volatility multiple on E+1, computed as `|stock E+1 return| / |SPY return|` for the same session. Helps you see whether earnings reactions tend to be muted or outsized vs the broad market.
- **RelVol > 10x**: % of events where RelVol exceeds the chosen multiple (default 10x). Helps you gauge how often E+1 is an “outsized vs SPY” day.
- **RelVol max**: Maximum RelVol observed (most extreme “vs market” reaction).
- **RelVol min**: Minimum RelVol observed (most muted “vs market” reaction).
- **β_normal(60) avg**: Average “normal beta” across earnings events—each event samples the **60-session rolling beta** snapshot at the **earnings-day close** (pre-reaction baseline), then averages across all events.
Formula: `β = Cov(R_stock, R_SPY) / Var(R_SPY)`, where `R` is the close-to-close return.
- **β_imp_abs(E+1) avg**: Average “implied relative-strength beta (absolute)” across earnings events—computed per event as:
`β_imp_abs(E+1) = |R_stock(E→E+1 close)| / |R_SPY(E→E+1 close)|`,
where `R(E→E+1 close) = Close(E+1) / Close(EarningsDay) − 1`.
To prevent extreme inflation when the benchmark return is near zero, an event is excluded (set to N/A) unless `|R_SPY(E→E+1 close)|` is at least the configured minimum: **“Min benchmark abs return for β_imp (%, E->E+1 close)”**.

**E+2 Follow-Through Stats (E+2 close vs E+1 close)**
- **Max move**: Largest E+2 close-to-close change (%) observed (best day-two continuation).
- **Min move**: Smallest E+2 close-to-close change (%) observed (worst day-two continuation).
- **Up frequency**: % of events where E+2 change is > 0 (how often day two is positive).
- **Down frequency**: % of events where E+2 change is < 0 (how often day two is negative).
- **Avg up move**: Average E+2 change (%) considering only up outcomes (typical day-two upside when up).
- **Avg down move**: Average E+2 change (%) considering only down outcomes (typical day-two downside when down).
- **Percentile @ [E+2 threshold]%**: Same concept as E+1, applied to the E+2 distribution.
- **Rank @ [E+2 threshold]%**: Same concept as E+1, applied to the E+2 distribution.

Disclaimer: For educational and analytical purposes only. Not financial advice.

----------------------------------------------------------------------------------------------

Earnings Move & Volatility Radar:是一款用于“财报事件”分析的图表叠加指标,核心目标是快速量化并可视化:个股在财报发布后第 1 个交易日(E+1)与第 2 个交易日(E+2)的典型波动幅度、上涨/下跌概率、极值区间,以及你设定的阈值在历史分布中的位置。指标会基于 TradingView 的财报数据自动识别财报事件,并在图表上标注关键反应节点,帮助你回测与复盘“财报后走势规律”、评估预期波动与尾部风险、制定更合理的交易/风控参数。

图表标注说明
- PreMkt 标签:显示财报日收盘 → 下一交易日开盘(E+1 open)的跳空幅度(盘前/隔夜反应),用红绿区分方向。
- E+1 标签:显示 E+1 收盘相对财报日收盘的涨跌幅,并附带日期,便于逐次复盘首日反应。
- E+2 标签:显示 E+2 收盘相对 E+1 收盘的涨跌幅,用于观察第二天是否延续或反转。

统计表(Statistics table)字段说明

Observations (Xm)
- 统计样本数:在你设置的回看窗口(X 个月)内、被纳入统计的财报事件数量。这个数值就是所有统计结果的样本基数。

E+1 Close-Day Stats(E+1:收盘相对财报日收盘)
- Max move:样本中 E+1 最大涨幅(%),代表最强的首日正向反应。
- Min move:样本中 E+1 最大跌幅(%),代表最强的首日负向反应/尾部风险。
- Up frequency:E+1 收涨(>0)的占比,告诉你首日更常收红还是收绿。
- Down frequency:E+1 收跌(<0)的占比。
- Avg up move:仅统计 E+1 收涨样本的平均涨幅(%),反映“涨的时候通常能涨多少”。
- Avg down move:仅统计 E+1 收跌样本的平均跌幅(%),反映“跌的时候通常能跌多少”。
- Percentile @ [E+1 threshold]%:把你设置的 E+1 阈值放进历史同向分布里看“常见程度”。
- 若阈值为正:统计 E+1 上涨样本中,涨幅 ≤ 该阈值的比例。
- 若阈值为负:统计 E+1 下跌样本中,跌幅绝对值 < |该阈值| 的比例。
用于回答:这个目标幅度在历史上“有多常见/多罕见”。
- Rank @ [E+1 threshold]%:把阈值映射到历史最小—最大区间中的 0–100 位置(同向集合),更直观地看阈值处于“偏低/中等/偏极端”。

E+1 vs SPY(E+1 相对大盘的对比)
- RelVol avg:E+1 的相对波动均值(倍数),计算为 |个股 E+1 涨跌幅| / |SPY 同期涨跌幅|。
用于判断:财报后首日反应通常是“远强于大盘”还是“与大盘差不多”。
- RelVol > 10x:RelVol 超过 10 倍(默认阈值)的事件占比。
用于衡量:出现“相对大盘异常放大波动”的频率有多高。
- RelVol max:样本中最大 RelVol(最极端的相对放大波动)。
- RelVol min:样本中最小 RelVol(最弱的相对波动)。
- β_normal(60) avg:样本期内“常态 Beta”的平均值——对每一次财报事件,取财报反应发生前(财报日收盘时点)的 60 根滚动 Beta 快照,再对所有事件求平均。
计算公式:β = Cov(R_stock, R_SPY) / Var(R_SPY),其中 R 为日收盘到收盘收益率。
- β_imp_abs(E+1) avg:样本期内“隐含相对强度 Beta(绝对值口径)”的平均值——对每一次财报事件,按 **E→E+1 收盘收益** 的相对强度计算:
β_imp_abs(E+1) = |R_stock(E→E+1 close)| / |R_SPY(E→E+1 close)|,
其中 R(E→E+1 close) = Close(E+1) / Close(财报日) − 1,然后对所有事件求平均。
为避免大盘当日涨跌幅过小(分母接近 0)导致数值被极端放大,当 |R_SPY(E→E+1 close)| 小于你设置的最小阈值 “Min benchmark abs return for β_imp (%, E->E+1 close)” 时,该次事件会被剔除(记为 N/A,不参与平均)。

E+2 Follow-Through Stats(E+2:收盘相对 E+1 收盘)
- Max move:样本中 E+2 最大涨幅(%),代表最强的第二天延续。
- Min move:样本中 E+2 最大跌幅(%),代表最强的第二天回撤/反转风险。
- Up frequency:E+2 收涨(>0)的占比。
- Down frequency:E+2 收跌(<0)的占比。
- Avg up move:仅统计 E+2 收涨样本的平均涨幅(%)。
- Avg down move:仅统计 E+2 收跌样本的平均跌幅(%)。
- Percentile @ [E+2 threshold]%:同 E+1 的逻辑,但基于 E+2 的历史分布,用来衡量你设定的 E+2 目标幅度在历史上是否常见。
- Rank @ [E+2 threshold]%:同 E+1 的逻辑,但应用于 E+2。

免责声明:本指标仅用于学习与分析,不构成任何投资建议。

Declinazione di responsabilità

Le informazioni e le pubblicazioni non sono intese come, e non costituiscono, consulenza o raccomandazioni finanziarie, di investimento, di trading o di altro tipo fornite o approvate da TradingView. Per ulteriori informazioni, consultare i Termini di utilizzo.