24

First, let's speak about perceptrons in general: their input $X_0$ is a $K$-dimensional vector. So if you want to use $(P_{bid}(t),P_{ask}(t), Q_{bid}(t),Q_{ask}(t))$, it would mean that without any effort (but later we will see that is would be better to do some efforts, as usual): $$X_0(t)=(P_{bid}(t),P_{ask}(t), Q_{bid}(t),Q_{ask}(t))'\in\mathbb{R}^4$$ ...


6

I can't help as much with public literature, but I did see a talk with a member of the FINRA data science team responsible for exactly this (event link below - perhaps you can track down the speaker). I don't know the structure of your data, but the approach FINRA took was to develop trader-level attributes (not stock level) to create profiles for each ...


6

They are not mutually exclusive. For example, the class you refer to as "econometric" are simply linear regression models that include as factors prior returns or residuals of the return series sometimes with weightings on the observations. You could easily design a neural network with no hidden layers and the same inputs. So each of the econometric models ...


5

You can try using different approaches. Starting from something not that "heavy" like the NN. 0) Pre study - you need to prepare your data (how you will treat a negative spread (i.e. ASK - BID <0), what will you do if you will have 0 spread and then you will divide some value by it?), - plan your research ahead - how will you divide your limited data ...


5

The code below is written in Wolfram Mathematica. For example, we have some training data. And we are trying to predict: long (1) or short (0). SeedRandom[0]; n = 10000; X = RandomReal[{-1, 1}, {n, 100, 5}]; Y = RandomInteger[{0, 1}, n]; net = NetChain[ { LongShortTermMemoryLayer[64], SequenceLastLayer[], ElementwiseLayer[Ramp], LinearLayer[...


4

This question is broad, and the normalisation strategy is going to depend on the nature of your indicator. Assuming the technical indicators are a time series, then two simple approaches for normalising your data are: Calculate the difference between each time step. If you are feeding multiple signals into a neural network you should confirm the values ...


4

Lets assume I made two models for predicting future price of stocks, one trained in RNN and other in MLP (Multi Layer Perceptron) using 10 years (OHLC) of data from SPY with good accuracy. Which algorithm has more chances to give an accurate prediction? The choice of which model to use for training matters far, far less than the specific parameters ...


4

I find your approach to calibration (training an ANN to learn the inverse function f-1 from a training set of 'market_prices = f(model_parameters)' interesting, novel (at least this is the first time I am hearing about it) and definitely worth investigating further. If you make it work, you have almost instantaneous calibration and a methodology applicable ...


3

Based on an my updated understanding of your problem you have a portfolio consisting of $N$ illiquid assets. Valuations are not real time and usually lagged, by say, upto 3 months (or slightly longer), but at least valuations correspond to a consistent timestamp (or otherwise you interpolate a consistent timestamp). You want to construct a predictive model ...


2

I am not sure I perfectly understand your question, the concept of "time series with varying density over time" is not very clear. One thing is for sure, the optimal way to "feed" a neural network is a function of the type of NNet itself and of the learning method you have chosen. For time series either you believe your data are iid vectors, and you can ...


2

You may notice that the difference between the middle bands and upper and lower bands is simply a constant of realized standard deviation of price. If you want to feed a prediction algorithm some standardized data which is comparable for all securities, I would suggest indicators which operate on logarithmic price changes.


2

Whilst reading this I realized that it would be a really good application for meta-labeling. The idea behind meta-labeling is to build a secondary model that determines if the signals {0, 1} from the primary model are correct or not. By doing this the secondary model outputs a value between 0 and 1 indicating how confident the model is that the primary ...


2

I cannot speak specifically because I have proprietary insight into the issue, but one approach is to compare the timing of trading activity (volume, bids/offers on the book traded and withdrawn) with publicly-announced news. Think Granger Causality, and which event seems to cause the other.


2

You will find that the level of success you have using Neural Networks (NN) as a tool for financial market prediction is strongly dependent on what initially appear to be some quite subtle factors. In particular: Input data: You mention using "certain technical indicators". I assume that you mean the standard TA set of price-based indicators such as Moving ...


2

"Success rate", in the sense of winning (W) vs. losing (L) percentage of trades, is almost completely meaningless if taken alone as a trading metric. With a trend-following (TF) trading strategy, where you quickly exit any trades that start to become losers (i.e. cut your losses fast) but let your profits run, a typical win-rate would be around 35% or so, ...


2

You're thinking about this the wrong way, in my opinion. Win/loss percentage is worthless in isolation. You must consider the symmetry of your winners and losers. You can have a win % of only 40% and still have a wonderful strategy if your your winners are significantly larger than your losers (this is the classic trend follower PnL distribution). So, you ...


2

I agree with all Robert says above, but if you already have the data, and you want to quickly create a neural network model and run the analysis, I would suggest the following: The Heaton Site has a Wiki, links to papers, links to books, a forum, etc. that will help you get started, but you might try the PluralSight course Introduction to Machine Learning ...


2

It's a bit unclear to me what you're trying to do, and maybe a better place to ask your question is Stats.SE but I would encourage you to go and have a look at this online class on machine learning which provides an implementation of the backpropagation algorithm. You can either register or hit preview and go to the NN:Learning chapter, but I would ...


1

In the non nn case your code does not implement the longstaff-schwartz algorithm so i am not sure what makes why you think it does. Longstaff-Schwartz is a Monte-Carlo method and you seem to be implementing some backward pricing scheme so this does not make much sense at all to me. Longstaff-Schwartz has 2 phases: 1 backward pricing step to calibrate the ...


1

Specifically for using Bollinger bands, you could use the %B indicator. This will scale your price data to the 0 to 1 range ( easily adjusted to -1 to +1 range ) which is convenient for the Sigmoid or Tanh activation functions of a neural net.


1

Whenever you are looking to estimate total return, you would use adjusted closing prices. If you are strictly looking for the future stock price, you would use unadjusted closing price. I assume, though, that you are looking to predict the value of holding a stock during a given period, so you would want to use adjusted prices. The only time I've used actual ...


1

50 elements input vector is actually a small one. For example, in this tutorial the size of the input vector is 784 (parameter 'nvis'). So your problem lies somewhere else. I would recommend to start from taking these two courses on Coursera: Neural Networks for Machine Learning Machine Learning They will provide you with some practical guidance ...


1

OK, in for a penny, in for a pound :-) First, let us assume that you have symmetrical critical levels higher and lower (call them “target” and “stop” if you will). Only in this case is the hit rate relevant. Even, then the hit rate is a function of time. If you take a 5d/1w view, then being 51% right is very different to being to being 51% right on a 21d/...


1

There can be several reasons for this: The "new data" that you use post-training & post-validation is not drawn from the same distribution as the one that you used to create/draw your training, testing and validation data. Since you have not mentioned anything related to the input features in your data-set, I am assuming that the stock/option/derivative/...


1

Neural networks are a supervised machine learning algorithm. Unlike unsupervised machine learning, the key to supervised machine learning is the selection of input factors and explicit labeling of outputs. Input factors have to be manually selected, such as your combination of technical / fundamental / statistical indicators. Outputs have to be ...


Only top voted, non community-wiki answers of a minimum length are eligible