From adf0afe3c6a617063081c6553348cb1fd2a3bf66 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Fri, 7 Nov 2025 12:52:45 +0000 Subject: [PATCH] update readme --- CLAUDE.md | 1 + readme.md | 28 +++++++--------------------- 2 files changed, 8 insertions(+), 21 deletions(-) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..c799086 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +Read .nogit/CLAUDE.md \ No newline at end of file diff --git a/readme.md b/readme.md index e38c6d9..50b713c 100644 --- a/readme.md +++ b/readme.md @@ -19,13 +19,12 @@ pnpm add @fin.cx/opendata Get complete stock data with automatic enrichment - the elegant way: ```typescript -import { StockDataService, YahooFinanceProvider, SecEdgarProvider } from '@fin.cx/opendata'; +import { StockDataService, SecEdgarProvider } from '@fin.cx/opendata'; // Initialize unified service const stockData = new StockDataService(); // Register providers -stockData.registerPriceProvider(new YahooFinanceProvider()); stockData.registerFundamentalsProvider(new SecEdgarProvider({ userAgent: 'YourCompany youremail@example.com' })); @@ -68,10 +67,10 @@ stocks.forEach(stock => { If you only need prices without fundamentals: ```typescript -import { StockDataService, YahooFinanceProvider } from '@fin.cx/opendata'; +import { StockDataService, MarketstackProvider } from '@fin.cx/opendata'; const stockData = new StockDataService(); -stockData.registerPriceProvider(new YahooFinanceProvider()); +stockData.registerPriceProvider(new MarketstackProvider('YOUR_API_KEY')); // Get just the price const price = await stockData.getPrice('AAPL'); @@ -81,7 +80,7 @@ console.log(`${price.ticker}: $${price.price}`); import { StockPriceService } from '@fin.cx/opendata'; const stockService = new StockPriceService({ ttl: 60000 }); -stockService.register(new YahooFinanceProvider()); +stockService.register(new MarketstackProvider('YOUR_API_KEY')); const apple = await stockService.getData({ type: 'current', ticker: 'AAPL' }); console.log(`${apple.companyFullName}: $${apple.price}`); @@ -201,7 +200,7 @@ const details = await openData.handelsregister.getSpecificCompany({ ### 📊 Stock & Crypto Market Module -- **Real-Time Prices** - Live and EOD prices from Yahoo Finance, Marketstack, and CoinGecko +- **Real-Time Prices** - Live and EOD prices from Marketstack and CoinGecko - **Cryptocurrency Support** - 13M+ crypto tokens with 24/7 market data via CoinGecko - **Company Names** - Automatic company name extraction (e.g., "Apple Inc (NASDAQ:AAPL)") - **Historical Data** - Up to 15 years of daily EOD prices with pagination @@ -238,11 +237,11 @@ const details = await openData.handelsregister.getSpecificCompany({ Analyze multiple companies with automatic enrichment: ```typescript -import { StockDataService, YahooFinanceProvider, SecEdgarProvider } from '@fin.cx/opendata'; +import { StockDataService, MarketstackProvider, SecEdgarProvider } from '@fin.cx/opendata'; // Setup unified service const stockData = new StockDataService(); -stockData.registerPriceProvider(new YahooFinanceProvider()); +stockData.registerPriceProvider(new MarketstackProvider('YOUR_API_KEY')); stockData.registerFundamentalsProvider(new SecEdgarProvider({ userAgent: 'YourCompany youremail@example.com' })); @@ -487,12 +486,6 @@ stockService.register(new MarketstackProvider('YOUR_API_KEY'), { retryAttempts: 3, retryDelay: 1000 }); - -// Yahoo Finance - Real-time data (no API key) -stockService.register(new YahooFinanceProvider(), { - enabled: true, - priority: 50 -}); ``` ### Fundamentals Service Options @@ -666,13 +659,6 @@ interface IStockFundamentals { - ✅ Company names included automatically - ⚠️ Requires API key (free tier: 100 requests/month) -**YahooFinanceProvider** -- ✅ Real-time stock prices -- ✅ No API key required -- ✅ Global coverage -- ✅ Company names included -- ⚠️ Rate limits may apply - **CoinGeckoProvider** - ✅ Cryptocurrency prices (Bitcoin, Ethereum, 13M+ tokens) - ✅ Current, historical, and intraday data