How do you use window functions such as rank, dense_rank, lead, and lag for time-series financial data analysis?