Financial Algorithms