Design an Automated Trading Platform — Hard System Design Problem