Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork3
🤖 Automatic financial news feed powered by AI.
License
samgozman/fin-thread
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Welcome toFinThread! FinThread is designed to aggregate financial news from a plethora of sources,analyze the content using the cutting edge in AI technology, and deliver concise and relevant newsdirectly to your fingertips throughTelegram public channel.
- News Aggregator: Fetches financial news articles from a wide range of sources, ensuring comprehensive news feed.
- AI-Powered Filtering: Uses advanced AI models such as Mistral and OpenAI's GPT to filter out unreliable andirrelevant news content, focusing on quality and accuracy.
- Stock Detection: Identifies stocks that are likely to be affected by the news stories to provide context andrelevance.
- AI news Rewriter: Enhances readability and clarity by rewriting news articles, making them simpler to understandwhile retaining their essential information.
- Telegram Publishing: Automatically publishes the refined news to a dedicated Telegram channel for ease of accessand real-time updates.
- Economic Calendar Parsing: Monitors and reports on economic events throughout the week, delivering importantfinancial calendar updates.
- Real-Time Event Tracking: Stays alert to changes in economic events to provide the channel with the mostup-to-date information.
- Summarise Latest News: Summarises the latest news articles to provide a quick overview of the most importantevents.
FinThread is not just a bot.It's an ambitious project aiming to achieve 100% autonomous management of a news channel,making all necessary decisions independent of human intervention.
Here is a quick guide on how to use FinThread if you want to run it yourself.
The project is split into several entities:
- Journalist: Journalists areresponsible for fetching news from various sources.One journalist can have multiple Providers (like RSS feeds).Ideally, each journalist should be responsible for his own specific domain (like cryptocurrencies, stocks, etc.).
- Composer: Composers areresponsible for composing the news and filtering out irrelevant content using LLMs.
- Publisher: Publishers areresponsible for publishing the news to a specific channel.
- Archivist: Archivists areresponsible for saving the news in a database and retrieving it when needed.
- Scavenger: Scavengers areresponsible for fetching economic calendar events and other sources that need a customimplementation.
- Job: Is a set of schedule-basedtasks that are executed periodically.Jobs combine all the above entities to achieve a specific goal.
Configuration is a bit scattered across the project because it's an early stages.Some things can be configured via ENV, some hardcoded, and some will require you to edit the code directly.I hope to improve this in the future.
Environment variables are defined in.env file. You can copy.env_example and fill in the values.
Some things, like flagging words, are hardcoded in the code. You can find them inconfig.go file.
For now, Journalists are defined in the code directly.The same applies to their settings.In this demo, I've used two journalists that fetch news from RSS feeds.Providers for them are defined inMARKET_JOURNALISTS andBROAD_JOURNALISTS envs in JSON format.
You can usedocker compose to run the project locally.
docker compose up
or by runningMakefile command:
make run
FinThread is an open-source pet project (proof of concept) and not affiliated with any financial institutions.The news provided is for informational purposes only and not intended for trading, selling or investing advice.
About
🤖 Automatic financial news feed powered by AI.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
