Files
daymade 2896870061 feat: add financial-data-collector skill for US equity data collection
New skill that collects real financial data for any US publicly traded company
via yfinance. Outputs structured JSON with market data, historical financials,
WACC inputs, and analyst estimates. Includes 9-check validation script and
reference docs for yfinance pitfalls (NaN years, field aliases, FCF mismatch).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:40:52 +08:00

3.5 KiB

Output Schema — financial-data-collector

All monetary values in millions USD unless noted. Null means "not available from source."

Top-Level Fields

Field Type Description
ticker string Stock ticker symbol (e.g., "META")
company_name string Full company name from yfinance
data_date string ISO date when data was collected
currency string Always "USD" for US equities
unit string Always "millions_usd"
data_sources object Attribution for each data section

market_data

Field Type Source Notes
current_price float yf.Ticker.info["currentPrice"] USD per share
shares_outstanding_millions float info["sharesOutstanding"] / 1e6 Diluted if available
market_cap_millions float info["marketCap"] / 1e6
beta_5y_monthly float|null info["beta"] May be null for recent IPOs

income_statement (keyed by year string)

Field Type Source Row Index
revenue float|null "Total Revenue" or "Revenue"
ebit float|null "Operating Income" or "EBIT"
ebitda float|null "EBITDA" (if available)
tax_expense float|null "Tax Provision" or "Income Tax Expense"
net_income float|null "Net Income"
sbc float|null "Stock Based Compensation" (in cash_flow)
_source string Data provenance

cash_flow (keyed by year string)

Field Type Source Row Index Sign
operating_cash_flow float|null "Operating Cash Flow" Positive = inflow
capex float|null "Capital Expenditure" Negative = outflow
depreciation_amortization float|null "Depreciation And Amortization" Positive
free_cash_flow float|null "Free Cash Flow" yfinance definition (see metadata)
change_in_nwc float|null "Change In Working Capital" Negative = use of cash
_source string

balance_sheet (latest year only by default)

Field Type Source Row Index
total_debt float|null "Total Debt" or "Long Term Debt" + "Short Long Term Debt"
cash_and_equivalents float|null "Cash And Cash Equivalents" + "Other Short Term Investments"
net_debt float|null Computed: total_debt - cash_and_equivalents
current_assets float|null "Current Assets"
current_liabilities float|null "Current Liabilities"
total_assets float|null "Total Assets"
total_equity float|null "Stockholders Equity"
_source string

wacc_inputs

Field Type Source
risk_free_rate float|null yfinance ^TNX (10Y Treasury)
beta float|null Same as market_data.beta_5y_monthly
credit_rating string|null Not available from yfinance — null unless user provides

analyst_estimates

Field Type Source
revenue_next_fy float|null yf.Ticker.analyst_price_targets or revenue_estimate
revenue_fy_after float|null Same
eps_next_fy float|null yf.Ticker.analyst_price_targets or eps_trend

metadata

Field Value
_capex_convention "negative = cash outflow (yfinance convention)"
_fcf_note "yfinance FCF = OperatingCF + CapEx. Does NOT deduct SBC."
_nan_years List of years where yfinance returned NaN
_collection_duration_seconds Time taken to collect all data