Releases: devfinwiz/Fin-Maestro-Kin
Fin-Maestro-Kin v0.4.1
Summary
Version v0.4.1
introduces the Valuation Engine module (Phase 1), enabling programmatic fair value estimation of stocks using standardized models. This release lays the groundwork for deeper financial analysis by providing endpoints for widely used valuation methods, along with a new verdict endpoint to help users assess a stock’s attractiveness. Additionally, it deprecates legacy endpoints related to options sentiment analysis.
Changes Made
-
Introduction of the Valuation Engine
- Added support for foundational valuation methodologies:
- Earnings-based valuation using normalized Earnings Per Share (EPS).
- Graham's formula valuation based on publicly available financial metrics.
- Enables programmatic access to fair value estimation logic via dedicated API endpoints.
- Added support for foundational valuation methodologies:
-
New API Endpoints
/valuations/graham/{symbol}
Computes intrinsic value using Graham’s formula./valuations/earnings/{symbol}
Calculates valuation as per earnings for a specific stock based on its P&L statement, particularly the Earnings Per Share (EPS) metric./valuations/get-valuation-verdict/{symbol}
Returns a verdict-style summary stating whether the stock appears undervalued, overvalued, or fairly priced based on computed valuations vs. current market price.
-
Deprecated Endpoints
/sentiment/pcr-indice-analysis
/sentiment/pcr-stocks-analysis/{symbol}
Impact
- Automated Investment Insights: The verdict endpoint offers an at-a-glance evaluation of a stock’s value proposition.
- Stronger Foundations: Lays the analytical groundwork for more advanced checklist and scoring modules in future versions.
Docker Image Update
- Pushed updated Docker image with version
v0.4.1
, tagged aslatest
, ensuring users have access to the most recent features and fixes:devfinwiz24/fin-maestro-kin:v0.4.1
devfinwiz24/fin-maestro-kin:latest
(points tov0.4.1
)
Contributors
Fin-Maestro-Kin v0.4.0
Summary
Version v0.4.0
marks a significant change by deprecating NSE-related endpoints, simplifying maintenance, and fully transitioning to Screener.in as the primary data source. This release also includes updates to enhance security, stability, and data reliability.
Changes Made
-
Deprecation of NSE-related Endpoints:
- Removed all NSE-related endpoints, streamlining the data sources to focus on Screener.in.
- Simplifies maintenance and ensures long-term reliability by eliminating dependencies on frequently changing NSE APIs.
-
Enhancement of Screener.in Integration:
- Screener.in is now the sole data source for financial data aggregation and analysis, forming the foundation for the Data Toolkit.
- Modified the Screener endpoint to fetch financial data for consolidated entities instead of standalone data for individual stocks, improving the accuracy and relevance of results.
-
Dependency Updates:
- Updated key dependencies to improve performance and address security vulnerabilities:
requests
upgraded to2.33.0
.numpy
upgraded to1.27.0
.
- Updated key dependencies to improve performance and address security vulnerabilities:
Impact
- Streamlined Maintenance: Removing NSE-related endpoints reduces development overhead and ensures a consistent experience for users.
- Improved Data Reliability: Screener.in is now the sole source of financial data, providing more robust and stable functionality.
- Enhanced Security: Dependency updates mitigate vulnerabilities and improve application security.
Docker Image Update
- Pushed updated Docker image with version
v0.4.0
, tagged aslatest
, ensuring users have access to the most recent features and fixes:devfinwiz24/fin-maestro-kin:v0.4.0
devfinwiz24/fin-maestro-kin:latest
(points tov0.4.0
)
Contributors
Fin-Maestro-Kin v0.3.3
Summary
Version v0.3.3
introduces essential fixes and security updates, including resolving the issue related to gathering NSE tickers and upgrading dependencies to mitigate security vulnerabilities.
Changes Made
-
Fix Issues Related to
/equities/equity-tickers
Endpoint:- Resolved issue #40 to address the problem of gathering a list of NSE tickers from the NSE indices. This fix ensures accurate retrieval of ticker data and improves overall API reliability.
-
Security Vulnerability Fixes:
- Upgraded
fastapi
to version0.114.2
to address known vulnerabilities and improve framework security. - Upgraded
requests
to version2.32.3
, enhancing security for HTTP requests handling. - Upgraded
numpy
to version1.26.4
, fixing security issues and ensuring better performance.
- Upgraded
Impact
- Enhanced Security: Upgrading core dependencies eliminates security vulnerabilities, making the application more secure and stable.
- Improved Data Reliability: Fixes to the NSE tickers issue ensure consistent and accurate data fetching, leading to more reliable performance for users.
Docker Image Update
- Pushed an updated Docker image with version
v0.3.3
, tagged aslatest
, ensuring users have access to the most recent version of the application with the latest fixes and enhancements.
Contributors
Fin-Maestro-Kin v0.3.2
Summary
Version v0.3.2 brings crucial fixes and enhancements, including modifications to the nseindices/ratios and nseindices/returns endpoints and the addition of a new method to process the response of the nseindices/ratios endpoint. These updates aim to improve the functionality and reliability of the application.
Changes Made
-
Fix Issues Related to nseindices/ratios Endpoint:
- Resolved issues affecting the nseindices/ratios endpoint to ensure accurate and consistent data retrieval.
- Adjusted the response keys to standardize the output format, enhancing the usability of the data.
-
Fix Issues Related to nseindices/returns Endpoint:
- Addressed problems in the nseindices/returns endpoint to improve data accuracy and endpoint reliability.
- Ensured that the returned data aligns with user expectations and maintains consistency across different requests.
-
Add Method to Process Response of nseindices/ratios Endpoint:
- Implemented a new method to process the response of the nseindices/ratios endpoint.
- Enhanced the handling of response data to provide a more streamlined and user-friendly output.
Impact
- Improved Data Accuracy: Fixes to the nseindices/ratios and nseindices/returns endpoints ensure more accurate and reliable data retrieval, improving overall application performance.
- Enhanced Data Processing: The addition of a method to process the response of the nseindices/ratios endpoint enhances data handling, making the data easier to work with and more user-friendly.
Docker Image Update
- Pushed an updated Docker image with version v0.3.2, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest fixes and enhancements.
Contributors
Fin-Maestro-Kin v0.3.1
Summary
Version v0.3.1 introduces significant enhancements, including the implementation of an optimized caching strategy for Trend Detector module, resolution of a critical startup issue, and the addition of graceful shutdown functionality for Redis. These improvements aim to optimize performance, reliability, and resource utilization.
Changes Made
-
Optimized Caching for Trend Detector Module:
- Contributed by @devfinwiz in PR-35.
- Implemented an optimized caching strategy to improve response times and reduce computational overhead for the Trend Detector module.
- Utilized a dynamic cache expiration mechanism based on the time until the next data update from the data source.
- Calculated the expiration time dynamically based on the time remaining until the next scheduled data update, ensuring users have access to the latest trend analysis results.
- Leveraged Redis for caching, facilitating efficient storage and retrieval of cached data.
-
Fix for Container Startup Issue:
- Contributed by @devfinwiz in PR-35.
- Resolved a critical issue causing the container to exit immediately after startup due to a problem in the entrypoint script.
- Adjusted the entrypoint script to ensure smooth container startup and operation, improving overall reliability.
-
Graceful Shutdown for Redis:
- Contributed by @devfinwiz in PR-35.
- Added graceful shutdown functionality for Redis to maintain data integrity during container shutdown.
- Implemented a script (
shutdown.sh
) to stop Redis gracefully before the container stops, ensuring proper handling of cached data.
-
Cleaning of Responses from Screener Related Endpoints:
Impact
- Improved Performance: The implementation of the optimized caching strategy enhances response times and reduces computational overhead, improving overall performance for trend analysis.
- Enhanced Reliability: The resolution of the container startup issue ensures smooth operation and prevents unexpected exits, enhancing application reliability.
- Data Integrity: Graceful shutdown functionality for Redis ensures data integrity by properly handling cached data before container shutdown.
Docker Image Update
- Pushed an updated Docker image with version v0.3.1, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Fin-Maestro-Kin v0.3.0
Summary
This release introduces a smart caching mechanism for the Sentiment module, enhancing efficiency and responsiveness. Additionally, minor code improvements have been made to address issues highlighted by Code Factor.
Changes Made
-
Smart Caching for Sentiment Module:
- Implemented a smart caching strategy to enhance the efficiency and responsiveness of the Sentiment module.
- During market hours, the cache is updated every 15 minutes to ensure users have access to the latest sentiment data.
- Outside of market hours, when sentiment values remain static, the cache is configured to expire within a 24-hour timeframe, optimizing resource utilization.
- Leveraged Redis to implement this caching mechanism, significantly improving performance while minimizing computational overhead.
- The cache is not limited to container lifecycle; data will be persisted even if the container restarts, ensuring continuity of sentiment data availability.
-
Code Improvements:
- Addressed minor issues highlighted by Code Factor to improve code quality and maintainability.
Docker Image Update
- Pushed an updated Docker image with version v0.3.0, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Impact
- Improved Performance: The implementation of smart caching ensures faster response times and reduces computational overhead, enhancing overall performance.
- Real-time Data Access: Users have access to up-to-date sentiment data during market hours, providing valuable insights for informed decision-making.
- Optimized Resource Utilization: By configuring cache expiration based on market hours, resource utilization is optimized, leading to better efficiency.
Important Note for Users
- Updated Docker Run Command: Starting from this version, users are required to run the container using the following command, as a volume is now being used for caching:
docker run -d -p 8000:8000 -p 6379:6379 -v redis-cache:/redis-cache devfinwiz24/fin-maestro-kin:latest
Fin-Maestro-Kin v0.2.6
Summary
This release represents a comprehensive restructuring of the project's module organization and a significant refactoring of existing code to enhance maintainability, readability, and scalability.
Details
-
Module Reorganization:
- Restructured the
data_toolkit
module to have separate submodules for different aspects of data processing, namelynse
andscreener
. - Each submodule now hosts a single file encapsulating all related functionality, promoting better code organization and management.
- Restructured the
-
Refactoring NSE Operations:
- Consolidated equities and indices related operations into a unified module named
nse_operations.py
. - Introduced classes
NSEEquities
andNSEIndices
withinnse_operations.py
to encapsulate related operations, promoting code modularity and clarity. - Transferred shared helper methods to a common
Helper
class withinnse_operations.py
, enhancing code reusability and reducing redundancy.
- Consolidated equities and indices related operations into a unified module named
-
Screener Equities Module:
- Combined functionalities into a single class named
ScreenerEquities
. - Incorporated shared helper methods into a common
Helper
class withinscreener_equities.py
, streamlining code organization and maintenance.
- Combined functionalities into a single class named
-
Sentiment Module:
- Refactored the
SentimentAnalyzer
module to utilize a class-based approach, encapsulating PCR analysis functionalities within theSentimentAnalyzer
andPCR
class.
- Refactored the
-
Trend Detector Module:
- Refactored the
Trend Detector
module to utilize a class-based approach, encapsulating trend analysis functionalities within theTrendDetector
class. - All trend analysis methods, including
signals_generator
andgenerate_plot
, are now part of theTrendDetector
class, promoting better encapsulation and code organization.
- Refactored the
-
New Project Logo:
- Introduced a new project logo, enhancing visual identity and branding. The updated logo is now reflected in the project's README and release notes.
Docker Image Update
- Pushed an updated Docker image with version v0.2.6, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Impact
- Codebase Structure: The restructuring of modules and adoption of a class-based approach improve code organization, making it easier to navigate and maintain.
- Code Readability: By encapsulating related functionalities within classes, the codebase becomes more readable and understandable.
- Maintenance Efficiency: Shared helper methods and consolidated functionalities reduce redundancy and make maintenance tasks more efficient.
- Visual Identity: The new project logo enhances visual identity and branding, contributing to a more professional presentation of the project.
Fin-Maestro-Kin v0.2.5
Fin-Maestro-Kin v0.2.5 Release Notes
Summary
The v0.2.5 release of Fin-Maestro-Kin introduces new endpoints to support additional data retrieval from Screener.in, enhancing the capabilities of the data-toolkit module. These new endpoints enable users to access a wider range of financial data, empowering them with comprehensive insights into equities listed on the NSE and BSE. Furthermore, the documentation has been updated to reflect these changes, ensuring users have access to accurate and up-to-date information.
Details
-
New Endpoints:
- Added new endpoints to support more data from Screener.in, expanding the functionality of the data-toolkit module. The following endpoints have been introduced:
/screener-equities/shareholding-pattern
: Retrieve shareholding pattern data for individual stocks./screener-equities/cash-flow
: Access cash flow statements for in-depth financial analysis./screener-equities/balance-sheet
: Retrieve balance sheet data to evaluate a company's financial health./screener-equities/annual-profit-loss
: Access annual profit and loss statements for comprehensive performance analysis./screener-equities/ratios
: Retrieve various financial ratios to assess key performance indicators./screener-equities/key-metrics
: Retrieve key financial metrics based on a feature request by Shreyaan.
- Added new endpoints to support more data from Screener.in, expanding the functionality of the data-toolkit module. The following endpoints have been introduced:
-
Documentation Updates:
- Made appropriate changes to add the new endpoints to the documentation of Fin-Maestro-Kin, ensuring users have access to comprehensive information about the available features and functionalities.
Docker Image Update
- Pushed an updated Docker image with version v0.2.5, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Impact
- Users can now access a wider range of financial data from Screener.in, enabling more thorough analysis and evaluation of equities listed on the NSE and BSE.
- The inclusion of key metrics based on a feature request enhances the platform's versatility and responsiveness to user needs.
- Updated documentation ensures that users have accurate and up-to-date information about the platform's features and functionalities, facilitating ease of use and enhancing the overall user experience.
Fin-maestro-Kin v0.2.4
Fin-Maestro-Kin v0.2.4 Release Notes
Summary
This release focuses on enhancing endpoint functionality, introducing custom interactive documentation, and improving user experience by redirecting the /docs
endpoint to the newly developed custom documentation. Additionally, the Docker image has been rebuilt and tagged for version v0.2.4, ensuring users have access to the latest updates.
Details
-
Endpoint Fix:
- Fixed the
/equities/most-active-securities
endpoint, resolving issues that prevented it from returning any response. Adjustments were made to accommodate changes in the NSE's API, ensuring reliable and accurate data retrieval.
- Fixed the
-
Custom Interactive Documentation:
- Designed and released custom interactive and dynamic documentation for Fin-Maestro-Kin using Apidog. The new documentation provides users with an intuitive and user-friendly interface to explore the available endpoints and their functionalities.
-
Custom Documentation Redirection:
- Implemented a feature to redirect the
/docs
endpoint to the newly developed custom documentation of Fin-Maestro-Kin. Users accessing the/docs
endpoint will now be seamlessly redirected to the custom documentation, improving accessibility and usability.
- Implemented a feature to redirect the
-
Alternative Documentation Link:
- Provided an alternative documentation link for users who want to access the documentation in read-only mode without running the server. Users can access the documentation at https://fin-maestro-kin.apidog.io/.
Docker Image Update
- Pushed an updated Docker image with version v0.2.4, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Impact
- Users can now rely on the fixed
/equities/most-active-securities
endpoint to retrieve accurate data on the most active securities from the NSE. - The introduction of custom interactive documentation enhances user experience by providing a more intuitive and informative way to explore Fin-Maestro-Kin's capabilities.
- Redirection of the
/docs
endpoint to the custom documentation improves accessibility and ensures that users have access to up-to-date and comprehensive documentation. - Users have the option to access the documentation in read-only mode via the alternative documentation link, even when the server is not running.
Fin-maestro-Kin v0.2.3
Fin-Maestro-Kin v0.2.3 Release Notes
Summary
Fin-Maestro-Kin v0.2.3 introduces new features, enhancements, and infrastructure updates to improve data availability, endpoint functionality, and documentation. Additionally, the Docker image has been updated to ensure users have access to the latest version of the application with the recent enhancements.
Details
New Features
- Introduced a new data source named "screener" to the "data-toolkit" module, enhancing data availability.
- Added support for gathering quarterly results for individual stocks from screener.in within the new "screener" submodule.
- Implemented a new endpoint for the "screener" submodule in the "data-toolkit" module, enabling access to quarterly results data.
Documentation Changes
- Updated documentation to reflect the new changes and renamed the "Equities" router tag to "NSE Equities" to prevent confusion between Screener Equities and NSE Equities methods.
Testing
- Conducted thorough testing of all existing endpoints to ensure compatibility and stability with the new changes.
Docker Image Update
- Pushed an updated Docker image with version v0.2.3, tagged as
latest
, ensuring users have access to the most recent version of the application with the latest enhancements and fixes.
Contributors
Impact
- Users can now benefit from enhanced data availability with the inclusion of quarterly results gathering from screener.in.
- The new endpoint provides access to quarterly results data, expanding the capabilities of the application for financial analysis and decision-making.
- Documentation updates and renaming of the router tag improve clarity and usability for developers and users.
- Thorough testing ensures that existing functionality remains reliable and stable.
- The updated Docker image simplifies deployment and allows users to access the latest version of the application with the recent enhancements and fixes.