  Solutions of stochastic Volterra (integral) equations are not Markov
processes, and therefore classical methods, like dynamic programming, cannot be
used to study optimal control problems for such equations. However, we show
that by using {\em Malliavin calculus} it is possible to formulate a modified
functional type of {\em maximum principle} suitable for such systems. This
principle also applies to situations where the controller has only partial
information available to base her decisions upon. We present both a sufficient
and a necessary maximum principle of this type, and then we use the results to
study some specific examples. In particular, we solve an optimal portfolio
problem in a financial market model with memory.
