Wu, Hu, Liu, Zhou, Wang and Long (ICLR 2023; arXiv:2210.02186) argue 1D series hide intraperiod vs interperiod variation. FFT picks top-k periods, reshape each into a 2D tensor (columns = inside a period, rows = same phase across periods), run a shared Inception block, softmax-amplitude mix. SOTA-ish across forecasting, imputation, UEA classification, anomaly detection. thuml/TimesNet. Plain-language intro. Not investment advice.
Takeaway. Markets are multi-periodic (intraday + weekly). A 1D CNN/Transformer sees only neighbors. TimesNet FFT-picks periods, folds the series into 2D maps (column = inside one period, row = same clock across periods), and runs 2D Inception kernels. One backbone for forecast / impute / classify / anomaly.
TimesNet: Temporal 2D-Variation Modeling for General Time Series Analysis (Haixu Wu, Tengge Hu, Yong Liu, Hang Zhou, Jianmin Wang, Mingsheng Long, 2022; ICLR 2023; arXiv:2210.02186). Tsinghua School of Software / BNRist.
Fit for learners: Reshape 1D markets into 2D period maps — nice idea for overnight/intraday seasonality projects.
This Hub note is a plain-language intro. Not investment advice.
RNN forgets long range. TCN is local. Attention on scattered timestamps struggles when several cycles overlap. Autoformer/FEDformer already lean on periodicity in frequency. This paper makes the 2D structure explicit so vision kernels can eat it.
Fold a 24-hour clock into a 24-by-N grid before you reach for PatchTST.
Overnight vs lunch-hour seasonality is a 2D picture. numpy.fft + reshape is an evening, not a cluster.
Tiny evening exercise: hourly series length 168. FFT, take the top period near 24. Pad, reshape to 24 by 7. Average each column (intraday profile) and each row (day-of-week level). Plot both. Learning only.
Landing: arXiv abs
Not investment advice. This Hub note is educational only. TimesNet’s ETT and Traffic scores are not a licence to trade with 2D Inception on returns.
Single course CTA: SoloQuant Academy’s Introduction to Python Programming—FFT on a list, padding, and reshape to a 2D array are the whole TimesBlock cartoon.