Packt Publishing

11 January 2016

#### By Timothy Washington

Apply the Clojure programming language to financial analytics and learn 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.

Who This Book Is For

If you’re a finance professional who is currently using VBA (Excel) to perform financial calculations and quantitative analysis, and would like to use Clojure instead to improve their efficiency, then this book is for you. Basic knowledge of financial concepts is essential. Basic programming knowledge would also be an added advantage.

What You Will Learn

• Quickly and effectively represent data and calculations using Clojure Use Clojure’s basic language tools such as laziness, immutability, and firstclass 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 sideeffecting behavior and the different ways to handle it.
• Compose simple and exponential functions together to get a buy or sell signalIn DetailClojure is a dynamic programming language with an emphasis on functional programming.

Clojure is well suited to financial modeling allowing developers to 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.

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. Style and approachThis book is a practical step-by-step tutorial that provides a basic overview of the concepts but focuses on providing the skills required to analyze data.

Chapter 2: First Principles and a Useful Way to Think;
Chapter 3: Developing the Simple Moving Average;
Chapter 4: Strategies for Calculating and Manipulating Data;
Chapter 5: Traversing Data, Branching, and Conditional Dispatch;
Chapter 6: Surveying the Landscape;
Chapter 7: Dealing with Side Effects;
Chapter 8: Strategies for Using Macros
Chapter 9: Building Algorithms — Strategies to Manipulate and Compose Functions

Timothy Washington is a senior software developer with over 15 years of experience in designing and building enterprise web applications from end to end. His experience includes delivering stable, robust software architectures to organizations ranging from start-ups to Fortune 500 companies. His skills include managing agile projects, systems analysis and design, functional programming, DSL and language design, and object-oriented design, with contributions to the open source community.

Clojure