Full-moon vol (not direction)

This tests whether full-moon vol (not direction). Checked across 2,862 occurrences in 14,260 trading days. Nothing separates it from chance.

Conclusion: Null

No effect at any horizon tested.

Events
2,862
occurrences
Sessions
14,260
daily
Effect
+0.00741
mean abnormal
p
0.193
shift null

Method

Hypothesis

Full-moon vol (not direction)

Rule

# daily frequency: this mechanism is invisible at monthly resolution
function test(returns, event_mask):
stat = mean(returns where event_mask) - mean(returns elsewhere)
# null: slide the event mask through the calendar, so any
# calendar structure in returns appears under the null too
null = [statistic(returns, roll(event_mask, k))
for k in all offsets, abs(k) >= 21 days]
p = (count(null beyond stat) + 1) / (len(null) + 1)
return stat, p
reject if Benjamini-Hochberg q <= 0.10 across the daily batch

Evaluation

Table 1 · Daily event study

MeasureValue
Trading sessions14,260
Events2,862
Mean abnormal return+0.007413
Shift-test p (directional)0.1933
Shift-test p (two-sided)0.1933
BH q-value0.4323
The null shifts the event mask through the calendar, so any calendar structure in returns appears under it too.

Reference

Instruments

last price and one-month change, live from Yahoo Finance
SymbolNotes
see ruleNot in the instrument table.

Sample

14,260 trading sessions

Sources

NOAA Climate Prediction Center. Teleconnection indices. AO, NAO, PNA, SAM. www.cpc.ncep.noaa.gov/products/precip/CWlink/daily_ao_index/ao.shtml
NOAA National Hurricane Center. HURDAT2 Atlantic hurricane database. www.nhc.noaa.gov/data/#hurdat
Yahoo Finance. Historical market prices. Adjusted close, month-end. Retrieved with yfinance. finance.yahoo.com
Computed, not sourced
Moon phase computed analytically (synodic 29.530588 d)

Revision history

RevStageStatusChange
01DraftDirection and criteria fixed before the experiment ran
02TestedNullDaily event study; corrected across the daily batch