  Portfolio optimization is an important process in finance that consists in
finding the optimal asset allocation that maximizes expected returns while
minimizing risk. When assets are allocated in discrete units, this is a
combinatorial optimization problem that can be addressed by quantum and
quantum-inspired algorithms. In this work we present an integer simulated
annealing method to find optimal portfolios in the presence of discretized
convex and non-convex cost functions. Our algorithm can deal with large size
portfolios with hundreds of assets. We introduce a performance metric, the time
to target, based on a lower bound to the cost function obtained with the
continuous relaxation of the combinatorial optimization problem. This metric
allows us to quantify the time required to achieve a solution with a given
quality. We carry out numerical experiments and we benchmark the algorithm in
two situations: (i) Monte Carlo instances are started at random, and (ii) the
algorithm is warm-started with an initial instance close to the continuous
relaxation of the problem. We find that in the case of warm-starting with
convex cost functions, the time to target does not grow with the size of the
optimization problem, so discretized versions of convex portfolio optimization
problems are not hard to solve using classical resources. We have applied our
method to the problem of re-balancing in the presence of non-convex transaction
costs, and we have found that our algorithm can efficiently minimize those
terms.
