I have a high frequency time series of the bid and ask prices of a stock recorded on every tick. For each data point I also have a certain indicators that predict the future movement of the price. The indicators have different horizons of the predictions, some being optimal at few second intervals and others few minutes. I need to assign these predictors weights and based on weather the linear combination crosses a threshold, the decision will be taken to buy of sell the stock. So far I have tried the Differential Evolution (DE) method to figure out the weights. I use a black box model with the weights vector($w_i$) and threshold as inputs. For each data point I have a vector of indicators($\alpha _i$). $$ total\_alpha = \sum\alpha _i*w_i $$ If $$ total\_alpha > threshold, BUY $$ Else If $$ total\_alpha < -threshold, SELL $$ The output of the model is the sum of difference between each between the price of each consecutive buy and sell. This output is being optimised by the DE algorithm. The issues with it being the computational aspects. I have large data sets of sizes(~7e8x20) and the time it takes for the DE algorithm. Is there a better and a faster way to solve this problem?