feat: add normalizers for Alpha Vantage etc#25
Merged
Villarley merged 7 commits intoNeko-Protocol:mainfrom Jan 31, 2026
Merged
Conversation
…Mock data sources - Implemented AlphaVantageNormalizer to handle exchange suffixes and case variations. - Created FinnhubNormalizer to manage exchange prefix formats. - Developed YahooFinanceNormalizer to process various exchange suffixes and index prefixes. - Introduced MockNormalizer for testing and development purposes. - Established a base normalizer class to provide common functionality across all normalizers. - Added unit tests for each normalizer to ensure correct behavior and transformations. - Implemented NormalizationService to manage normalization processes and register normalizers. - Enhanced error handling and validation for raw price data.
…nto feat/data-normalization
…ation - Separate NormalizedPriceRecord (normalization output) from NormalizedPrice (aggregation input) - Update all normalizers and services to use correct interface types - Fix lint errors from merge conflicts
Contributor
Author
|
hi @Villarley please merge |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Neko Pull Request
Mark with an
xall the checkboxes that apply (like[x])📌 Type of Change
📝 Changes description
Implemented a Data Normalization Service for the aggregator app that converts raw price data from multiple external sources into a standardized internal format.
Features
AAPL.US→AAPL,US-GOOGL→GOOGL)Files Added
apps/aggregator/src/interfaces/normalized-price.interface.tsapps/aggregator/src/interfaces/normalizer.interface.tsapps/aggregator/src/normalizers/base.normalizer.tsapps/aggregator/src/normalizers/alpha-vantage.normalizer.tsapps/aggregator/src/normalizers/finnhub.normalizer.tsapps/aggregator/src/normalizers/yahoo-finance.normalizer.tsapps/aggregator/src/normalizers/mock.normalizer.tsapps/aggregator/src/services/normalization.service.tsapps/aggregator/src/services/normalization.service.spec.tsapps/aggregator/src/exceptions/normalization.exception.tsapps/aggregator/src/modules/normalization.module.tsTest Results
📸 Evidence (A Loom/Cap video is required as evidence, we WON'T merge if there's no proof)
⏰ Time spent breakdown
🌌 Comments
NormalizerinterfaceBaseNormalizerabstract classThank you for contributing to Neko, you just helped us make RWAs consumer friendly on Stellar! We hope you can continue contributing to this project.