Visual Attention Model for Cross-sectional Stock Return Prediction and End-to-End Multimodal Market Representation Learning

Technical and fundamental analysis are traditional tools used to analyze individual stocks; however, the finance literature has shown that the price movement of each individual stock correlates heavily with other stocks, especially those within the same sector. In this paper we propose a general purpose market representation that incorporates fundamental and technical indicators and relationships between individual stocks. We treat the daily stock market as a "market image" where rows (grouped by market sector) represent individual stocks and columns represent indicators. We apply a convolutional neural network over this market image to build market features in a hierarchical way. We use a recurrent neural network, with an attention mechanism over the market feature maps, to model temporal dynamics in the market. We show that our proposed model outperforms strong baselines in both short-term and long-term stock return prediction tasks. We also show another use for our market image: to construct concise and dense market embeddings suitable for downstream prediction tasks.



page 5


A Novel Distributed Representation of News (DRNews) for Stock Market Predictions

In this study, a novel Distributed Representation of News (DRNews) model...

Leveraging Financial News for Stock Trend Prediction with Attention-Based Recurrent Neural Network

Stock market prediction is one of the most attractive research topic sin...

Attention-based CNN-LSTM and XGBoost hybrid model for stock prediction

Stock market plays an important role in the economic development. Due to...

TI-Capsule: Capsule Network for Stock Exchange Prediction

Today, the use of social networking data has attracted a lot of academic...

Factor Investing: Hierarchical Ensemble Learning

We present a Bayesian hierarchical framework for both cross-sectional an...

A data-science-driven short-term analysis of Amazon, Apple, Google, and Microsoft stocks

In this paper, we implement a combination of technical analysis and mach...

Financial Return Distributions: Past, Present, and COVID-19

We analyze the price return distributions of currency exchange rates, cr...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.


Over the past few years, there have been multiple proposals for methods to adopt machine learning techniques in quantitative finance research. The rapidly growing volume of market data allows researchers to upgrade trading algorithms from simple factor-based linear regression model to complex machine learning models such as reinforcement learning

[Lee2001], k-nearest neighbor [Alkhatib et al.2013] and Gaussian processes [Mojaddady, Nabi, and Khadivi2011].

Modeling stock price movement is very challenging since stock prices are affected by many external factors such as political events, market liquidity and economic strength. A variety of financial theories for market pricing have been proposed, which can serve as the theoretical foundation for designing tailored machine learning models. First, the efficient market hypothesis [Malkiel and Fama1970] states that all available information is reflected in market prices. Fluctuations in stock prices are a result of newly released information. Therefore, through analyzing individual stock price movements, a machine learning-based model should be able to decode the embedded market information.

Second, value investing theory [Graham and Dodd2002] suggests to buy stocks below their intrinsic value to limit downside risk. The intrinsic value of a company is calculated by fundamental indicators which are revealed in quarterly and annual financial reports. A machine learning-based model should therefore be capable of discovering the relationship between different types of fundamental indicator and the intrinsic value of a company.

Third, the methodology of technical analysis introduced in [Murphy1999]

demonstrates some well-known highly situated and context-dependent leading indicators of price movement such as relative strength index (RSI) and moving average convergence/divergence (MACD). Thus, a machine learning-based model should be able to estimate the predictive power of traditional technical indicators in different market situations.

Fourth, the stock market has a well-defined structure. In the macro, people have invented different financial indexes for major markets such as the NASDAQ-100 and Dow Jones Industrial; these are composite variables that may indicate market dynamics. In the micro, the stock market is usually divided into 10 major sectors and tens of subsectors for key areas of the economy. Stocks in the same sector have a shared line of business and are expected to perform similarly in the long run [Murphy2011]. Traditional ways of dealing with market information are to include hand-crafted microeconomic indicators in predictive models, or to construct covariance matrixes of returns among groups of stocks. However, those hand-crafted features can become gradually lagged and unable to dynamically adjust to market changes. Therefore, a machine learning-based model should leverage information from the whole market as well as the sector of each included company.

Inspired by these financial theories, we implement an end-to-end market-aware system that is capable of capturing market dynamics from multimodal information (fundamental indicators, technical indicators, and market structure) for stock return prediction. First, we construct a ‘market image’ as in Figure 1, in which each row represents one stock and each column represents an indicator from the three major categories shown in Table 1

. Stocks are grouped in a fixed order by their sector and subsector (industry). Then we apply state-of-the-art deep learning models from computer vision and natural language processing on top of the market image. Specifically, our contributions in this work are to: (1) leverage the power of attention-based convolutional neural networks to model spatial relationships between stocks the in market dimension, and of recurrent neural networks for time series forecasting of stock returns in the temporal dimension, and (2) use a convolutional encoder-decoder architecture to reconstruct the market image for learning a generic and compact market representation. In the next sections, we present our market image, then our model for market-aware stock prediction, and finally our method for computing generic and compact market representations. We present empirical results showing that our model for market-aware stock prediction beats baselines used in finance, and that our market representation beats PCA.

Indicator Set Time Scale Indicators
Price-Volume Daily Close-to-Open ratio, High-to-Open ratio, Low-to-Open ratio, Close-to-High ratio, Close-to-Low ratio, High-to-Low ratio
Historical Return Daily last {1,2,3,4,5}-day return, last {5,10,15,20,25,30}-day cumulative return
Technical Indicators Daily BOLL,DMI,RSI, MACD,ROC,MOMENTUM
Table 1: Indicators used in our ’market image’

The Market Image

We represent the daily market as an image (a matrix). is the number of unique stocks while refers the number of extracted traditional trading indicators. In our experiments, we used the indicators from Table 1. A sample market image is depicted in Figure 1. The market image serves as a snapshot of market dynamics. These market images can be stacked to form a market cube as shown in Figure 2, thus incorporating a temporal dimension into the representation.

For our experiments later in this paper, we collected the 40 indicators from Table 1 for each of the S&P 500 index constituents on a daily basis from January 1999 to Dec 2016, and used this to construct daily market images. The size of the daily image is 500 (stocks) X 40 (multimodal indicators), denoted as . In each market image, stocks are grouped first by the ten sectors in the Global Industry Classification Standard (GICS), and within each sector, by the GICS subsectors.

For the market image, we find the min and max value of each indicator in the training set and apply a min-max scalar to normalize each feature into a 0-1 scale, see equation (1).


Some fundamental indicators are updated quarterly; to fill those blank pixels in our market images, we applied a backward fill policy to the affected columns.

Figure 1: 1-day market image snapshot

Market-Aware Stock Return Prediction

Let us assume that we want to predict the return of at day based on information from the previous days. This means that we have to learn a market representation with respect to given the previous market images as the market context. First, we rotate and stack market images to construct a 3-D market cube . Rows index the temporal dimension, columns index stocks, and channels index indicators, as shown in  4. Let refer to the

-dimensional vector indexed by

in the temporal dimension and in the factor dimension of the market cube and refer to the -dimensional vector indexed by in the temporal dimension and in the stock dimension. Separately, we initialize stock embeddings , where indexes the -th column’s stock embedding.

Figure 2: Market Cube
Figure 3: Architecture of Market-Attention Recurrent Neural Network Model

Second, we use a convolutional neural network (CNN) to generate multiple feature maps of the market cube through multiple convolution operations. Each convolution operation involves a filter , which is applied to a window of 1 day to produce a new feature by:


is a ReLU active function for introducing non-linearities into the model. So we have a 1-D convolution filter that slides its window vertically with stride=1 along the first dimension of the market cube to produce a feature map column vector

. denotes the j-th kernel; in our experiments, we use 192 different kernels.

Given a target stock embedding , the attention model will return a weighted arithmetic mean of the {}, where the weights are chosen according the relevance of each to the stock embedding . We use the additive attention mechanism explained in [Bahdanau, Cho, and Bengio2014]. In equation 3, and are learned attention parameters.


We compute attention weights using a softmax function


The conditioned market embedding is calculated by


Intuitively, each filter serves to summarize correlations between different stocks across multiple indicators. Each kernel is in charge of finding different types of patterns among the raw indicators. The attention mechanism of the CNN is responsible for selecting the patterns on which to focus for a particular target stock. This conditioned market embedding summarizes the information contained in the market cube , focusing on a group of stocks in the market that links to our predicted stock.

The attention-based CNN relays its learned dense market performance embedding to the next stage: a long-short-term memory recurrent neural network (LSTM), which models the temporal dependencies in a sequence of multidimensional features

of a specific . Recurrent neural networks [Hochreiter and Schmidhuber1997, Mikolov et al.2010] are widely applied in natural language processing applications to capture long-range dependencies in time series data [Sutskever, Vinyals, and Le2014, Cho et al.2014, Dyer et al.2015, Yang et al.2017]. The attention mechanism [Bahdanau, Cho, and Bengio2014, Luong, Pham, and Manning2015] has become an indispensable component in time series modeling with recurrent neural networks, which provide an evolving view of the input sequence as the output is being generated. In our stock market modeling applications, we want to be able to summarize the ‘trend’, while being able to pick up important time points of the past history, therefore we decided to use recurrent neural networks to model temporal aspects of the stock market.

The sequence of multidimensional features for () are sequentially encoded using a LSTM cell of size 25. The mechanism of the LSTM is defined as:

We treat the last hidden LSTM output as the representation of the target ’s performance in the past days, delineated by .

Finally, we feed both our learned dense market performance embedding and stock performance embedding

to a feedforward neural network. They are non-linearly transformed separately in the first layer

and concatenated together to predict the target stock return:



We conducted an evaluation of our MA-RNN.

For labels, we built stock return matrices for each market image. We used 1-day and 5-day returns for short-term predictions and 15-day and 30-day returns for long-term predictions, denoted as

. In order to reduce the effect of volatility on returns, we divide the individual daily return by its recent past standard deviation of return (

cf the Sharpe ratio). The moving window size to calculate the standard deviation is 10, see equation (7).


We divided our input market images into training, validation and backtest sets by time, as shown in Table 2.

Training Validation Backtest
Period 1999-2012 2012-2015 2015-2016
#Trading Days 3265 754 504
Table 2: Data Split

We trained our MA-RNN model with the following hyperparameters: a convolution stride size of 1; dimensionality of 100 for the trainable stock embeddings; a dimensionality of 32 for the attention vector of the convolutional neural work; a dimensionality of 40 for the final market representation vector; a cell size of 32 for the LSTM; hidden layers of dimensionality 100 and 50 respectively for our fully connected layers; ReLu non-linearity; and a time window

of 10. All the initialized weights were sampled from a uniform distribution [-0.1,0.1]. The mini-batch size was 10. The models were trained end-to-end using the Adam optimizer

[Kingma and Ba2014]

with a learning rate of 0.001 and gradient clipping at 5.

For benchmarking our MA-RNN model, we chose several standard machine learning models. We conducted two experiments. For both experiments, we report MSE of the % return prediction as our metric.

First, we compared the performance of models with and without market information. Linear regression, feedforward neural networks and support vector regression [Drucker et al.1997] serve as our market info-free comparison models. Our market-attention model relies solely on the learned market representation, , (i.e., it involves only the CNN with attention, and ignores the output of the LSTM,

). We used a linear kernel function in the SVR model with penalty parameter C=0.3. The feed forward neural network had two hidden layers of size 50 and sigmoid non-linearity. The LSTM cell size was 25 in the feedforward recurrent neural network.

We found that market awareness can be successfully modeled to improve stock price prediction. As illustrated in Table 3, at every time interval (1 day, 5 days, 15 days and 30 days) the market-attention model has lower MSE than the other models, which have no information about the market as a whole.

Model n=1 n=5 n=15 n=30
Linear Regression 3.711 6.750 12.381 18.429
2.411 4.917 8.149 11.930
1.727 3.952 6.967 9.088
1.426 2.896 5.854 7.923
0.91 1.63 4.383 5.114
Table 3: Mean Squared Error of % Return Prediction

Second, we compared the market-attention model with our MA-RNN model to show the value of explicitly modeling temporal dependencies. We found that temporal awareness can be successfully used in a market-aware model for improved stock price prediction. As illustrated in Table 4, our MA-RNN model has lower MSE than our baseline market-attention CNN.

Model n=1 n=5 n=15 n=30
0.91 1.63 4.383 5.114
0.790 1.210 3.732 4.523
Table 4: Mean Squared Error of % Return Prediction

Generic Market Representation: MarketSegNet

Based on our finding from the previous section that market awareness leads to improved stock prediction accuracy, we propose a novel method to learn a generic market representation in a end-to-end manner. The market representation learning problem is to convert market images (potentially of variable dimensions) to fixed-size dense embeddings for general purpose use. As a test of the fidelity of this representation, from the generic market embedding it should be possible to reconstruct the input market image pixel wise.

Figure 4: Architecture of MarketSegNet

Inspired by [Badrinarayanan, Kendall, and Cipolla2017]

, we developed a deep fully convolutional autoencoder architecture for pixel-wise regression. The convolutional encoder-decoder model was originally proposed for scene understanding applications, such as semantic segmentation

[Long, Shelhamer, and Darrell2015, Badrinarayanan, Kendall, and Cipolla2017] and object detection [Ren et al.2015]. A convolutional encoder builds feature representations in a hierarchical way, and is able to take in images of arbitrary sizes, while a convolutional decoder is able to produce an image of a corresponding size. By using convolutional neural networks, the extracted features exhibit strong robustness to local transformations such as affine transformations and even truncations [Zheng, Yang, and Tian2017]. In a stock market modeling application, after representing each day’s overall stock market as an image, we believe that (1) building features in a hierarchical way can provide a better summary of the market, since stocks exhibit an inherent hierarchical structure, and (2) robustness to local transformations is desirable, since the stock universe is constantly changing, with new companies being added, and other companies removed, while we do not want the overall market representation to be greatly affected by the addition or removal of a single company.

Since our market image has a different spatial configuration comparing to a normal image, we customize the structure of our end-to-end architecture. The encoder network is composed of traditional convolutional and pooling layers which are used to reduce the resolution of the market image through max-pooling and subsampling operations. Meanwhile, the encoder network stores the max-pooling indices used in the pooling layer, to be applied in the upsampling operation in the corresponding decoder network. The decoder network upsamples the encoder output using the transferred pool indices to produce sparse feature maps, and uses convolutional layers with a trainable filter bank to densify the feature map so as to recover the original market image. Since companies are grouped in the market image by sector, max-pooling in the encoder network can capture the trends of stocks in the same sector.

To evaluate MarketSegNet, we compare its ability to reconstruct input market images with that of a well-known algorithm for dimensionality reduction, Principal Component Analysis (PCA). PCA uses singular value decomposition to identify variables in the input data that account for the largest amount of variance. We used our training data both to train our MarketSegNet model and to fit a PCA model. We then used the MarketSegNet and PCA models to compress the market images in our test data, and to reconstruct images of the dimensionality of the input images. We compared the reconstruction error rates of PCA and our MarketSegNet model. Since we varied the sizes of our learned market embeddings from 16 to 128, for each size we created a PCA model with that number of principal components.

Our results are shown in Figure 5. For every size of market embedding, MarketSegNet has lower reconstruction error than PCA.

Figure 5: Market Image Reconstruction Error Rates

Conclusions and Future Work

In this paper, we present a method for constructing a ‘market image’ for each day in the stock market. We then describe two applications of this market image:

  1. As input to ML-based models for stock price prediction. We demonstrate (a) that market awareness leads to reduced error vs non-market-aware methods, and (b) that temporal awareness across stacks of market images leads to further reductions in error.

  2. As input to a ML-based method for constructing generic market embeddings. We show that the learned market embeddings are better able to reconstruct the input market image than PCA across a range of dimensionality reductions, indicating that they capture more information about the input market image.

We should emphasize that our baseline market-aware CNN, our MA-RNN model, and our MarketSegNet market embeddings do not represent trading strategies. They are agnostic to trading costs, lost opportunity cost while out of the market, and other factors that matter with an active trading strategy. That said, they may provide information that is useful in trading strategies. Other research groups that have used the models described here have reported improved performance in predicting the directionality of stock price moves on earnings day, and in assessing which events will move markets. We leave further exploration of the applications of these models to future work.