This chapter describes dynamic nonparametric filtering with application to volatility estimation. Problems of nonparametric filtering arise frequently in engineering and financial economics. Nonparametric filters often involve some filtering parameters to choose from. These parameters can be chosen to optimize the performance locally at each time point or globally over a time interval. The filtering parameters are chosen in the chapter via minimizing the prediction error for a large class of filters. Under a general martingale setting, with mild conditions on the time series structure and virtually no assumption on filters, it is shown that the adaptive filter with filtering parameter chosen by historical data performs nearly as well as the one with the ideal filter in the class, in terms of filtering errors. The theoretical result is also verified through intensive simulations. The approach is also useful for choosing the orders of parametric models such as AR or GARCH processes. It can also be applied to volatility estimation in financial economics. The proposed method is illustrated by estimating the volatility of the returns of the S&P500 index and the yields of the three-month Treasury bills.