earnings-recap

安装量: 536
排名: #6595

安装

npx skills add https://github.com/himself65/finance-skills --skill earnings-recap
Contains Shell Commands
This skill contains shell command directives (
!command
) that may execute system commands. Review carefully before installing.
Earnings Recap Skill
Generates a post-earnings analysis using Yahoo Finance data via
yfinance
. Covers the actual vs estimated numbers, surprise magnitude, stock price reaction, and financial context — a complete picture of what happened.
Important
Data is for research and educational purposes only. Not financial advice. yfinance is not affiliated with Yahoo, Inc. Step 1: Ensure yfinance Is Available Current environment status: !python3 -c "import yfinance; print('yfinance ' + yfinance.__version__ + ' installed')" 2>/dev/null || echo "YFINANCE_NOT_INSTALLED" If YFINANCE_NOT_INSTALLED , install it: import subprocess , sys subprocess . check_call ( [ sys . executable , "-m" , "pip" , "install" , "-q" , "yfinance" ] ) If already installed, skip to the next step. Step 2: Identify the Ticker and Gather Data Extract the ticker from the user's request. Fetch all relevant post-earnings data in one script. import yfinance as yf import pandas as pd from datetime import datetime , timedelta ticker = yf . Ticker ( "AAPL" )

replace with actual ticker

--- Earnings result ---

earnings_hist

ticker . earnings_history

--- Financial statements ---

quarterly_income

ticker . quarterly_income_stmt quarterly_cashflow = ticker . quarterly_cashflow quarterly_balance = ticker . quarterly_balance_sheet

--- Price reaction ---

Get ~30 days of history to capture the reaction window

hist

ticker . history ( period = "1mo" )

--- Context ---

info

ticker . info news = ticker . news recommendations = ticker . recommendations What to extract Data Source Key Fields Purpose earnings_history epsEstimate, epsActual, epsDifference, surprisePercent Beat/miss result quarterly_income_stmt TotalRevenue, GrossProfit, OperatingIncome, NetIncome, BasicEPS Actual financials history() Close prices around earnings date Stock price reaction info currentPrice, marketCap, forwardPE Current context news Recent headlines Earnings-related news Step 3: Determine the Most Recent Earnings The most recent earnings result is the first row (most recent date) in earnings_history . Use its date to: Identify the earnings date for the price reaction analysis Match to the corresponding quarter in the financial statements Calculate stock price reaction — compare the close before earnings to the next trading day's close (or open, depending on whether earnings were before/after market) Price reaction calculation import numpy as np

Find the earnings date from earnings_history index

earnings_date

earnings_hist . index [ 0 ]

most recent

Get daily prices around the earnings date

hist_extended

ticker . history ( start = earnings_date - timedelta ( days = 5 ) , end = earnings_date + timedelta ( days = 5 ) )

The reaction is typically measured as:

- Close on the last trading day before earnings -> Close on the first trading day after

Be careful with before/after market reports

if
len
(
hist_extended
)
>=
2
:
pre_price
=
hist_extended
[
'Close'
]
.
iloc
[
0
]
post_price
=
hist_extended
[
'Close'
]
.
iloc
[
-
1
]
reaction_pct
=
(
(
post_price
-
pre_price
)
/
pre_price
)
*
100
Note
The exact reaction window depends on when the company reported (before market open vs after close). The price data will reflect this — look for the biggest gap between consecutive closes near the earnings date.
Step 4: Build the Earnings Recap
Section 1: Headline Result
Lead with the key numbers:
EPS
Actual vs. Estimate, beat/miss by how much, surprise %
Revenue
Actual vs. prior year (from quarterly_income_stmt TotalRevenue)
Stock reaction
% move on earnings day
Example: "AAPL beat Q3 EPS estimates by 3.7% ($1.40 actual vs $1.35 expected). Revenue grew 5.4% YoY to $94.3B. The stock rose +2.1% on the report."
Section 2: Earnings vs. Estimates Detail
Metric
Estimate
Actual
Surprise
EPS
$1.35
$1.40
+$0.05 (+3.7%)
If the user asked about a specific quarter (not the most recent), look further back in
earnings_history
.
Section 3: Quarterly Financial Trends
Show the last 4 quarters of key metrics from
quarterly_income_stmt
:
Quarter
Revenue
YoY Growth
Gross Margin
Operating Margin
EPS
Q3 2024
$94.3B
+5.4%
46.2%
30.1%
$1.40
Q2 2024
$85.8B
+4.9%
46.0%
29.8%
$1.33
Q1 2024
$119.6B
+2.1%
45.9%
33.5%
$2.18
Q4 2023
$89.5B
-0.3%
45.2%
29.2%
$1.26
Calculate margins from the raw financials:
Gross Margin = GrossProfit / TotalRevenue
Operating Margin = OperatingIncome / TotalRevenue
Section 4: Stock Price Reaction
The % move on the earnings day/next session
How it compares to the stock's average earnings-day move (calculate the average absolute move from the last 4 earnings dates in
earnings_history
)
Where the stock is now relative to the earnings-day move (has it held, given back gains, extended further?)
Section 5: Context & What Changed
Based on the data, note:
Whether margins expanded or compressed vs prior quarter
Any notable changes in revenue growth trajectory
How the beat/miss compares to the stock's historical pattern (from the full
earnings_history
)
Current analyst sentiment from
recommendations
if available
Step 5: Respond to the User
Present the recap as a clean, structured summary:
Lead with the headline
"AAPL reported Q3 2024 earnings on [date]: Beat EPS by 3.7%, revenue +5.4% YoY."
Show the tables
for detail
Highlight what matters
Was this a meaningful beat or a low-bar situation? Is the trend improving or deteriorating? Keep it factual — present the data, avoid making investment recommendations Caveats to include Yahoo Finance data may not include all details from the earnings call (guidance, segment breakdowns) Revenue estimates are harder to compare precisely — yfinance provides YoY comparison from financial statements Price reaction may be influenced by broader market moves on the same day This is not financial advice Reference Files references/api_reference.md — Detailed yfinance API reference for earnings history and financial statement methods Read the reference file when you need exact method signatures or to handle edge cases in the financial data.
返回排行榜