The purpose of a time scale algorithm is to form a time scale with high frequency stability from an ensemble of clocks. The main component in a time scale algorithm generates weights and predictions for N
clocks from the N
-1 measured clock differences. Traditional algorithms mostly focus on how to set weights to improve the stability of the time scale. The algorithm we propose instead focuses on how to adjust predictions to improve stability. We use Kalman filters to estimate the states of measured clock differences. We adjust predictions with the every update of the Kalman filter, to form a time scale. Theoretical analyses and simulations both show that this algorithm filters out white frequency modulation noise, and the formed time scale mainly involves the random walk frequency modulation noise; hence, the time scale formed by our proposed algorithm has high short-term and middle-term stability. Itis also a continuous, real-time, and predictable time scale.