Agent-Based Models To Understand, Exploit And Prevent Financial Bubbles