Algorithms and Learning for Fair Portfolio Design