The Stock Screening Tool is a web-based application designed to help users filter and analyze stocks based on specific financial criteria. Inspired by Screener.in's "Create New Screen" feature, this tool allows investors, analysts, and enthusiasts to create custom screens to identify stocks that meet their investment strategies.
-
User-Friendly Query Input:
- Construct queries using a simple, query-like syntax.
- Support for conditions with operators:
>,<,=. - Logical AND-only filtering to ensure stocks meet all specified criteria.
-
Comprehensive Stock Data:
- Analyze 500 stocks with 9 key financial parameters:
- Market Capitalization
- P/E Ratio
- ROE (%)
- Debt-to-Equity Ratio
- Dividend Yield (%)
- Revenue Growth (%)
- EPS Growth (%)
- Current Ratio
- Gross Margin (%)
- Analyze 500 stocks with 9 key financial parameters:
-
Interactive Results Display:
- Tabular format showcasing all relevant parameters.
- Sortable columns for easy data analysis.
- Pagination with 10 stocks per page for efficient browsing.
-
Responsive Design:
- Optimized for both desktop and mobile devices, ensuring a seamless experience across platforms.
-
Theming:
- Light, dark, and system themes for personalized user experience.
- Framework: Next.js 15 (App Router)
- Library: React 19
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- State Management: React Hooks
- Type Checking: TypeScript
- Deployment: Vercel
- Node.js: Ensure you have Node.js (version 18 or later) installed. You can download it from here.
- Package Manager: PNPM (recommended)
-
Clone the Repository:
git clone https://github.com/your-username/stock-screening-tool.git
-
Navigate to the Project Directory:
cd stock-screening-tool -
Install Dependencies:
pnpm install
Start the development server:
pnpm devOpen http://localhost:3000 in your browser to view the application.
To build the application for production:
pnpm buildStart the production server:
Using npm:
pnpm start-
Navigate to the Home Page: Open the application in your browser to access the main interface.
-
Enter Your Query: Use the query-like input format to define your screening criteria. Each condition should be separated by the
ANDkeyword.Syntax:
[Parameter] [Operator] [Value] AND [Parameter] [Operator] [Value] AND ...
Supported Parameters:
- Market Capitalization
- P/E Ratio
- ROE (%)
- Debt-to-Equity Ratio
- Dividend Yield (%)
- Revenue Growth (%)
- EPS Growth (%)
- Current Ratio
- Gross Margin (%)
Supported Operators:
- Greater than:
> - Less than:
< - Equal to:
=
-
Run the Query: Click the "Run Query" button to filter stocks based on your criteria.
-
View Results: The filtered stocks will be displayed in a sortable and paginated table below the query form.
-
Large Cap Growth Stocks:
Market Capitalization > 200 AND ROE > 15 AND EPS Growth > 10
-
Dividend Value Stocks:
Dividend Yield > 2 AND P/E Ratio < 20 AND Debt-to-Equity Ratio < 1
-
High Liquidity Stocks:
Current Ratio > 2 AND Gross Margin > 40
Contributions are welcome! Please follow these steps to contribute:
-
Fork the Repository: Click the "Fork" button on the repository page.
-
Clone Your Fork:
git clone https://github.com/your-username/stock-screening-tool.git
-
Create a New Branch:
git checkout -b feat/YourFeatureName
-
Make Your Changes: Implement your feature or fix.
-
Pre-Commit Checks: Before committing, run these commands to ensure code quality:
pnpm format # Format code using Prettier pnpm lint # Run ESLint checks pnpm build # Verify build succeeds
Fix any issues that arise from these checks.
-
Commit Your Changes: Follow the conventional commits specification for commit messages:
git commit -m "<type>[optional scope]: <description>"Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringperf: Performance improvementstest: Adding or updating testschore: Maintenance tasks
Examples:
git commit -m "feat(table): add sorting functionality to stock table" git commit -m "fix: correct stock filtering logic" git commit -m "docs: update installation instructions" git commit -m "style: improve table responsive design"
-
Push to Your Fork:
git push origin feat/YourFeatureName
-
Open a Pull Request: Navigate to the original repository and click "New Pull Request."
This project is licensed under the MIT License.