ساخت ربات هوش مصنوعی برای خلاصه بازار سهام با n8n

ساخت ربات هوش مصنوعی برای خلاصه بازار سهام با n8n

8 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 4867 · منبع: کاتالوگ Axeto

ربات خلاصه‌سازی بازار سهام با هوش مصنوعی

این Workflow فرآیند تجزیه و تحلیل داده‌های بازار سهام را خودکار می‌کند، بینش‌هایی را با استفاده از هوش مصنوعی تولید می‌کند و آن‌ها را از طریق Slack به تیم شما ارائه می‌دهد. این ربات داده‌های سهام را دریافت می‌کند، شاخص‌های کلیدی فنی (RSI و MACD) را محاسبه می‌کند، از یک دستیار هوش مصنوعی برای خلاصه‌سازی یافته‌ها به زبان ساده استفاده می‌کند و خلاصه را به Slack ارسال می‌کند.

URL Workflow: https://axeto.ai/n8n

نمای کلی Workflow

ربات خلاصه‌سازی بازار سهام با هوش مصنوعی برای موارد زیر طراحی شده است:

1. زمان‌بندی اجرا: اجرای خودکار در ساعات بازار ایالات متحده.

2. تأیید وضعیت بازار: اطمینان از اینکه Workflow فقط زمانی ادامه می‌یابد که بازار باز باشد.

3. تعریف سهام هدف: مشخص کردن سهام S&P 500 برای تجزیه و تحلیل.

4. دریافت داده‌های تاریخی: بازیابی داده‌های قیمت سهام روزانه با استفاده از API Alpaca Markets.

5. محاسبه شاخص‌های فنی: محاسبه RSI و MACD برای شناسایی سیگنال‌های معاملاتی بالقوه.

6. تولید خلاصه هوش مصنوعی: استفاده از یک دستیار هوش مصنوعی سفارشی برای تفسیر داده‌های فنی و ایجاد یک خلاصه قابل خواندن از بازار.

7. توزیع به Slack: ارسال خلاصه تولید شده توسط هوش مصنوعی به کاربران مشخص شده در Slack.

جزئیات Workflow

این Workflow به بلوک‌های منطقی زیر ساختار یافته است:

۱. بررسی زمان‌بندی و وضعیت بازار

این بلوک اطمینان حاصل می‌کند که Workflow فقط در ساعات فعال بازار ایالات متحده اجرا می‌شود.

  • Nodes:

* Schedule Trigger

* Check Market Status (HTTP Request)

* Check if Market is open (If)

* Market is Closed (NoOp)

  • جزئیات:

* Schedule Trigger:

* Type: Schedule Trigger

* هدف: راه‌اندازی Workflow هر ساعت بین ۶:۳۰ صبح تا ۲:۳۰ بعد از ظهر PST، از دوشنبه تا جمعه.

پیکربندی: عبارت Cron 0 30 6-14 * 1-5. اطمینان حاصل کنید که منطقه زمانی روی America/Los_Angeles تنظیم شده است.

* Check Market Status:

* Type: HTTP Request

* هدف: پرس و جو از API Alpaca Markets (/v2/clock) برای تعیین اینکه آیا بازار در حال حاضر باز است یا خیر.

* پیکربندی: استفاده از درخواست GET با اعتبارنامه API Alpaca (از طریق احراز هویت HTTP سفارشی).

* Check if Market is open:

* Type: If

* هدف: ارزیابی فیلد is_open از پاسخ API Alpaca.

* پیکربندی: شرط: $json.is_open برابر با true است.

* منطق: اگر true باشد، به Node "Ticker List" ادامه می‌دهد. اگر false باشد، به Node "Market is Closed" هدایت می‌شود.

* Market is Closed:

* Type: NoOp (عملیات انجام نمی‌شود)

* هدف: خاتمه دادن به Workflow در صورت بسته بودن بازار، جلوگیری از اجرای بیشتر.

۲. تنظیم نمادهای سهام

این بلوک لیستی از نمادهای سهام را برای تجزیه و تحلیل تعریف می‌کند.

  • Nodes:

* Ticker List (Set)

  • جزئیات:

* Ticker List:

* Type: Set

* هدف: ذخیره لیست نمادهای سهام برای پردازش.

* پیکربندی: تنظیم یک ویژگی JSON به نام symbols با یک رشته جدا شده با کاما از نمادها (به عنوان مثال، "AAPL,MSFT,NVDA,TSLA,AMZN,GOOGL,META,JPM,XOM,UNH,GME").

* نکته: این لیست به راحتی قابل تغییر است تا سهام خاصی را شامل یا حذف کند.

۳. دریافت داده‌ها

این بلوک داده‌های تاریخی سهام را برای نمادهای تعریف شده دریافت می‌کند.

  • Nodes:

* Fetch Stock Data (HTTP Request)

  • جزئیات:

* Fetch Stock Data:

* Type: HTTP Request

* هدف: دریافت داده‌های روزانه OHLCV (Open, High, Low, Close, Volume) برای نمادهای سهام مشخص شده از API Alpaca Markets.

* پیکربندی:

* Endpoint: /v2/stocks/bars

* Method: GET

* Query Parameters:

* symbols: به صورت پویا از Node "Ticker List" تنظیم می‌شود.

* timeframe: 1Day

* limit: 1000 (برای دریافت تاریخچه قابل توجه)

* feed: iex (برای جلوگیری از مشکلات احتمالی مجوز SIP)

* start: ۱۰۰ روز قبل از تاریخ فعلی محاسبه می‌شود.

* end: به تاریخ فعلی تنظیم می‌شود.

* احراز هویت: احراز هویت HTTP سفارشی با استفاده از اعتبارنامه API Alpaca.

۴. محاسبه شاخص فنی

این بلوک داده‌های سهام دریافت شده را برای محاسبه شاخص‌های فنی و استخراج سیگنال‌های معاملاتی پردازش می‌کند.

  • Nodes:

* Interpret Data (Code)

  • جزئیات:

* Interpret Data:

* Type: Code (Python)

* هدف: تجزیه داده‌های خام سهام، محاسبه شاخص قدرت نسبی (RSI) و واگرایی همگرایی میانگین متحرک (MACD)، و اختصاص وضعیت "خرید" (Buy)، "نگهداری" (Hold)، یا "فروش" (Sell) به هر سهام.

* پیکربندی:

* استفاده از pandas و numpy برای محاسبات.

* حذف سهام با داده‌های ناکافی (کمتر از ۳۰ قیمت پایانی).

* محاسبه RSI (دوره ۱۴) و MACD (دوره ۱۲، ۲۶، ۹).

* تعریف سیگنال‌ها:

* خرید: RSI < 30 و MACD > خط سیگنال.

* فروش: RSI > 70 و MACD < خط سیگنال.

* نگهداری: سایر شرایط.

* خروجی دادن لیستی ساختاریافته از داده‌های سهام (نماد، RSI، MACD، وضعیت) و یک خلاصه رشته JSON مناسب برای ورودی هوش مصنوعی.

* محیط: نیاز به محیط Python 3 در n8n دارد.

۵. تولید خلاصه با هوش مصنوعی

این بلوک از یک دستیار هوش مصنوعی برای تبدیل داده‌های فنی به یک خلاصه قابل فهم از بازار استفاده می‌کند.

  • Nodes:

* Stock Analysis Assistant (LangChain OpenAI)

  • جزئیات:

* Stock Analysis Assistant:

* Type: LangChain OpenAI

* هدف: دریافت خلاصه فنی از مرحله قبل و استفاده از یک دستیار هوش مصنوعی سفارشی برای تولید یک نمای کلی بازار به زبان ساده، قالب‌بندی شده برای Slack.

* پیکربندی:

* ورودی: ترکیب رشته خلاصه JSON از Interpret Data با یک مُهر زمانی.

* دستیار: استفاده از یک شناسه دستیار OpenAI از پیش پیکربندی شده که به طور خاص برای خلاصه‌های بازار مالی آموزش دیده است.

* خروجی: تولید یک پیام markdown سازگار با Slack.

* اعتبارنامه‌ها: نیاز به کلید API OpenAI شما دارد.

* Prompting: Prompt هوش مصنوعی برای جلوگیری از اصطلاحات فنی و تمرکز بر بینش‌های عملی برای کاربران طراحی شده است.

۶. توزیع خلاصه

این بلوک نهایی خلاصه تولید شده توسط هوش مصنوعی را از طریق Slack به تیم شما ارائه می‌دهد.

  • Nodes:

* Send Summary to User(s) (Slack)

* End of Flow (NoOp)

  • جزئیات:

* Send Summary to User(s):

* Type: Slack

* هدف: ارسال پیام خلاصه بازار تولید شده به کاربران یا کانال‌های مشخص شده در Slack.

* پیکربندی:

* متن پیام: استفاده از فیلد خروجی $json.output از دستیار هوش مصنوعی.

* مقصد: پیکربندی شده با شناسه‌های کاربری یا نام کانال‌های مشخص شده در Slack.

* اعتبارنامه‌ها: نیاز به توکن OAuth2 API Slack شما دارد.

* End of Flow:

* Type: NoOp

* هدف: علامت‌گذاری تکمیل موفقیت‌آمیز Workflow.

جدول خلاصه

نام Nodeنوع Nodeنقش عملکردیNode(های) ورودیNode(های) خروجینکات
Schedule TriggerSchedule Triggerراه‌اندازی Workflow بر اساس زمان‌بندی-Check Market Statusهر ساعت در ساعات بازار (۶:۳۰ صبح تا ۲:۳۰ بعد از ظهر PST، دوشنبه تا جمعه) اجرا می‌شود
Check Market StatusHTTP Requestبررسی باز بودن بازار از طریق APISchedule TriggerCheck if Market is openفراخوانی نقطه پایانی Alpaca /v2/clock
Check if Market is openIfمسیریابی جریان بر اساس وضعیت بازارCheck Market StatusTicker List, Market is Closedدر صورت باز بودن بازار ادامه می‌یابد، در صورت بسته بودن خارج می‌شود
Market is ClosedNoOpپایان دادن به Workflow در صورت بسته بودن بازارCheck if Market is open (false)-خروج صحیح
Ticker ListSetتعریف لیست نمادهای سهامCheck if Market is open (true)Fetch Stock Dataلیست قابل تنظیم سهام برای تجزیه و تحلیل
Fetch Stock DataHTTP Requestدریافت داده‌های سهام از AlpacaTicker ListInterpret Dataدریافت داده‌های روزانه؛ استفاده از فید iex
Interpret DataCode (Python)محاسبه RSI، MACD و وضعیتFetch Stock DataStock Analysis Assistantخروجی دادن شاخص‌های فنی و خلاصه JSON برای هوش مصنوعی
Stock Analysis AssistantLangChain OpenAIتولید خلاصه به زبان ساده با هوش مصنوعیInterpret DataSend Summary to User(s)دستیار هوش مصنوعی سفارشی یافته‌ها را در markdown Slack خلاصه می‌کند
Send Summary to User(s)Slackارسال خلاصه به کاربران SlackStock Analysis AssistantEnd of Flowارائه خلاصه هوش مصنوعی به مقصد مشخص شده در Slack
End of FlowNoOpعلامت‌گذاری تکمیل WorkflowSend Summary to User(s)-نقطه پایان Workflow

بازسازی Workflow

برای بازسازی این Workflow:

1. افزودن Nodes: هر نوع Node فهرست شده در "جدول خلاصه" را به بوم n8n خود اضافه کنید.

2. پیکربندی Nodes: بخش "جزئیات" را برای هر بلوک دنبال کنید تا تنظیمات Node، از جمله اعتبارنامه‌های API، URLها، عبارات و منطق را پیکربندی کنید.

3. اتصال Nodes: Nodes را مطابق با ستون‌های "Node(های) ورودی" و "Node(های) خروجی" در "جدول خلاصه" پیوند دهید.

4. تنظیم اعتبارنامه‌ها: اطمینان حاصل کنید که اعتبارنامه‌های لازم برای Alpaca Markets و OpenAI را در نمونه n8n خود پیکربندی کرده‌اید.

5. فعال‌سازی Workflow: Workflow را ذخیره و فعال کنید تا تجزیه و تحلیل و گزارش‌دهی خودکار بازار آغاز شود.

Nodeهای استفاده‌شده

سوالات متداول

این Workflow n8n چگونه کار می‌کند؟

این Workflow ابتدا وضعیت بازار سهام را بررسی می‌کند، سپس داده‌های تاریخی سهام مورد نظر را از Alpaca Markets دریافت می‌کند. پس از محاسبه شاخص‌های فنی مانند RSI و MACD، از هوش مصنوعی برای خلاصه‌سازی این اطلاعات استفاده کرده و در نهایت خلاصه را به Slack ارسال می‌کند.

چه شاخص‌های فنی در این ربات استفاده می‌شود؟

این ربات از دو شاخص فنی کلیدی استفاده می‌کند: شاخص قدرت نسبی (RSI) و میانگین متحرک همگرایی واگرایی (MACD) برای تحلیل روند و سیگنال‌های معاملاتی.

چگونه می‌توانم سهام مورد نظر خود را به ربات اضافه کنم؟

شما می‌توانید لیست نمادهای سهام را در Node "Ticker List" (که از نوع Set است) در Workflow n8n ویرایش کرده و نمادهای دلخواه خود را با کاما از هم جدا کنید.

آیا این ربات فقط در ساعات بازار ایالات متحده کار می‌کند؟

بله، این Workflow طوری تنظیم شده است که فقط در ساعات کاری بازار ایالات متحده اجرا شود تا از تحلیل داده‌های نامعتبر جلوگیری کند. این کار با استفاده از یک Node "Schedule Trigger" و بررسی وضعیت بازار انجام می‌شود.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.