Add Financial AI Assistant
isssue #516
Pull Request for PyVerse 💡
Requesting to submit a pull request to the PyVerse repository.
Issue Title
Add Financial AI Assistant
- [x] I have provided the issue title.
Info about the Related Issue
What's the goal of the project?
The goal of this project is to provide an interactive stock analysis tool that compares two stocks with technical indicators and integrates an AI-powered assistant for stock predictions and investment recommendations. The application helps users visualize trends, generate insights, and make informed financial decisions.
Describe the aim of the project.
It is a comprehensive tool designed for stock market enthusiasts and investors. It enables users to compare two stocks' performance through interactive charts and provides advanced technical indicators like Simple Moving Averages (SMA) and Linear Regression Lines. With the new Financial AI Assistant, users can receive stock price predictions and buy/sell recommendations using machine learning models.
- [x] I have described the aim of the project.
Name
Aman Verma
- [x] I have provided my name.
GitHub ID https://github.com/amanver45
Enter your GitHub ID here.
- [x] I have provided my GitHub ID.
Email ID
Please mention your email ID for further communication.
[email protected]
- [x] I have provided my email ID.
Identify Yourself
Mention in which program you are contributing (e.g., WoB, GSSOC, SSOC, SWOC).
GSSOC
- [x] I have mentioned my participant role.
Closes
Enter the issue number that will be closed through this PR.
*Closes: #516 *
- [x] I have provided the issue number.
Describe the Add-ons or Changes You've Made
Give a clear description of what you have added or modified.
Describe your changes here.
- [x] I have described my changes.
Type of Change
Select the type of change:
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Code style update (formatting, local variables)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [x] This change requires a documentation update
How Has This Been Tested?
Describe how your changes have been tested.
1. Unit Testing
Stock Data Fetching: Ensured that stock data is fetched correctly from Yahoo Finance using the yfinance library by testing various valid and invalid stock ticker symbols.
Indicator Calculations: Verified that technical indicators such as the 30-Day and 100-Day SMAs, as well as the Linear Regression Line, are correctly computed based on historical stock data.
2. User Interface Testing
Streamlit UI Components: Tested each input component (e.g., date pickers, text inputs, and buttons) to ensure smooth interaction and proper validation (e.g., ensuring numeric input for stock symbols, correct date formats).
Indicator Selection: Verified that the selected technical indicators are properly added to the charts and respond to user input without errors.
3. Integration Testing
Synchronized Charts: Ensured that the X-axis synchronization works seamlessly when comparing two stock charts over the same date range.
Financial AI Assistant: Validated the output of the stock analysis and predictions against historical data to confirm the accuracy of machine learning models.
4. Functional Testing
Candlestick Chart Rendering: Confirmed that the candlestick charts display accurately, including the correct rendering of open, close, high, and low prices.
Download Feature: Tested the functionality for downloading generated barcodes or charts to ensure the correct format and file type.
- [x] I have described my testing process.
Checklist
Please confirm the following:
- [x] My code follows the guidelines of this project.
- [x] I have performed a self-review of my own code.
- [x] I have commented my code, particularly wherever it was hard to understand.
- [x] I have made corresponding changes to the documentation.
- [x] My changes generate no new warnings.
- [x] I have added things that prove my fix is effective or that my feature works.
- [x] Any dependent changes have been merged and published in downstream modules.
👋 Thank you for opening this pull request! We're excited to review your contribution. Please give us a moment, and we'll get back to you shortly!
Feel free to join our community on Discord to discuss more!
@shaansuraj sorry sir for late i complete the project pls see it
@UTSAVS26 @shaansuraj @TheChaoticor pls check and merge it
@UTSAVS26 Can you review this PR?