origins, evolution, and future directions of matlab€¦ · statistics optimization financial...

54
1 © 2015 The MathWorks, Inc. Origins, Evolution, and Future Directions of MATLAB ® Loren Shure

Upload: others

Post on 17-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

1© 2015 The MathWorks, Inc.

Origins, Evolution, and Future Directions of

MATLAB®

Loren Shure

Page 2: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

2

-3-2

-10

12

3

-2

0

2

-5

0

5

x

Peaks

y

Agenda

Origins

Evolution

Tomorrow

Page 3: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

3

Computational Finance Workflow

Research and Quantify

Data Analysis

& Visualization

Financial

Modeling

Application

Development

Reporting

Applications

Production

Share

Automate

Files

Databases

Datafeeds

Access

Page 4: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

4

MATLAB – The Financial Development Platform

Financial

Statistics Optimization

Financial Instruments Econometrics

MATLAB

Parallel Computing MATLAB Distributed Computing Server

Files

Databases

Datafeeds

Access

Reporting

Applications

Production

Share

Data Analysis and Visualization

Financial Modeling

Application Development

Research and Quantify

Datafeed

Database

Spreadsheet Link EX Builder NE

Builder EX

Builder JA

Compiler

Rep

ort G

en

era

tor

Pro

du

ctio

n S

erv

er

Trading Toolbox

Research and Quantify

Data Analysis

& Visualization

Financial

Modeling

Application

Development

Reporting

Applications

Production

Share

Automate

Files

Databases

Datafeeds

Access

Page 5: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

5

Origins of MATLAB

Page 6: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

6

1965 Birth of L-Shaped MembraneOrigin of MathWorks Corporate Logo

Cleve Moler’s Stanford Ph.D. Thesis

Finite Difference Methods for Eigenvalues of Laplace’s

Operator

Blog post

Page 7: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

7

1965 Birth of L-Shaped MembraneEvolution of MathWorks Corporate Logo

vibes

Vibrating L-shaped membrane 1984 1987

1992 1994

1997

Page 8: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

8

1977 MATLAB Created

Cleve’s Work in Computational Mathematics

1967 1971 1976 19791977

Idea formed: Matrix Laboratory

FORTAN Program

Matrix as a Data Type

Page 9: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

9

1981 MATLAB 0.0

MATLAB Command Line Program Debuts as a Teaching Tool

Page 10: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

10

1979 MATLAB 0.0

MATLAB Command Line Debuts as a Teaching Tool

Stanford: 1979-80 Winter Quarter

CS237 - Numerical Analysis

Math & CS Students

Not impressed

Engineering Students

Love MATLAB

Interactive text-based interpreter – No need to compile!

Page 11: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

11

Evolution of MATLAB

-3-2

-10

12

3

-2

0

2

-5

0

5

x

Peaks

y

Page 12: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

12

1983-1984 Jack Little’s Vision

MathWorks Founded to Commercialize MATLAB

MATLAB becomes a language for Technical Computing

M-file scripts and

functions

Toolboxes

Page 13: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

13

1987 Loren Shure Joins MathWorks as Hire #1

MATLAB Developer

1988/9

Page 14: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

14

1992 MATLAB 4

Command Line, Graphics, and Help Browser (helpdesk)

MATLAB is more than a language:

• Library of mathematical functions

• Customizable by toolboxes

• M-file functions and scripts

• 2d/3d Graphics

• Matrix data type (2-d complex array)

Page 15: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

15

1996 MATLAB 5.0

MATLAB Language Evolves Beyond the MATRIX Data Type

Page 16: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

16

1996 MATLAB 5.0

Financial Toolbox Launched

Page 17: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

17

1998-1999 MATLAB 5.2 (R10) and 5.3 (R11)

Desktop Evolves, Debugger, Enhanced 3D Graphics

Page 18: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

18

2000-2003 MATLAB 6.0-6.5 (R12-R13)

New Dock-able Desktop, Command History, Function Handles

fhandle = @humps;

x = fminbnd(fhandle, 0.3, 1)

x =

0.6370

MATLAB JIT Introduced

Page 19: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

19

2000-2003 MATLAB 6.0-6.5 (R12-R13)

Start Menu, More GUI Tools (Apps), and More Finance Products

JAVA Interface

Page 20: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

20

2004 MATLAB 7 (R14)

Evolving Desktop, Distributed Computing, Market Datafeeds

Anonymous functions:

sqr = @(x) x.^2;

Nested functions:

function x = A(p1, p2)

...

function y = B(p3)

...

end

...

end

Page 21: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

21

2004 MATLAB 7 (R14)

And Publishing of Scripts

Published ReportMATLAB scripts

Page 22: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

22

2006 MATLAB 7.2 (R2006a)

Move to Twice a Year Release, M-Lint Integrated into Editor

Page 23: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

23

2007 MATLAB 7.5 (R2007a/b)

Dataset and Categorical Arrays

Statistics Toolbox (future MATLAB data types)

• Categorical variables

• Dataset variable

Page 24: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

24

2008 MATLAB 7.8 (R2008a)

Econometrics Toolbox Launched, Performance Improvements

Page 25: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

25

2008 MATLAB 7.8 (R2008a)

Modernized Object-Oriented Programming

Page 26: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

26

2008 MATLAB 7.9 (R2008b)

New Symbolic Engine

Page 27: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

27

2009 MATLAB 7.8/7.9 (R2009a/b)

Protected Code, .NET Interface

MATLAB User MATLAB User

Visible IP Sharing

MATLAB User

Protected IP Sharing

p-code

MATLAB Code

MATLAB Apps

Page 28: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

28

2010 MATLAB 7.10/7.11 (R2010a/b)

GPU Support

Additional Code

Additional Code

Page 29: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

29

2011 MATLAB 7.13/7.14 (R2011a/b)

Big .MAT Files – Partial Read/Write, 80+ Tools (aka Apps)

Page 30: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

30

Page 31: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

31

2012 MATLAB 7.13 (R2012b)

New Desktop Launched, Improved Discoverability, Apps

Page 32: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

32

2012 MATLAB 7.13 (R2012b)

New Desktop Launched, Improved Discoverability, Apps

Page 33: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

34

Web

Server

Application

Server

Database Server

Pricing

Risk

Analytics

Portfolio

Optimization

MATLAB Production ServerMATLAB

Compiler

Web Applications

Desktop Applications

Batch Applications

2012 MATLAB 7.13 (R2012b)

MATLAB Production Server Launched

Page 34: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

35

2012 MATLAB 7.13 (R2012b)

MATLAB Production Server Example: Web Asset Allocation

http://54.208.30.187/mwa/

Page 35: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

36

2012 MATLAB 7.13 (R2012b)

MATLAB Production Server Example: Predictive Modeling

http://is.gd/mwdfw

Page 36: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

37

2013 MATLAB 7.14/15 (R2013a/b)

Unit Testing and Datasets become Tables in MATLAB

Page 37: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

38

Future Directions of MATLAB

2014 - onwards

Page 38: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

39

MATLAB – The Financial Development Platform

Financial

Statistics Optimization

Financial Instruments Econometrics

MATLAB

Parallel Computing MATLAB Distributed Computing Server

Files

Databases

Datafeeds

Access

Reporting

Applications

Production

Share

Data Analysis and Visualization

Financial Modeling

Application Development

Research and Quantify

Datafeed

Database

Spreadsheet Link EX Builder NE

Builder EX

Builder JA

Compiler

Rep

ort G

en

era

tor

Pro

du

ctio

n S

erv

er

Trading Toolbox

Page 39: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

40

MATLAB – The Financial Development Platform

Financial

Statistics Optimization

Financial Instruments Econometrics

MATLAB

Parallel Computing MATLAB Distributed Computing Server

Files

Databases

Datafeeds

Access

Reporting

Applications

Production

Share

Data Analysis and Visualization

Financial Modeling

Application Development

Research and Quantify

Datafeed

Database

Spreadsheet Link EX

MATLAB

Compiler

SDK

MATLAB

Compiler

Rep

ort G

en

era

tor

Pro

du

ctio

n S

erv

er

Trading Toolbox

Page 40: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

41

1,000s of applicationsMILLIONS of users

Terminal - mainframe, mini

HUNDREDS OF MILLIONS

of users10,000s of applications

PC - LAN, Internet

BILLIONS of users

Cloud – mobile, browser, social, big data

MILLIONS of apps

Source: IDC, 2013

Cloud as a New Platform

Page 41: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

42

MATLAB Mobile

Support for iPhone, iPad, and Android

Page 42: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

43

Cloud Enhancing Your MATLAB Desktop

MATLAB Discributed Computing Server on Amazon EC2

Page 43: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

44

The 4 V’s of Big Data

Volume

Velocity

Variety

Veracity

Page 44: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

45

Big Data Capabilities in MATLAB

Memory and Data Access

64-bit processors

Memory Mapped Variables

Disk Variables

Databases

Datastores

Platforms

Desktop (Multicore, GPU)

Clusters

Cloud Computing (MDCS on EC2)

Hadoop

Programming Constructs

Streaming

Block Processing

Parallel-for loops

GPU Arrays

SPMD and Distributed Arrays

MapReduce

Page 45: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

46

New Big Data Capabilities in MATLAB

Memory and Data Access

64-bit processors

Memory Mapped Variables

Disk Variables

Databases

Datastores

Platforms

Desktop (Multicore, GPU)

Clusters

Cloud Computing (MDCS on EC2)

Hadoop

Programming Constructs

Streaming

Block Processing

Parallel-for loops

GPU Arrays

SPMD and Distributed Arrays

MapReduce

Page 46: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

47

Analyze Big Datamapreduce

Use the powerful MapReduce programming

technique to analyze big data

– Multiple items (keys) to organize and process

– Intermediate results do not fit in memory

On the desktop

– Analyze big database tables (Database Toolbox)

– Increase compute capacity (Parallel Computing Toolbox)

– Access data on HDFS to develop algorithms for use on Hadoop

With Hadoop

– Run on Hadoop using MATLAB Distributed Computing Server

– Deploy applications and libraries for Hadoop using MATLAB Compiler

********************************

* MAPREDUCE PROGRESS *

********************************

Map 0% Reduce 0%

Map 20% Reduce 0%

Map 40% Reduce 0%

Map 60% Reduce 0%

Map 80% Reduce 0%

Map 100% Reduce 25%

Map 100% Reduce 50%

Map 100% Reduce 75%

Map 100% Reduce 100%

Page 47: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

48

1503 UA LAX -5 -10 2356

540 PS BUR 13 5 186

1920 DL BOS 10 32 1876

1840 DL SFO 0 13 568

272 US BWI 4 -2 359

784 PS SEA 7 3 176

796 PS LAX -2 2 237

1525 UA SFO 3 -5 1867

632 PS SJC 2 -4 245

1610 UA MIA 60 34 1365

2032 DL EWR 10 16 789

2134 DL DFW -2 6 914

1503 UA LAX -5 -10 2356

540 PS BUR 13 5 186

1920 DL BOS 10 32 1876

1840 DL SFO 0 13 568

272 US BWI 4 -2 359

784 PS SEA 7 3 176

796 PS LAX -2 2 237

1525 UA SFO 3 -5 1867

632 US SJC 2 -4 245

1610 UA MIA 60 34 1365

2032 DL EWR 10 16 789

2134 DL DFW -2 6 914

UA

PS

DL

DL

2356

186

1876

568

US

PS

PS

UA

US

UA

DL

DL

245

1365

789

914

359

176

237

1867

UA 2356

PS 186

PS 237

UA 1867

UA 1365

DL 1876

DL 914

US 359

US 245

Data Store Map Reduce

Mapreduce

Page 48: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

49

Statistics and Machine LearningWhat’s New

Classification Learner

New app to train models and classify data

using supervised machine learning

Features

Import and interactively explore data

Choose kfold or holdout validation

Train SVM, kNN, bagged trees and other algorithms

Assess results using classification accuracy, ROC curves and Confusion Matrices

Export models to the MATLAB or generate MATLAB code

Page 49: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

50

Statistics and Machine Learning

What’s New?

New:

Classification Learner app

Multiclass SVM

Statistical tests for comparing classifiers

Kmediods Clustering (robust to outliers)

C Code Generation for PCA

Enhancements:

Speedup of the kmeans and gmdistribution using the kmeans++

Performance enhancements for decision trees and performance curves

Requires MATLAB Coder

Page 50: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

51

Datastore

MATLAB Distributed Computing Serverwith Hadoop

MATLAB

MapReduce

Code

HDFS

Node Data

MATLAB

Distributed

Computing

Server

Node Data

Node Data

Map Reduce

Map Reduce

Map Reduce

Hadoop

Page 51: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

52

MATLAB Compilerwith Hadoop

MATLAB

MapReduce

Code

Datastore

HDFS

Node Data

Node Data

Node Data

Map Reduce

Map Reduce

Map Reduce

MATLAB

runtime

Hadoop

Page 52: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

53

…and much more to come

Page 53: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

54

MATLAB – The Financial Development Platform

Financial

Statistics Optimization

Financial Instruments Econometrics

MATLAB

Parallel Computing MATLAB Distributed Computing Server

Files

Databases

Datafeeds

Access

Reporting

Applications

Production

Share

Data Analysis and Visualization

Financial Modeling

Application Development

Research and Quantify

Datafeed

Database

Spreadsheet Link EX

MATLAB

Compiler

SDK

MATLAB

Compiler

Rep

ort G

en

era

tor

Pro

du

ctio

n S

erv

er

Trading Toolbox

Page 54: Origins, Evolution, and Future Directions of MATLAB€¦ · Statistics Optimization Financial Instruments Econometrics MATLAB Parallel Computing MATLAB Distributed Computing Server

55

© 2015 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of

additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.