Dmitry Beresnev
Claude Haiku 4.5
Implement critical trading system improvements from mathematical analysis
3e26349 Download examples/ticker_scanner_example.py from ResearchEngineering/financial_news_bot: direct link, hf CLI and curl.
- Browser
- Download file 2.53 kB
-
https://huggingface.co/spaces/ResearchEngineering/financial_news_bot/resolve/main/examples/ticker_scanner_example.py
- Command line
-
hf download hf://spaces/ResearchEngineering/financial_news_bot/examples/ticker_scanner_example.py
-
curl -L -o ticker_scanner_example.py https://huggingface.co/spaces/ResearchEngineering/financial_news_bot/resolve/main/examples/ticker_scanner_example.py
2.53 kB
| """ | |
| Example usage of the Ticker Scanner module | |
| This script demonstrates how to use the ticker scanner to find | |
| fast-growing stocks and send notifications to Telegram. | |
| """ | |
| import asyncio | |
| from src.core.ticker_scanner import TickerAnalyzer, Scheduler | |
| async def example_one_time_analysis(): | |
| """Run a single analysis of top growing tickers""" | |
| print("Running one-time ticker analysis...") | |
| # Create analyzer for NASDAQ | |
| analyzer = TickerAnalyzer( | |
| exchange="NASDAQ", | |
| limit=100 # Analyze top 100 tickers | |
| ) | |
| # Run analysis | |
| top_tickers = await analyzer.run_analysis() | |
| print(f"\nFound {len(top_tickers)} top tickers!") | |
| for i, ticker_data in enumerate(top_tickers[:5], 1): | |
| ticker = ticker_data['ticker'] | |
| metrics = ticker_data['metrics'] | |
| print(f"{i}. {ticker}: Score={metrics.growth_velocity_score:.1f}, CAGR={metrics.cagr:.1f}%") | |
| async def example_scheduled_analysis(): | |
| """Run scheduled hourly analysis""" | |
| print("Starting scheduled ticker scanner...") | |
| # Create scheduler for hourly analysis | |
| scheduler = Scheduler( | |
| exchange="NASDAQ", | |
| interval_hours=1, | |
| telegram_bot_service=None # Replace with your TelegramBotService instance | |
| ) | |
| # Start scheduler (runs until interrupted) | |
| await scheduler.start() | |
| async def example_with_telegram(): | |
| """Example with Telegram integration""" | |
| from src.telegram_bot.telegram_bot_service import TelegramBotService | |
| # Initialize Telegram service | |
| telegram_service = TelegramBotService() | |
| await telegram_service.initialize() | |
| # Create analyzer with Telegram integration | |
| analyzer = TickerAnalyzer( | |
| exchange="NASDAQ", | |
| telegram_bot_service=telegram_service, | |
| limit=200 | |
| ) | |
| # Run analysis and send to Telegram | |
| await analyzer.run_analysis() | |
| # Cleanup | |
| await telegram_service.cleanup() | |
| def main(): | |
| """Main entry point""" | |
| print("=" * 80) | |
| print("Ticker Scanner Examples") | |
| print("=" * 80) | |
| print() | |
| print("Choose an example:") | |
| print("1. One-time analysis") | |
| print("2. Scheduled hourly analysis") | |
| print("3. With Telegram integration") | |
| print() | |
| choice = input("Enter choice (1-3): ") | |
| if choice == "1": | |
| asyncio.run(example_one_time_analysis()) | |
| elif choice == "2": | |
| asyncio.run(example_scheduled_analysis()) | |
| elif choice == "3": | |
| asyncio.run(example_with_telegram()) | |
| else: | |
| print("Invalid choice") | |
| if __name__ == "__main__": | |
| main() |