Top Banner
Programming for Finance - Introduction
13

Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

Programmingfor

Finance - Introduction

Page 2: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

Agenda

● Languages and Frameworks● FinTech Landscape● Byte Academy FinTech Partners

Page 3: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

Languages and Frameworks

● C++● Java● Scala● Python● Client Side JS Libraries and Frameworks

○ ReactJS○ AngularJS

Page 4: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

C++

● Low Level Language○ Systems programming○ Low level memory management○ Libraries available to map functions directly to processor specific assembly

instructions

● Used where “Speed is Everything”○ Primary Language in Low Latency Trading Systems○ Popular in High Frequency Trading and Prop Trading houses

Page 5: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

Java

● Most Popular Server side Language in the Industry○ Most business logic, server side, done in Java○ Largest availability of programmers in the industry

● Not as Quick as C++, but recent versions are closing the speed gap○ Improvements in Memory Management

Page 6: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

Scala

● Functional Programming Language○ Functions are first class citizens○ Code more clear and concise○ Easier to read as a direct interpretation of Math functions

● Asynchronous from the Ground up○ Promises and Futures are readily available○ Lends itself better to non-blocking code○ Requires smaller thread pool sizes

● Gaining in Popularity

Page 7: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

Scala

def square(x:int) = {x*x

}

def sum(f:int=>int , inputs:List[int]) = {inputs.map(f).sum()

}

sum(square, 1..10) 𝚺f(x)

Page 8: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

Python

● High Level, Dynamic type Language● Includes lots of powerful packages: Useful for RAD

○ NumPy: Support for Complex Math functions○ Pandas: Working with Tabular Data○ MatPlotLib: Plotting Library

● Used by banks for Pricing and Risk Management● Popular among FinTech Startups (RAD)● Taught extensively at Byte Academy

Page 9: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

Client Side

● Applications becoming increasingly thicker Client○ Increasing amount of functionality executed on the client’s machine ○ Eg. Trade Order Entry Systems

■ Efficient Design■ Validation rules run in-line

● Javascript libraries: 2 Most Popular○ ReactJS

■ Facebook’s component-based library■ Uses a Virtual DOM for quick differential rendering

○ AngularJS■ Google’s Web framework■ Links data and visual elements using dual binding (concise code)

Page 10: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

FinTech Landscape

Page 11: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

STARTUPSFORTUNE 500

EVENTS/COMMUNITY

BANKS

BLOCKCHAIN

INCUBATORS

NON-PROFITS

APIS

Page 12: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.

ECOSYSTEM

Events

Fortune500

Universities

Banks

Gov’t

Non-Profits

Startups

APIs

Accelerators

12

Page 13: Programming for Finance - Introduction€¦ · Programming for Finance - Introduction. Agenda Languages and ... Scala Python Client Side JS Libraries and Frameworks ReactJS AngularJS.