This paper investigates optimal portfolio strategies in a market with partial information on the drift. The drift is modelled as a function of a continuous-time Markov chain with finitely many states which is not directly observable. Information on the drift is obtained from the observation of stock prices. Moreover, expert opinions in the form of signals at random discrete time points are included in the analysis. We derive the filtering equation for the return process and incorporate the filter into the state variables of the optimization problem. This problem is studied with dynamic programming methods. In particular, we propose a policy improvement method to obtain computable approximations of the optimal strategy. Numerical res...