13
Programming for Finance - Introduction

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

  • Upload
    others

  • View
    31

  • Download
    0

Embed Size (px)

Citation preview

Programmingfor

Finance - Introduction

Agenda

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

Languages and Frameworks

● C++● Java● 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

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

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

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)

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

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)

FinTech Landscape

STARTUPSFORTUNE 500

EVENTS/COMMUNITY

BANKS

BLOCKCHAIN

INCUBATORS

NON-PROFITS

APIS

ECOSYSTEM

Events

Fortune500

Universities

Banks

Gov’t

Non-Profits

Startups

APIs

Accelerators

12