Source: https://papers.ssrn.com/sol3/Delivery.cfm/SSRN_ID3527896_code2571138.pdf