Event blockers: earnings & ex-dividend
WheelTrading.io checks every order before sending whether the expiry sits dangerously close to a quarterly earnings release or an ex-dividend date. If so, the send is blocked at first - you see an orange warning with all details and must tick a checkbox ("I understand the risks") before the order actually leaves the system.
Why?
- Earnings: stocks often gap up/down after the report. Short PUTs
catch the downside (gap-down), short CALLs the upside.
- Ex-dividend on PUTs: if your PUT is assigned at the ex-date you
get the shares at strike, but the dividend goes to the previous holder. Effectively you lose the dividend.
- Ex-dividend on CALLs: the holder of an ITM call has a strong
incentive to early-exercise the day before ex-date to capture the dividend. You lose the shares and the dividend.
The knobs (globals)
In Settings → Event blockers (earnings & dividends) you can set per account:
| Field | Meaning | Recommended |
|---|---|---|
| Earnings blocker Put (days) | PUT blocked if earnings fall within X days before expiry | 3 |
| Earnings blocker Call (days) | CALL blocked if earnings fall within X days before expiry | 3 |
| Block Put before ex-dividend (days) | PUT blocked if ex-date is within X days before expiry | 3-5 |
| Block Call before ex-dividend (days) | CALL blocked if ex-date is within X days before expiry | 5-10 |
| Safe days after ex-dividend | Minimum wait after ex-date before a new Covered Call is allowed | 7 |
Set a value to 0 to disable the respective blocker for this account.
How it appears in the workflow
- In the proposals list (Trades → To-Send):
proposals inside the blocker window carry an orange badge Earnings 2d or Ex-Div 1d next to the symbol. Hover shows the full explanation. The proposal does not disappear - it is simply flagged so you can decide consciously.
- On clicking "Send": the confirmation dialog blocks the send
button and shows an orange box "Event warning". Per hit you see the type (earnings/ex-div), days until the event, the exact date and your own blocker window - plus a plain-text reason.
- Mandatory acknowledgement: tick the box "I understand the
event risks and want to send the trade anyway". Only then the send button becomes active.
Example
CMCSA short PUT 22 USD, expiry 2026-07-02:
- next ex-date: 2026-07-01 (1 day before expiry)
- your global setting: 3 days
- → backend response: "Ex-dividend date in 14 days
(2026-07-01). Your blocker window: 3 days. On assignment at the ex-date the dividend goes to the previous holder, you only get the shares at strike."
What the blocker does not do
- It only looks at the next earnings / ex-dividend date before
expiry. Events after expiry are irrelevant - the trade is already closed by then.
- It does not predict actual assignment. It is a **preventive
warning** based on expiry - what happens after assignment (e.g. cost-basis effects) is handled by the tax module separately.