Skip to content

Financecraft is a user-friendly web platform, employing powerful machine learning algorithms like Random Forest and SVM. It provides accurate stock market predictions, simplifying investment decisions for users. Welcome to a straightforward approach to navigating financial complexities.

License

Notifications You must be signed in to change notification settings

ATOMworkplace/FinanceCraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FinanceCraft

FinanceCraft is a comprehensive financial analysis and prediction tool that combines cutting-edge machine learning algorithms with intuitive web development to empower users with insights into stock market behavior.

Overview

In today's dynamic financial landscape, making informed investment decisions is crucial for success. FinanceCraft serves as your gateway to the world of stock market analysis and prediction. Leveraging advanced machine learning techniques and robust web development technologies, FinanceCraft provides users with personalized tools to forecast stock market trends and make well-informed investment choices.

Key Features

  • Machine Learning Algorithms: FinanceCraft harnesses the power of machine learning algorithms such as Random Forest, Support Vector Machine (SVM), and Linear Regression to analyze historical stock market data and predict future trends with high accuracy.
  • Web Development: The core of FinanceCraft lies in its user-friendly web interface. Developed using HTML, CSS, JavaScript, Express.js, and Node.js, the website offers seamless navigation and interaction, providing users with an immersive experience.
  • Data Integration: FinanceCraft integrates with APIs such as Alpha Vantage and Yahoo Finance to fetch real-time and historical stock market data. This data is then processed and analyzed to generate valuable insights for users.

Demo and Screenshots

12.mp4
Recording.2024-05-04.175102.mp4

1

2

3

4

5

6

8

Tech Stack

  • Frontend: HTML, CSS, JavaScript, Bootstrap
  • Backend: Node.js, Express.js
  • Machine Learning: Python, Jupyter Notebook
  • Machine Learning Libraries: Pandas, Scikit-learn
  • APIs: Alpha Vantage, Yahoo Finance
  • Data Visualization: Matplotlib, Plotly

Implementation

Web Development

FinanceCraft's web interface is designed with user experience in mind. Using HTML, CSS, and JavaScript, we create dynamic web pages that allow users to navigate seamlessly and interact with the platform's features. Express.js and Node.js power the backend, handling server-side logic and API requests.

Machine Learning

In the backend, Python and Jupyter Notebook serve as the foundation for implementing machine learning algorithms. Leveraging libraries such as Pandas and Scikit-learn, we preprocess and analyze historical stock market data. The trained models, including Random Forest, SVM, and Linear Regression, enable FinanceCraft to forecast stock market trends accurately.

Data Integration

FinanceCraft integrates with Alpha Vantage and Yahoo Finance APIs to fetch real-time and historical stock market data. This data is then processed, cleaned, and transformed into actionable insights using Python's data manipulation capabilities.

Results and Performance Analysis

Random Forest

The Random Forest model achieves an accuracy score of approximately 50%, indicating performance comparable to random guessing. Further enhancements, such as feature engineering and hyperparameter tuning, are recommended to improve predictive accuracy.

SVM (Support Vector Machine)

The SVM classifier provides an interactive interface for users to select stock symbols and date ranges. It fetches historical data from Yahoo Finance API, calculates binary variables, and visualizes decision boundaries. Interactive widgets allow users to explore and analyze stock price trends effectively.

Website Implementation

Website Implementation Details

FinanceCraft's website implementation involves using several technologies such as Express.js, EJS, and HTML/CSS/JavaScript to create dynamic web pages for stock analysis.

Setup and Dependencies:

The server-side setup involves using Express.js to create routes and handle requests. Body-parser is used for parsing request bodies, while EJS is the templating engine. HTTP module is utilized for making API requests.

Routing:

Different routes are defined for various pages such as the home page ("/") and analysis page ("/analyse"). Each route renders a specific EJS template.

Data Retrieval:

The "/daily-data" route fetches daily stock market data using the Alpha Vantage API. It retrieves data for a specified stock symbol (default is 'AAPL').

Presentation:

The fetched data is presented in a tabular format on the webpage. A form allows users to enter a stock symbol, and upon submission, the corresponding data is fetched and displayed dynamically without the need for page reload.

Interactive User Interface:

Users can input a stock symbol and fetch its daily data by clicking the "Fetch Data" button. The retrieved data, including date, open, high, low, close, and volume, is displayed in a table below the form.

Technical Analysis:

A link is provided for conducting technical analysis using external tools. Users can click the link to access additional analysis tools.

Data Retrieval and Preprocessing:

  • Python libraries such as yfinance, pandas, pandas_ta, and scikit-learn are used for data retrieval and preprocessing.
  • Historical stock market data is fetched using yfinance.
  • Technical indicators such as Average Directional Index (ADX), Relative Strength Index (RSI), Exponential Moving Average (EMA), and Simple Moving Average (SMA) are calculated using pandas_ta.
  • Features such as open, high, low, close prices, volume, ADX, RSI, EMA, and SMA are extracted and normalized using scikit-learn's MinMaxScaler.

Model Training and Evaluation:

  • A Random Forest classifier is trained on the preprocessed data to predict stock price direction.
  • The model is evaluated using accuracy score to assess its performance.
  • Results are displayed using visualizations such as bar plots to compare actual and predicted price directions.

Interactive User Interface:

  • Users can input a stock symbol to fetch corresponding data.
  • The interface dynamically updates based on the selected stock symbol, displaying the retrieved data and prediction results.
  • Widgets are provided for user interaction, enabling seamless exploration and analysis of stock price trends.

About

Financecraft is a user-friendly web platform, employing powerful machine learning algorithms like Random Forest and SVM. It provides accurate stock market predictions, simplifying investment decisions for users. Welcome to a straightforward approach to navigating financial complexities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published