Skip to content

NamrataThakur/SmartPortfolioAdvisor_Optimization-using-Genetic-Algorithm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SECTION 1: PROJECT TITLE

SmartPortfolioAdvisor


SECTION 2: EXECUTIVE SUMMARY

In this project, we demonstrate the use of Sharpe Ratio as a measure of portfolio fitness to evolve a portfolio of stocks using Genetic Algorithm. We also apply LSTM modeling to forecast future stock prices.


SECTION 3: CREDITS / PROJECT CONTRIBUTION

Official Full Name Student ID Work Items Email
Namrata Thakur A0261619B 1. Integration 2. Installation and User Guide writing 3. Video creation 4. Bug Fixing [email protected]
Ouyang Hui A0261875U 1. LSTM model 2. Project report writing 3. Bug fixing 4. Video creation [email protected]
See Jia Fong Grace A0261797M 1.GA Algo 2. Project report writing 3. Bug fixing 4. Integration & deployment 5. Video Creation [email protected]
Wang Zhipeng A0261980Y 1. Frontend Lead 2.Backend 3. Project report writing 4. Bug fixing [email protected]

SECTION 4: VIDEO OF SYSTEM MODELLING & USE CASE DEMO

Marketing Video:

Final Application Demo Video

Technical Video:

Final Application Demo Video


SECTION 5: USER GUIDE

Refer to User Guide at GitHub Folder: User Guide

To run the system in the local machine:

System Requirements

Ubuntu 20.04
At least 2 GB of hard disk space

Application Requirements

For frontend: application requirements to be installed using npm for dependencies listed in package.json
For backend: application requirements to be installed using pip for dependencies listed in requirements.txt


SECTION 6: PROJECT REPORT / PAPER

Refer to project report at Github Folder: ProjectReport

Sections for Project Report

  • Introduction
    • Business Value
    • Project Aim
  • System Architecture
    • Deployment
  • System Features
    • Stock Data Retrieval
    • Portfolio Recommendation of the day (based on Daily GA Run)
    • Custom Portfolio Recommendation (based on Custom GA Run)
    • Stock Price Forecasting
    • Historical Portfolio Recommendations
    • Financial News
  • GA Algorithm for Portfolio Recommendation
  • Knowledge Identification
    • Fitness Function Definition
    • Data specification
    • Hyperparameter specification
    • Knowledge specification
    • Chromosome
    • Fitness Value (Sharpe) Computation
      • Computation of Daily Return
      • Computation of Annualized Daily Return
      • Computation of Annualized Portfolio Variance
      • Computation of Risk Free Rate
      • Computation of Annual Sharpe Ratio
    • Population Selection and Generation
    • Crossover
    • Mutation
    • Termination Criteria
      • Single run termination criteria (convergence or max epoch)
      • Multi-run termination criteria (Sharpe Ratio 2, recursion depth of 5)
    • Knowledge Refinement
      • Algorithm Tuning
      • Key Performance Indicators
      • Run time optimizations
    • Limitations and Improvements
      • Too Slow!
      • Overly-dynamic portfolio recommendations
      • Only Linux
  • LSTM Model for Stock Price Forecasting
    • Knowledge Identification
    • Knowledge Specification
      • Data preprocessing
      • Dataset creation
    • Knowledge Refinement
    • Limitations and improvements
  • Conclusion
  • References

SECTION 7 : Miscellaneous

Refer to Github Folder: Miscellaneous

Efficient Frontier notebook used to generate the efficient frontier images. Note that the database to run the notebook can be found at Frontend/src/database/stocks.db


This Machine Reasoning (MR) course is part of the Analytics and Intelligent Systems and Graduate Certificate in Intelligent Reasoning Systems (IRS) series offered by NUS-ISS.

Lecturer: GU Zhan (Sam)

alt text

[email protected]

About

IRS PM IS04FT Group 11 Smart Portfolio Advisor

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 85.4%
  • Python 9.0%
  • Jupyter Notebook 3.3%
  • CSS 0.8%
  • HTML 0.6%
  • TypeScript 0.5%
  • SCSS 0.4%