A Project Report: Submitted in Partial Fulfillment For The Award of The Degree of
A Project Report: Submitted in Partial Fulfillment For The Award of The Degree of
Final Report
B.Tech
in
SHIKHAR GUPTA
(17BIT0081)
SHREEYANSH
(17BIT0214)
ABSTRACT
INTRODUCTION
MATLAB OVERVIEW
AIM:
METHODOLOGY:-
We outline the design of the Neural Network model with its salient
features and customisable parameters. We select a certain group of
parameters with relatively significant impact on the share price of a
company. With the help of statistical analysis, the relation between the
selected factors and share price is formulated which can help in
forecasting accurate results. Although, share market can never be
predicted, due to its vague domain, this project aims at applying
Artificial Neural Network in forecasting the stock prices.We
normalise inputs so that input values lies between 0 and 1. We develop
three modules. First module is used for calculating weights by using
back propagation algorithm.Second module is used to find the
predictable stock rate after denormalisation by using weights we got
from first module. Third module is used for getting buying and selling
signals from predicted stock rates and the available stock rates. We got
predicted stock rate from trained network with different hidden layers,
we generate signals to know whether that stock should be buy or sell
and then compare it with the actual stock rate signals on those trading
days. By this comparison we got correctness of our prediction. After
performing this experiment we got different results with their
correctness as shown.
Literature Review-
Dataset used-
Yahoo finance-
IMPLEMENTATION:-
MATLAB CODE:
Part 1: Data processing
clc
clear
all
close
all
C=csvread(strcat('CHO(1) (1).csv'),1,1);
% Opening stock value for the day
Open = C(:,1);
Open = Open.';
% Highest stock value for the day
High = C(:,2);
High = High.';
% Lowest stock value for the day
Low = C(:,3);
Low = Low.';
% Closing stock value for the day
Close = C(:,4);
Close = Close.';
% Simple Moving Average for 10 and 50 days
SMA_10 = tsmovavg(Open,'s',10);
SMA_50 = tsmovavg(Open,'s',50);
% Exponential Moving Average for 10 and 50 days
EMA_10 = tsmovavg(Open,'e',10);
EMA_50 = tsmovavg(Open,'e',50);
% Input vector of the input variables
Input = {Open; High; Low; SMA_10; EMA_10; SMA_50;
EMA_50}; Input = cell2mat(Input);
OUTPUT:-
PLOT-
Inference