ducks start laying anywhere from 5-9 months of age, my girls are all about 6 months old, and only one mallard hen is laying right now, Maude my pekin is about 2 1/2yrs. she's just started up laying again.
they will lay in the cold, but it's less frequent I believe.