DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated...

38
DEEP LEARNING FOR TRADING

Transcript of DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated...

Page 1: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

DEEP LEARNING FOR TRADING

Page 2: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

OUR GOAL

160.5

161

161.5

162

162.5

163

163.5

164

35:0

9.9

37:0

8.7

38:5

9.2

40:3

8.7

42:1

7.6

43:4

9.0

45:3

5.9

47:5

5.2

49:3

2.2

51:0

2.2

52:2

5.6

54:2

4.2

56:3

1.8

58:2

7.3

59:5

8.8

01:4

3.3

03:2

2.2

08:0

3.3

10:1

1.6

14:0

4.0

17:3

7.5

21:1

9.2

26:0

3.8

30:4

6.0

33:0

7.0

36:5

4.2

40:0

0.4

43:2

7.5

48:2

2.7

52:2

6.2

54:5

9.0

57:3

3.4

01:0

0.6

04:4

1.4

08:2

3.5

11:2

0.4

15:4

4.1

19:1

5.9

21:2

4.3

25:0

0.7

30:2

5.5

37:2

6.4

43:3

4.5

47:5

6.6

53:4

0.0

01:4

6.4

21:1

2.6

31:3

1.7

44:0

2.0

59:3

3.3

12:5

0.0

?

DEEP LEARNING FOR TRADING

Page 3: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

OUR GOAL

160.5

161

161.5

162

162.5

163

163.5

164

35:0

9.9

37:5

4.1

40:4

9.8

43:2

6.2

46:3

5.5

49:2

1.6

51:3

1.1

54:2

4.2

57:4

0.0

00:0

9.6

03:0

6.4

08:4

3.3

12:0

9.7

19:4

8.3

26:0

3.8

31:2

9.9

37:0

1.4

42:3

1.3

49:5

5.8

54:3

9.3

58:3

0.6

04:4

1.4

10:4

9.1

16:2

0.4

21:0

5.0

26:5

0.1

35:5

0.7

45:1

9.9

53:4

0.0

10:1

6.3

33:0

6.1

52:4

5.9

13:5

4.7

DEEP LEARNING FOR TRADING

Page 4: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

ModelLabels

Each example in the training data is a pair consisting of an input vector (features) and a

desired output value (labels).

A supervised learning algorithm analyzes the training data and approximate a function, which

can be used for mapping new unlabeled examples.

Features

SUPERVISED LEARNING

Dog

DEEP LEARNING FOR TRADING

Page 5: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

FINNANCIAL PREDICTION PITFALLS

Much Data

Possible relevant data

from many markets is

incredibly large.

No Theory

Complex non-linear

interactions in the data

are not well specified

by financial theory.

Noisy Data

Noise In financial data

Is very common and

sometimes

distinguishing noise

from behavior is hard.

Importance

Data Importance is

questionable and

determination of

meaningful data is hard.

Overfitting

Overfitted easily, most

models have poor

predictive capabilities

On financial data.

Behavior

Behavior of financial

markets change all the

time and can be really

unpredictable.

DEEP LEARNING FOR TRADING

Page 6: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

WHY DEEP LEARNING?

Much Data

Possible relevant data

from many markets is

incredibly large.

No Theory

Complex non-linear

interactions in the data

are not well specified

by financial theory.

Noisy Data

Noise In financial data

Is very common and

sometimes

distinguishing noise

from behavior is hard.

Importance

Data Importance is

questionable and

determination of

meaningful data is hard.

Overfitting

Overfitted easily, most

models have poor

predictive capabilities

On financial data.

Behavior

Behavior of financial

markets change all the

time and can be really

unpredictable.

DEEP LEARNING FOR TRADING

Page 7: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

LINEAR REGRESSION

DEEP LEARNING FOR TRADING

Page 8: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

𝑦𝑖 = 𝛽0 + 𝛽1𝑥𝑖1 + 𝛽2𝑥𝑖2 + ⋯+ 𝛽𝑛𝑥𝑖𝑛 + 𝜀

∑ 𝑦𝑖

𝑥𝑖1𝑥𝑖2𝑥𝑖3

𝑥𝑖𝑛

……

DEEP LEARNING FOR TRADING

Regression

Page 9: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Perceptron

DEEP LEARNING FOR TRADING

Page 10: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Neural Network

Perceptron Layer(Hidden Layer)

Input Layer Output Layer

DEEP LEARNING FOR TRADING

Page 11: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

GRADIENT BASED MODELSLegend

𝑥0

𝑓0(𝑥0, 𝑤0)

𝑓1(𝑥1, 𝑤1)

𝑓2(𝑥2, 𝑤2)

𝑓𝑛 𝑥𝑛, 𝑤𝑛 = 𝑦

𝑓𝑛−1(𝑥𝑛−1, 𝑤𝑛−1)

𝑓𝑛−2(𝑥𝑛−2, 𝑤𝑛−2)

𝑤0

𝑤1

𝑤𝑛

𝑤𝑛−1

𝐸 = 𝑙 𝑦, 𝑦𝑦

𝑙 𝑦, 𝑦 - Loss Function

𝑥0 - Features Vector

𝑥𝑖 - Output of 𝑖 layer

𝑤𝑖 - Weights of 𝑖 layer

𝑦 – Ground Truth

𝑦 – Model Output

𝐸 – Loss Surface

𝜕𝐸

𝜕𝑥𝑛=

𝜕𝑙 𝑦, 𝑦

𝜕𝑥𝑛

𝜕𝐸

𝜕𝑤𝑛=

𝜕𝐸

𝜕𝑥𝑛

𝜕𝑓𝑛 𝑥𝑛−1, 𝑤𝑛

𝜕𝑤𝑛

𝜕𝐸

𝜕𝑥𝑛−1=

𝜕𝐸

𝜕𝑥𝑛

𝜕𝑓𝑛 𝑥𝑛−1, 𝑤𝑛

𝑥𝑛−1

𝑓– Activation Function

𝜕𝐸

𝜕𝑥𝑛−2=

𝜕𝐸

𝜕𝑥𝑛−1

𝜕𝑓𝑛−1 𝑥𝑛−2, 𝑤𝑛−1

𝑥𝑛−2

𝜕𝐸

𝜕𝑤𝑛−1=

𝜕𝐸

𝜕𝑥𝑛−1

𝜕𝑓𝑛 𝑥𝑛−2, 𝑤𝑛−1

𝜕𝑤𝑛−1

……

𝐹𝑜𝑟𝑤

𝑎𝑟𝑑

𝑃𝑟𝑜

𝑝𝑎𝑔𝑎𝑡𝑖𝑜𝑛

𝐵𝑎𝑐𝑘

𝑃𝑟𝑜

𝑝𝑎𝑔𝑎𝑡𝑖𝑜

𝑛

𝑣𝑡 = 𝜇𝑣𝑡−1 − 𝛼𝛻𝐿𝑡(𝑤𝑡−1)

𝑤𝑡 = 𝑤𝑡−1 − 𝑉𝑡

Classic SGD

𝑤𝑡 = 𝑤𝑡−1 − 𝛼𝛻𝐿𝑡(𝑤𝑡−1)

𝑡′=1𝑡 𝛻𝐿𝑡′(𝑤𝑡′−1)

2

AdaGrad RMSProp𝑅𝑡 = 𝛾𝑅𝑡−1 + (1 − 𝛾) 𝛻𝐿𝑡(𝑤𝑡−1)

2

𝑤𝑡 = 𝑤𝑡−1 − 𝛼𝛻𝐿𝑡(𝑤𝑡−1)

𝑅𝑡

𝑀𝑡 =𝛽1𝑀𝑡−1 + (1 − 𝛽1) 𝛻𝐿𝑡(𝑤𝑡−1)

(1 − 𝛽1)𝑡

𝑅𝑡 =𝛽2𝑀𝑡−1 + (1 −

𝛽22)

𝛻𝐿𝑡(𝑤𝑡−1)2

(1 − 𝛽2)2

𝑤𝑡 = 𝑤𝑡−1 − 𝛼𝑀𝑡

𝑅𝑡

Adam

1: Forward Propagation 2: Loss Calculation 3: Optimization

DEEP LEARNING FOR TRADING

Page 12: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

DEEP LEARNING COMMON STRUCTURES

SUPERVISED UNSUPERVISED

Perceptron It is a type of linear classifier, a classification algorithm that makes its predictions based on a linear

predictor function combining a set of weights with the feature vector. The algorithm allows for online learning, in that

it processes elements in the training set one at a time.

RECURRENTFEED FORWARD

Feed Forward Network sometimes

Referred to as MLP, is a fully

connected dense model used as a

simple classifier.

Convolutional Network assume that

highly correlated features located

close to each other in the input

matrix and can be pooled and

treated as one in the next layer.

Known for superior Image

classification capabilities.

Simple Recurrent Neural Network

is a class of artificial neural

network where connections

between units form a directed

cycle.

Hopfield Recurrent Neural Network

It is a RNN in which all connections

are symmetric. it requires

stationary inputs.

Long Short Term Memory Network

contains gates that determine if

the input is significant enough to

remember, when it should continue

to remember or forget the value,

and when it should output

Auto Encoder aims to learn a

representation (encoding) for a set

of data, typically for the purpose of

dimensionality reduction.

Restricted Boltzmann Machine

can learn a probability distribution

over its set of inputs..

Deep Belief Net is a composition of

simple, unsupervised networks such

as restricted Boltzmann machines

,where each sub-network's hidden

layer serves as the visible layer for

the next.

DEEP LEARNING FOR TRADING

Page 13: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

DEEP LEARNING SUPERIORITY

96.92%Deep Learning

94.9%Human

DEEP LEARNING FOR TRADING

Page 14: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Deep Neural Networks

Input Layer Output Layer

DEEP LEARNING FOR TRADING

Hidden Layersי

Ground Truth

Future Prices

Up or DownClassification

Regression

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time Features Implementing deep neural networks for financial market prediction, Dixon et al, 2015

Recommended Papers

Page 15: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

ModelFeatures

Each example in the training data is a pair consisting of an input vector and again the input

vector.

The goal is to learn function that describes the hidden structure from unlabeled data.

Features

UNSUPERVISED LEARNING

DEEP LEARNING FOR TRADING

Page 16: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Auto Encoders

Input Layer Output Layer

DEEP LEARNING FOR TRADING

Hidden Layersי

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time Features

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time FeaturesDeep Modeling Complex Couplings within Financial Markets, Cao et al, AAAI 2015

Recommended Papers

Page 17: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Unsupervised Pretraining

Input Layer Output Layer

DEEP LEARNING FOR TRADING

Hidden Layersי

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time Features

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time Features

Ground Truth

Future Prices

Up or DownClassification

Regression

Applying Deep Learning to Enhance Momentum Trading Strategies in Stocks, L Takeuchi, 2013

Deep Learning for Multivariate Financial Time Series, Estrada, 2015

Recommended Papers

Page 18: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

DEEP LEARNING WITH PYTHON

Page 19: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Deep Learning Hardware

Better for Matrix algebra

Parallel calculations

Much more powerful

DEEP LEARNING FOR TRADING

Page 20: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Deep Learning Framework

DEEP LEARNING FOR TRADING

HardwareDriver + LibFrameworkFrameworkLanguage

Page 21: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Deep Learning Using Python

DEEP LEARNING FOR TRADING

HardwareDriver + LibFrameworkFrameworkLanguage Abstraction

Page 22: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Python Stays Python

DEEP LEARNING FOR TRADING

import theano.sandbox.cuda

theano.sandbox.cuda.use("gpu")

Page 23: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Theano

DEEP LEARNING FOR TRADING

Page 24: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Theano Tutorial

DEEP LEARNING FOR TRADING

Page 25: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Theano Tutorial

DEEP LEARNING FOR TRADING

import numpy, theanonp_array = numpy.ones(2, dtype='float32')

s_false = theano.shared(np_array, borrow=False)s_true = theano.shared(np_array, borrow=True)

np_array += 1print(s_false.get_value())print(s_true.get_value())

[ 1. 1.][ 2. 2.]

In [1]:

Out [1]:

VariablesA Theano Variable is a Variable with storage that is shared between functions that it appears in.

Page 26: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Theano Tutorial

DEEP LEARNING FOR TRADING

import theanox = theano.tensor.dscalar()f = theano.function([x], 2*x)f(4)

array(8.0)

In [1]:

Out [1]: FunctionsThe idea here is that we’ve compiled the symbolic graph (2*x) into a function that can be called on a number and will do some computations.

Page 27: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Theano Tutorial

DEEP LEARNING FOR TRADING

import numpyimport theanoimport theano.tensor as Tfrom theano import ppx = T.dscalar('x')y = x ** 2gy = T.grad(y, x)pp(gy) # print out the gradient prior to optimization

'((fill((x ** TensorConstant{2}), TensorConstant{1.0}) * TensorConstant{2}) * (x ** (TensorConstant{2} - TensorConstant{1})))'

f = theano.function([x], gy)f(4)

array(8.0)

In [1]:

Out [1]:

GradientsNow let’s use Theano for a slightly more sophisticated task: create a function which computes the derivative of some expression y with respect to its parameter x.

In [2]:

Out [2]:

Page 28: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

LINEAR REGRESSION

DEEP LEARNING FOR TRADING

𝑦 = 𝑤𝑥 𝑙 =1

𝑛

𝑖=1

𝑛

( 𝑦𝑖 − 𝑦𝑖)2 𝑤 = 𝑤 − 𝛼

𝜕𝑙

𝜕𝑤

Page 29: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Theano Tutorial

DEEP LEARNING FOR TRADING

def model(X, weights):return X * weights

w = theano.shared(np.asarray(0., dtype=theano.config.floatX))y = model(X, weights)

Loss = T.mean(T.sqr(y - Y))gradient = T.grad(loss, weights)updates = [[weights, weights - gradient * learning_rate]]

train = theano.function(inputs=[X, Y], outputs=loss, updates=updates, allow_input_downcast=True)

for i in range(epoches):for x, y in zip(X, Y):

train(x, y)

In [1]:

𝑦 = 𝑤𝑥 𝑙 =1

𝑛

𝑖=1

𝑛

( 𝑦𝑖 − 𝑦𝑖)2 𝑤 = 𝑤 − 𝛼

𝜕𝑙

𝜕𝑤

Function Loss Update Rule

Page 30: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

GRADIENT BASED MODELSLegend

𝑥0

𝑓0(𝑥0, 𝑤0)

𝑓1(𝑥1, 𝑤1)

𝑓2(𝑥2, 𝑤2)

𝑓𝑛 𝑥𝑛, 𝑤𝑛 = 𝑦

𝑓𝑛−1(𝑥𝑛−1, 𝑤𝑛−1)

𝑓𝑛−2(𝑥𝑛−2, 𝑤𝑛−2)

𝑤0

𝑤1

𝑤𝑛

𝑤𝑛−1

𝐸 = 𝑙 𝑦, 𝑦𝑦

𝑙 𝑦, 𝑦 - Loss Function

𝑥0 - Features Vector

𝑥𝑖 - Output of 𝑖 layer

𝑤𝑖 - Weights of 𝑖 layer

𝑦 – Ground Truth

𝑦 – Model Output

𝐸 – Loss Surface

𝜕𝐸

𝜕𝑥𝑛=

𝜕𝑙 𝑦, 𝑦

𝜕𝑥𝑛

𝜕𝐸

𝜕𝑤𝑛=

𝜕𝐸

𝜕𝑥𝑛

𝜕𝑓𝑛 𝑥𝑛−1, 𝑤𝑛

𝜕𝑤𝑛

𝜕𝐸

𝜕𝑥𝑛−1=

𝜕𝐸

𝜕𝑥𝑛

𝜕𝑓𝑛 𝑥𝑛−1, 𝑤𝑛

𝑥𝑛−1

𝑓– Activation Function

𝜕𝐸

𝜕𝑥𝑛−2=

𝜕𝐸

𝜕𝑥𝑛−1

𝜕𝑓𝑛−1 𝑥𝑛−2, 𝑤𝑛−1

𝑥𝑛−2

𝜕𝐸

𝜕𝑤𝑛−1=

𝜕𝐸

𝜕𝑥𝑛−1

𝜕𝑓𝑛 𝑥𝑛−2, 𝑤𝑛−1

𝜕𝑤𝑛−1

……

𝐹𝑜𝑟𝑤

𝑎𝑟𝑑

𝑃𝑟𝑜

𝑝𝑎𝑔𝑎𝑡𝑖𝑜𝑛

𝐵𝑎𝑐𝑘

𝑃𝑟𝑜

𝑝𝑎𝑔𝑎𝑡𝑖𝑜

𝑛

𝑣𝑡 = 𝜇𝑣𝑡−1 − 𝛼𝛻𝐿𝑡(𝑤𝑡−1)

𝑤𝑡 = 𝑤𝑡−1 − 𝑉𝑡

Classic SGD

𝑤𝑡 = 𝑤𝑡−1 − 𝛼𝛻𝐿𝑡(𝑤𝑡−1)

𝑡′=1𝑡 𝛻𝐿𝑡′(𝑤𝑡′−1)

2

AdaGrad RMSProp𝑅𝑡 = 𝛾𝑅𝑡−1 + (1 − 𝛾) 𝛻𝐿𝑡(𝑤𝑡−1)

2

𝑤𝑡 = 𝑤𝑡−1 − 𝛼𝛻𝐿𝑡(𝑤𝑡−1)

𝑅𝑡

𝑀𝑡 =𝛽1𝑀𝑡−1 + (1 − 𝛽1) 𝛻𝐿𝑡(𝑤𝑡−1)

(1 − 𝛽1)𝑡

𝑅𝑡 =𝛽2𝑀𝑡−1 + (1 −

𝛽22)

𝛻𝐿𝑡(𝑤𝑡−1)2

(1 − 𝛽2)2

𝑤𝑡 = 𝑤𝑡−1 − 𝛼𝑀𝑡

𝑅𝑡

Adam

1: Forward Propagation 2: Loss Calculation 3: Optimization

DEEP LEARNING FOR TRADING

Page 31: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

updates = [[weights, weights - gradient * learning_rate]]

GRADIENT BASED MODELSLegend

𝑙 𝑦, 𝑦

𝑙 𝑦, 𝑦 - Loss Function

𝑥0 - Features Vector

𝑥𝑖 - Output of 𝑖 layer

𝑤𝑖 - Weights of 𝑖 layer

𝑦 – Ground Truth

𝑦 – Model Output

𝐸 – Loss Surface

𝑓– Activation Function

1: Forward Propagation 2: Loss Calculation 3: Optimization

DEEP LEARNING FOR TRADING

𝜕𝐸

𝜕𝑥=

𝜕𝑙 𝑦, 𝑦

𝜕𝑥

𝑓0(𝑥0, 𝑤0)

𝑓1(𝑥1, 𝑤1)

𝑓2(𝑥2, 𝑤2)

𝑤0

𝑤1

…𝑓 𝑓 𝑓 𝑥 …

def model(X, weights)…… updates =

[[weights, weights - gradient]]

gradient =T.grad(loss, weights)

Loss = …

Page 32: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Keras Tutorial

DEEP LEARNING FOR TRADING

from keras.models import Sequentialfrom keras.layers.core import Dense, Activation

model = Sequential()

In [1]:

SequentialThe core data structure of Keras is a model, a way to organize layers. The main type of model is the Sequential model, a linear stack of layers.

model.add(Dense(output_dim=…, input_dim=…)) model.add(Activation(…))

Page 33: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Keras Tutorial

DEEP LEARNING FOR TRADING

from keras.models import Sequentialfrom keras.layers.core import Dense, Activation

model = Sequential()model.add(Dense(output_dim=64, input_dim=100))model.add(Activation("relu"))model.add(Dense(output_dim=24, input_dim=64))model.add(Activation("relu"))model.add(Dense(output_dim=10))model.add(Activation("softmax"))

model.compile(loss='categorical_crossentropy', optimizer='sgd')model.fit(X,Y)

In [1]:

SequentialThe core data structure of Keras is a model, a way to organize layers. The main type of model is the Sequential model, a linear stack of layers.

Page 34: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Deep Neural Networks

Input Layer Output Layer

DEEP LEARNING FOR TRADING

Hidden Layersי

Ground Truth

Future Prices

Up or DownClassification

Regression

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time Features Implementing deep neural networks for financial market prediction, Dixon et al, 2015

Recommended Papers

Page 35: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Deep Neural Networks

Input Layer Output Layer

DEEP LEARNING FOR TRADING

Hidden LayersיGround Truth

Future Prices

Up or DownClassification

Regression

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time Features

model = Sequential()model.add(Dense(output_dim=64, input_dim=100))model.add(Activation("relu"))model.add(Dense(output_dim=24, input_dim=64))…model.compile(loss='categorical_crossentropy',

optimizer='sgd')model.fit(X,Y)

Page 36: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Auto Encoders

Input Layer Output Layer

DEEP LEARNING FOR TRADING

Hidden Layersי

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time Features

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time FeaturesDeep Modeling Complex Couplings within Financial Markets, Cao et al, AAAI 2015

Recommended Papers

Page 37: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Auto Encoders

Input Layer Output Layer

DEEP LEARNING FOR TRADING

Hidden LayersFeaturesי

Past Prices

Correlations

Technical Analysis

Z Score

Time Features

Features

Past Prices

Correlations

Technical Analysis

Z Score

Time Features

model = Sequential()model.add(Dense(output_dim=64, input_dim=100))model.add(Activation("relu"))model.add(Dense(output_dim=24, input_dim=64))…model.compile(loss='categorical_crossentropy',

optimizer='sgd')model.fit(X,X)

Page 38: DEEP LEARNING FOR TRADING · 2016-05-16 · Convolutional Network assume that highly correlated features located close to each other in the input matrix and can be pooled and treated

Questions?