  Let M be a closed manifold and let CL(M) be the algebra of classical
pseudodifferential operators. The aim of this note is to classify trace
functionals on the subspaces CL^a(M) of CL(M) of operators of order a. CL^a(M)
is a CL^0(M)-module for any real a; it is an algebra only if a is a
non-positive integer. Therefore, it turns out to be useful to introduce the
notions of pretrace and hypertrace. Our main result gives a complete
classification of pre- and hypertraces on CL^a(M) for any real a, as well as
the traces on CL^a(M) if a is a non-positive integer. We also extend these
results to classical pseudodifferential operators acting on sections of a
vector bundle.
  As a byproduct we give a new proof of the well-known uniqueness results for
the Guillemin-Wodzicki residue trace and for the Kontsevich-Vishik canonical
trace. The novelty of our approach lies in the calculation of the cohomology
groups of homogeneous and log-polyhomogeneous differential forms on a
symplectic cone. This allows to give an extremely simple proof of a
generalization of a Theorem of Guillemin about the representation of
homogeneous functions as sums of Poisson brackets.
