Stock Price Predictor in java

               It is mathematical model which describes the relationship between variables. One is dependent variable and another one is independent variable.

For eg: stock price predictor. Here, dependent variable is stock price. Independent variables are time, trade data and volume.

The formula for predicted stock price is given by,

Y= beta1+beta2*X+error term

Where,

Y = predicted stock price

X = predictor value

‘beta1’ = intercept

‘beta2’ = slope

Error term

The java implementation is given below…

public class StockPricePredictor {

    private double slope1;

    private double intercept1;

    // Train simple regression model

    public void fit(double[] x, double[] y) {

        if (x.length != y.length) {

            throw new IllegalArgumentException("Two Arrays must have the same length");

        }

        int n = x.length;

        double sumX = 0, sumY = 0, sumXY = 0, sumXX = 0;

        for (int i = 0; i < n; i++) {

            sumX += x[i];

            sumY += y[i];

            sumXY += x[i] * y[i];

            sumXX += x[i] * x[i];

        }

        double meanX = sumX / n;

        double meanY = sumY / n;

        slope1 = (sumXY - n * meanX * meanY) / (sumXX - n * meanX * meanX);

        intercept1 = meanY - slope1 * meanX;

    }

    // Predict value

    public double predictIt(double x) {

        return slope1 * x + intercept1;

    }

    // Get methods

    public double getSlope() { return slope1; }

    public double getIntercept() { return intercept1; }

    // main() fucntion

    public static void main(String[] args) {

        double[] days = {1,2,3,4,5,6,7,8,9,10,11,12};

        double[] prices = {90,102,110,207,80,125,320,20,110,125,12,245};

        StockPricePredictor p1 = new StockPricePredictor();

        p1.fit(days, prices);

        double predictedPrice = p1.predictIt(11);

        System.out.println("Predicted price on day 16: " + predictedPrice);

        System.out.println("Slope: " + p1.getSlope());

        System.out.println("Intercept: " + p1.getIntercept());

    }

}

Output:

Predicted price on day 16: 137.17249417249417

Slope: 1.8531468531468531

Intercept: 116.7878787878788

That’s all. The Java Program to implement Stock Price Predictor was done successfully. Hope, this code gives you the clear view. Keep Coding!!

Comments

Popular posts from this blog

How to create a XML DTD for displaying student details

Java NIO examples to illustrate channels and buffers.

How to write your first XML program?