# Clojure for Finance

 Learn Quickly and effectively represent data and calculations using Clojure Use Clojure’s basic language tools such as laziness, immutability, and first­class functions to solve real-world problems Explore mathematical derivatives to generate different wave forms Get acquainted with the advanced approaches to calculating and transforming data, and building algorithms Use Clojure's functions to access, update, and compose data structures Be introduced to the concept of side­effecting behavior and the different ways to handle it Compose simple and exponential functions together to get a buy or sell signal Clojure is a dynamic programming language with an emphasis on functional programming. Clojure is well suited to financial modeling as it is a functional programming language. Such languages help developers work with high-level mathematical abstractions without having to implement low-level code that handles the arithmetic operations. Starting with the importance of representing data and calculations effectively, this book will take you all the way to being competent in financial analytics and building financial applications. First, we introduce the notions of computation and finance, which will help you understand Clojure's utility to solve real-world problems in many domains, especially finance. Next, we will show you how to develop the simple-moving-average function by using the more advanced partition Clojure data transformation function. This function, along with others, will be used to calculate and manipulate data. You will then learn to implement slightly more complicated equations, how to traverse data, and deal with branching and conditional dispatch. Then, the concept of side-effecting and its various approaches are introduced, along with the strategy of how to use data as the interface to other systems. Finally, you will discover how to build algorithms while manipulating and composing functions. Apply the Clojure programming language in financial analytics and to build financial applications Work with high-level mathematical abstractions without having to implement low-level code for financial operations. This is a practical tutorial that takes you through real-world examples of financial analytics and applications with Clojure 188 5 hours 38 minutes 9781785289286 11 Jan 2016
 Notions of computation Notions of finance Concrete types of computation Tooling A first look at Clojure's core functions Summary
 Modeling stock price activity Function evaluation First-class functions Lazy evaluation Basic Clojure functions and immutability Namespaces and creating our first function Basic data structures Summary
 Our second refactor – the generate prices function Polynomial expressions A sine wave Stitching the pieces together Surveying the function landscape First order functions Applying functions Summary
 Simple writing Extensible Data Notation Devising a persistence strategy Consuming from a data stream Using a componentized architecture Summary
 Simple reading Functions for querying a system Separate OR AND lookups Deriving a query language using macros Summary