  We consider a variation on the classical finance problem of optimal portfolio
design. In our setting, a large population of consumers is drawn from some
distribution over risk tolerances, and each consumer must be assigned to a
portfolio of lower risk than her tolerance. The consumers may also belong to
underlying groups (for instance, of demographic properties or wealth), and the
goal is to design a small number of portfolios that are fair across groups in a
particular and natural technical sense.
  Our main results are algorithms for optimal and near-optimal portfolio design
for both social welfare and fairness objectives, both with and without
assumptions on the underlying group structure. We describe an efficient
algorithm based on an internal two-player zero-sum game that learns
near-optimal fair portfolios ex ante and show experimentally that it can be
used to obtain a small set of fair portfolios ex post as well. For the special
but natural case in which group structure coincides with risk tolerances (which
models the reality that wealthy consumers generally tolerate greater risk), we
give an efficient and optimal fair algorithm. We also provide generalization
guarantees for the underlying risk distribution that has no dependence on the
number of portfolios and illustrate the theory with simulation results.
