Alphanume

Insights

How to Study Stock Reactions to FDA AdCom Votes

Alphanume Team · August 13, 2026

Define the AdCom vote question, resolve which answer favored the product, map the sponsor to a security, and freeze the event timestamp before calculating stock reactions.

To study stock reactions to FDA advisory committee votes, start with the vote that actually occurred rather than a headline saying the panel was positive or negative. Alphanume's FDA Advisory Committee Votes dataset stores one row per vote question from official minutes, including yes, no, and abstain counts, question polarity, the product-favorable outcome, and source-material links.

An AdCom vote is advice from an outside expert panel. It is not the FDA's final approval decision, a medical recommendation, or a guaranteed stock catalyst. The dataset also does not provide ticker mapping or stock prices. Those joins require separately timed sources and explicit review.

Resolve vote polarity before measuring margin

Field

Purpose

Failure to avoid

vote_yes, vote_no, vote_abstain

Official tally from minutes

Assuming every meeting produced numbers

vote_margin

Signed yes minus no

Treating a positive yes margin as always favorable

favorable_answer

Names yes, no, or not applicable as product-favorable

Ignoring reverse-worded questions

vote_outcome_favorable

1 won, 0 lost, null undetermined

Converting ties or non-directional votes to losses

vote_evidence

Explains tally or no-tally status

Dropping the coverage denominator

Some questions ask whether benefits outweigh risks, so yes is favorable. Others ask whether use should be restricted, making no favorable. Calculate a product-favorable margin from favorable_answer, not from vote_margin alone. Exclude not_applicable polarity from directional comparisons while retaining it in the meeting coverage report.

Build one row per chosen event unit

A meeting can contain multiple vote questions. Decide whether the event unit is a question, meeting, asset, or sponsor before loading returns. Question-level analysis keeps record_id. Meeting-level analysis needs a predefined aggregation rule and cannot select the most favorable question after seeing the outcome.

def favorable_margin(row):
    if row["favorable_answer"] == "yes":
        return row["vote_yes"] - row["vote_no"]
    if row["favorable_answer"] == "no":
        return row["vote_no"] - row["vote_yes"]
    return None

question_rows["favorable_margin"] = question_rows.apply(
    favorable_margin,
    axis=1,
)

analysis_rows = question_rows.loc[
    question_rows["vote_evidence"] == "minutes_tally"
].copy()

Rows with vote_seq=0 preserve meetings without a tally. Recent minutes can be unpublished for months, leaving counts null until the dataset updates. Use updated_since to collect those changes and keep the original event snapshot separate from later data completion.

Map the sponsor and event time explicitly

The source includes sponsor company, drug, indication, application identifiers, and asset_key, but no ticker. Build a reviewed sponsor-to-security map with effective dates. Partnerships, acquired assets, private sponsors, and subsidiaries can make a current ticker assignment wrong for the meeting date. Keep unmapped events in the denominator and exclusion report.

The meeting date is a daily anchor, not a precise public vote timestamp. Define whether the result was known before the close, after the close, or during a session using meeting materials and another timestamp source. Then choose the first eligible trading price consistently. Do not switch between same-day close and next-day open based on which produces a cleaner return.

Segment margin, size, and prior pricing

After mapping the security, join Historical Market Cap using an observation on or before the meeting date. Keep the cap date and group thresholds chosen before outcomes. To test whether success was already priced, calculate a predefined pre-meeting return or volatility measure from a separate point-in-time price source. The AdCom dataset itself does not contain prices or market-implied approval probabilities.

study_spec = {
    "event_unit": "vote_question",
    "event_key": "record_id",
    "direction_field": "favorable_answer",
    "margin_field": "favorable_margin",
    "size_asof_rule": "latest market cap on or before meeting date",
    "pre_event_window_sessions": [-20, -2],
    "reaction_windows_sessions": [1, 2, 5],
    "primary_outcome": "next-session absolute return",
    "keep_unmapped_in_exclusions": True,
}

Absolute return measures movement rather than direction. A favorable panel result can still coincide with a negative stock reaction if expectations were higher, other evidence was adverse, or the event was already priced. Report signed and absolute returns separately and compare them only within a design with enough observations.

Control the major biases
  • Advice versus decision. Do not label a favorable vote as FDA approval or fill the later decision from memory.
  • Missing tallies. Preserve no-tally meetings and vote_evidence rather than analyzing only clean winners and losers.
  • Multiple questions. Predefine aggregation when a meeting has several votes.
  • Ticker mapping. Review sponsor and asset ownership as of the meeting date.
  • Small samples. Coverage begins in 2024, and committee events are sparse, so broad causal claims are fragile.

Free access provides the trailing 20 trading sessions after a one-trading-session delay. There may be no held meeting in a short window. An empty response can be valid rather than an outage. The AdCom field documentation explains statuses, evidence values, and the lack of v1 pagination.

Reproduce one committee slice

Choose one committee and retrieve all held meetings in a fixed period. Export the full meeting denominator, question-level tallies, polarity audit, sponsor mapping, market-cap matches, missing-price report, and frozen study specification. Verify every included tally against minutes_url. Then calculate the primary next-session absolute return once, followed by the predefined secondary windows. The event-study design guide is the appropriate next review before interpreting the estimates.