Din aktie-“process” börjar oftast strukturerat. Sedan förökar sig flikarna. Prishistorik på ett ställe, nyheter på ett annat, analytikerbetyg någon annanstans och socialt brus som skriker från varje hörn. När du väl har sytt ihop allt har marknaden redan rört sig och du börjar ifrågasätta allt.
Det är här stock summary automation verkligen gör nytta. Investerare märker det kl. 09:00 när de behöver ett beslut, inte ett forskningsprojekt. Finansiella analytiker fastnar i att skriva om samma “vad har ändrats?”-notis varje dag. Och om du driver en mindre fond eller en trading-community vet du att det värsta är inkonsekvensen.
Det här arbetsflödet hämtar data, poängsätter den, låter AI göra en rimlighetskontroll och skickar dig en Telegram-klar Köp/Sälj/Behåll-notis per ticker. Du ser vad det fixar, vad det kräver och var folk oftast snubblar.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: OpenAI till Telegram, dagliga köp/sälj/behåll-notiser
flowchart LR
subgraph sg0["Daily Stock Check Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Daily Stock Check", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Analyze Stock Trends"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Predict Future Trends"]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Format Telegram Message", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Telegram Alert"]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Analyze News Sentiment"]
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Process Analyst Ratings"]
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Analyze Social Sentiment"]
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Combine All Analysis"]
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Generate Comprehensive Recom.."]
n10@{ icon: "mdi:brain", form: "rounded", label: "OpenAI GPT Model", pos: "b", h: 48 }
n11@{ icon: "mdi:brain", form: "rounded", label: "Anthropic Claude Model", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare AI Validation Input", pos: "b", h: 48 }
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Combine AI Validations"]
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Evaluate AI Consensus"]
n15@{ icon: "mdi:robot", form: "rounded", label: "AI Validator 1 - OpenAI", pos: "b", h: 48 }
n16@{ icon: "mdi:robot", form: "rounded", label: "AI Validator 2 - Anthropic", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "AI Validator 3 - Gemini", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-vertical", form: "rounded", label: "API Configuration", pos: "b", h: 48 }
n19["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Stock Data Fatch"]
n20["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>News Sentiment Fatch"]
n21["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Analyst Ratings Fetch"]
n22["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Social Media Sentiment Fetch"]
n23@{ icon: "mdi:brain", form: "rounded", label: "xAI Grok Chat Model", pos: "b", h: 48 }
n10 -.-> n15
n19 --> n1
n18 --> n19
n18 --> n20
n18 --> n21
n18 --> n22
n0 --> n18
n23 -.-> n17
n1 --> n2
n8 --> n9
n20 --> n5
n21 --> n6
n14 --> n3
n2 --> n8
n5 --> n8
n11 -.-> n16
n13 --> n14
n15 --> n13
n17 --> n13
n3 --> n4
n6 --> n8
n7 --> n8
n16 --> n13
n12 --> n15
n12 --> n16
n12 --> n17
n22 --> n7
n9 --> n3
n9 --> n12
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n15,n16,n17 ai
class n10,n11,n23 aiModel
class n19,n20,n21,n22 api
class n1,n2,n5,n6,n7,n9,n14 code
classDef customIcon fill:none,stroke:none
class n1,n2,n4,n5,n6,n7,n8,n9,n13,n14,n19,n20,n21,n22 customIcon
Utmaningen: dagliga aktiebeslut byggda på utspridda signaler
Att göra en “snabb” daglig koll på en aktie är sällan snabbt. Du tittar på prisrörelsen och inser sedan att du borde bekräfta trendstyrkan med RSI. Därefter kommer nyheter, eftersom en enda rubrik kan ändra hela din tolkning. Sedan kikar du på analytikernas riktkurser, och därefter socialt sentiment, eftersom du inte vill bli överraskad av en plötslig våg av snack. Det handlar inte bara om tid. Det är mental belastning, att hoppa mellan kontexter och att försöka minnas vad som var viktigt i går kontra vad som bara är brus i dag. Ärligt talat gör röran att folk antingen övertradar eller fryser.
Inget av stegen är hemskt i sig. Tillsammans skapar de en daglig flaskhals.
- Manuell kontroll i 4–6 källor kan lätt äta upp runt 30 minuter per ticker.
- Du blandar “hård” data (indikatorer, betyg) med magkänsla eftersom indata inte poängsätts konsekvent.
- Viktiga signaler missas när du är trött, stressad eller gör detta innan dagens första möte.
- Slutnotisen byter format varje dag, vilket gör det svårt att jämföra beslut över tid.
Lösningen: en daglig Köp/Sälj/Behåll-notis levererad till Telegram
Det här arbetsflödet gör din dagliga aktiekoll till en repeterbar pipeline. Enligt schema hämtar det senaste marknads- och kontextdata för dina valda tickers och kör sedan samma analys varje gång: tekniska indikatorer (som SMA och RSI), en enkel 7-dagars trendprognos, sentimentscore på aktuella nyheter, aggregering av analytikerbetyg och socialt sentiment. De fyra strömmarna slås ihop till en enhetlig “fact set”. Därefter genererar en viktad modell en slutrekommendation (Starkt köp, Köp, Behåll, Sälj, Starkt sälj) plus ett konfidensvärde, och formaterar allt till en korrekt formaterad Markdown-rapport. Till sist skickar den färdiga notisen till ditt Telegram-chat-ID så att du ser den där du faktiskt fattar beslut.
Arbetsflödet börjar med en daglig trigger (till exempel runt kl. 09:00). I mitten beräknar det indikatorer och sentiment och syntetiserar dem till en samlad kompositscore. I slutet får du ett enda Telegram-meddelande som känns som att en disciplinerad analytiker skrev det, inte som en hög med kopierade snuttar.
Vad som förändras: före vs. efter
| Detta eliminerar du | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du följer 5 tickers. Manuellt kan du lägga cirka 10 minuter på pris/indikatorer, 10 på nyheter och 5 på betyg/socialt per ticker, alltså ungefär 25 minuter vardera. Det blir drygt 2 timmar varje morgon. Med det här arbetsflödet: du lägger cirka 10 minuter en gång på att sätta tickers och ditt Telegram-chat-ID, sedan körs det dagligen automatiskt och du läser bara slutnotisen. Du får tillbaka de där 2 timmarna, och utdata är formaterat på samma sätt varje dag.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Telegram för att ta emot det dagliga rapportmeddelandet.
- API för finansiell data för att hämta priser, nyheter och betyg.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard).
Kunskapsnivå: Medel. Du kopplar konton, klistrar in några API-nycklar och är bekväm med att testköra ett flöde i n8n.
Behöver du hjälp att implementera detta? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
Ett dagligt schema startar det. Triggern “Scheduled Market Check” körs vid den tid du väljer (många väljer starten av arbetsdagen), så du slipper komma ihåg att göra kontrollen.
Data hämtas för din symbollista. Med HTTP Requests hämtar arbetsflödet historisk prisdata, senaste nyheter, analytikerbetyg och sociala signaler baserat på inställningarna du anger (som stockSymbols).
Analysen beräknas och poängsätts. Kodnoder räknar ut SMA (20/50/200), RSI (14 dagar), stöd/motstånd och en enkel prognos med linjär regression. Separata kodblock poängsätter nyhets- och socialt sentiment och aggregerar analytikerbetyg till en konsensusbild.
AI-validering vässar slutmeddelandet. Arbetsflödet tar fram ett utkast till rekommendation, kör det genom flera LLM-validerare (OpenAI, Anthropic, Gemini) och slår ihop deras feedback till en slutlig “konsensus”-kontroll innan Telegram-uppdateringen komponeras.
Rapporten levereras. En Set-nod formaterar en Markdown-notis och Telegram skickar den till din valda chatt. Du kan enkelt ändra vilka tickers som följs och viktmodellen utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera schematriggern
Ställ in arbetsflödet så att det körs på ett dagligt marknadsschema med hjälp av den befintliga triggern.
- Lägg till noden Scheduled Market Check i ert arbetsflöde.
- Öppna Scheduled Market Check och ställ in schemaregeln så att den körs vid
triggerAtHour: 9. - Koppla Scheduled Market Check till Workflow Settings.
Steg 2: anslut API:er för marknadsdata
Definiera era aktiesymboler och API-endpoints som matar arbetsflödet. Workflow Settings förgrenar sedan ut till alla datakällor parallellt.
- Öppna Workflow Settings och ställ in följande fält: stockSymbols till
<__PLACEHOLDER_VALUE__Stock symbols to track (e.g., AAPL,GOOGL,MSFT)__>, apiKey till<__PLACEHOLDER_VALUE__Stock API key (e.g., Alpha Vantage, Finnhub, or Yahoo Finance)__>, och apiUrl till<__PLACEHOLDER_VALUE__Stock API endpoint URL__>. - Ställ in newsApiKey till
<__PLACEHOLDER_VALUE__News API key (e.g., NewsAPI.org, Finnhub News)__>och newsApiUrl till<__PLACEHOLDER_VALUE__News API endpoint URL__>. - Ställ in analystRatingsApiUrl till
<__PLACEHOLDER_VALUE__Analyst ratings API endpoint (e.g., Finnhub, TipRanks)__>och socialSentimentApiUrl till<__PLACEHOLDER_VALUE__Social sentiment API endpoint (e.g., StockTwits, Reddit API)__>. - Koppla Workflow Settings till de fyra HTTP-noderna. Workflow Settings skickar ut data parallellt till Retrieve Stock Data, Fetch News Data, Get Analyst Ratings och Fetch Social Signals.
- I Retrieve Stock Data, ställ in URL till
{{ $('Workflow Settings').first().json.apiUrl }}och lägg till query-parametrar: symbols till{{ $('Workflow Settings').first().json.stockSymbols }}, apikey till{{ $('Workflow Settings').first().json.apiKey }}. - I Fetch News Data, ställ in URL till
{{ $('Workflow Settings').first().json.newsApiUrl }}och query-parametrar: q till{{ $('Workflow Settings').first().json.stockSymbols }}, apikey till{{ $('Workflow Settings').first().json.newsApiKey }}. - I Get Analyst Ratings, ställ in URL till
{{ $('Workflow Settings').first().json.analystRatingsApiUrl }}och query-parametrar: symbols till{{ $('Workflow Settings').first().json.stockSymbols }}, token till{{ $('Workflow Settings').first().json.apiKey }}. - I Fetch Social Signals, ställ in URL till
{{ $('Workflow Settings').first().json.socialSentimentApiUrl }}och query-parametern symbols till{{ $('Workflow Settings').first().json.stockSymbols }}.
close, price eller volume), uppdatera er API-leverantör eller justera parslogiken i kodnoderna.Steg 3: sätt upp analys och aggregering
Dessa kodnoder bearbetar tekniska signaler, nyhetssentiment, analytikerbetyg och sociala signaler, och slår sedan ihop dem till en enda analysström.
- Koppla Retrieve Stock Data till Assess Stock Patterns, och koppla sedan Assess Stock Patterns till Forecast Price Direction.
- Koppla Fetch News Data till Evaluate News Sentiment.
- Koppla Get Analyst Ratings till Aggregate Analyst Ratings.
- Koppla Fetch Social Signals till Review Social Sentiment.
- Ställ in Merge Analysis Streams Number of Inputs till
4och koppla utdata från Forecast Price Direction, Evaluate News Sentiment, Aggregate Analyst Ratings och Review Social Sentiment till den. - Koppla Merge Analysis Streams till Create Final Recommendation.
Steg 4: sätt upp AI-validering
Använd tre AI-validerare parallellt för att granska den slutliga rekommendationen och skapa en konsensus.
- Konfigurera Prepare Validation Prompt för att bygga strängen chatInput med den mall som redan finns, inklusive uttryck som
{{ $json.rawData.technical.stockSymbol }}och{{ $json.recommendation }}. - Koppla Create Final Recommendation till både Compose Telegram Update och Prepare Validation Prompt parallellt.
- Koppla Prepare Validation Prompt till Validator OpenAI, Validator Anthropic och Validator Gemini parallellt.
- Säkerställ att varje validerare använder Text satt till
{{ $json.chatInput }}med Prompt Type satt tilldefine. - Ställ in Merge AI Reviews Number of Inputs till
3, koppla sedan in de tre validerarutgångarna till den och vidare till Assess AI Consensus. - Koppla Assess AI Consensus till Compose Telegram Update så att slutmeddelandet innehåller insikter från AI-konsensus.
Steg 5: konfigurera utgående notiser
Sätt ihop en formaterad Telegram-rapport och skicka den till er kanal eller chatt-ID.
- Öppna Compose Telegram Update och bekräfta att mallen för message innehåller uttryck som
{{ $('Assess Stock Patterns').item.json.currentPrice }},{{ $('Forecast Price Direction').item.json.prediction.predictedPrice7Days }}och{{ $('Create Final Recommendation').item.json.recommendation }}. - I Dispatch Telegram Notice, ställ in Text till
{{ $json.message }}och Chat ID till{{ $('Workflow Settings').first().json.telegramChatId }}. - Bekräfta flödet: Compose Telegram Update → Dispatch Telegram Notice.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett manuellt test, validera utdata och aktivera sedan arbetsflödet för dagliga marknadsinsikter.
- Klicka på Execute Workflow för att köra ett manuellt test från Scheduled Market Check.
- Verifiera lyckad körning över de parallella grenarna: Workflow Settings ska mata Retrieve Stock Data, Fetch News Data, Get Analyst Ratings och Fetch Social Signals samtidigt.
- Bekräfta att Create Final Recommendation ger ut en strukturerad rekommendation med
compositeScoreochconfidenceScore. - Säkerställ att Merge AI Reviews och Assess AI Consensus tar fram en konsensussammanfattning innan Compose Telegram Update körs.
- Kontrollera att Dispatch Telegram Notice skickar ett komplett meddelande till den konfigurerade chatten.
- När allt är validerat, växla arbetsflödet till Active för att aktivera schemalagda körningar.
Se upp för
- Inloggningar för HTTP Request och API-planer kan sluta fungera utan att det märks när du når rate limits. Om arbetsflödet plötsligt returnerar tom pris-/nyhetsdata, kontrollera först loggarna i din dataleverantörs dashboard.
- Om du loopar över många tickers (Split in Batches) varierar processtider och efterföljande noder kan köras innan alla items är klara. Lägg in en kort väntan eller minska batchstorleken om du ser ofullständiga Telegram-rapporter.
- Standardprompterna för AI är artiga men generiska. Bygg in dina regler tidigt (tidshorisont, risktolerans, vad “Behåll” betyder) annars kommer du att sitta och redigera meddelandet varje dag.
Vanliga frågor
Cirka 30 minuter om dina API-nycklar är klara.
Ja, men någon behöver vara bekväm med att klistra in API-nycklar och testköra ett flöde i n8n. Ingen kod krävs om du inte vill justera poängsättningslogiken.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-användning samt vad din marknads-/nyhetsdataleverantör tar betalt.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Börja i delarna “Workflow Settings” och “Create Final Recommendation” i arbetsflödet. Du kan ändra listan stockSymbols, justera faktorvikterna i rekommendationskoden (tekniskt/nyheter/analytiker/socialt) och skriva om formateringen i “Compose Telegram Update” så att den matchar er stil. Om du vill ha färre AI-kontroller kan du ta bort en eller flera validerarnoder och hålla konsensussteget enkelt.
Oftast är det fel chat-ID eller en bot som aldrig fick behörighet att posta i den chatten. Bekräfta dina Telegram-uppgifter i n8n och kontrollera sedan att sparade telegramChatId matchar målchatten. Om det fungerade en gång och sedan slutade, kontrollera bot-token igen och se till att boten inte har tagits bort från gruppen.
På en typisk n8n Cloud-plan kan du köra tusentals körningar per månad, och self-hosting tar bort körningsbegränsningar (din server blir begränsningen). I praktiken är flaskhalsen oftast rate limit i ditt marknads-/nyhets-API, inte n8n. Om du följer dussintals tickers, använd batchning så att du inte spammar Telegram eller överskrider leverantörens kvoter.
Ofta, ja, eftersom det här arbetsflödet bygger på analys med flera grenar, sammanslagning och egen poängsättningslogik. Zapier och Make kan lösa delar av det, men du slår snabbt i taket när du räknar indikatorer, loopar igenom tickers och validerar utdata med flera AI-modeller. n8n ger också self-hosting för obegränsade körningar, vilket är viktigt om du utökar bevakningen. Om du bara vill ha en enkel “skicka mig en rubrikdigest” kan de enklare verktygen fungera bra. För en riktig Köp/Sälj/Behåll-notis med repeterbar poängsättning är n8n oftast ett renare val. Prata med en automatiseringsexpert om du vill ha hjälp att välja.
En konsekvent daglig notis slår en inkonsekvent daglig panikjakt. Sätt upp det en gång, låt arbetsflödet skanna, och använd morgnarna till faktiska beslut.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.