تحلیل سهام تلگرام با Twelve Data و GPT-4o

تحلیل سهام تلگرام با Twelve Data و GPT-4o

11 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۳۰

دانلود workflow

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

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

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

تحلیل سهام در تلگرام با Twelve Data، GPT-4o و o3-mini

این گردش کار یک دستیار تحلیل سهام مبتنی بر تلگرام به نام Ade ایجاد می‌کند. این دستیار پیام‌های ورودی تلگرام را پردازش می‌کند، ورودی‌های پشتیبانی نشده را فیلتر می‌کند و متن معتبر را به یک عامل هوش مصنوعی که توسط o3-mini اپراتور (OpenRouter) پشتیبانی می‌شود، هدایت می‌کند. سپس این عامل می‌تواند چندین گردش کار فرعی را برای تحلیل عمیق سهام فراخوانی کند، از جمله:

  • تحلیل تک سهم: با استفاده از Twelve Data و OpenAI GPT-4o.
  • مقایسه سهام: با استفاده از Twelve Data.
  • تحلیل عملکرد بخش: با استفاده از Twelve Data.
  • محاسبه معیارهای ریسک: با پشتیبانی Twelve Data و OpenAI GPT-4o.

این دستیار حافظه مکالمه‌ای را ارائه می‌دهد که امکان تعاملات طبیعی‌تر و آگاهانه‌تر از نظر زمینه را در تلگرام فراهم می‌کند.

موارد استفاده کلیدی:

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

---

ساختار گردش کار:

گردش کار به چندین بلوک منطقی تقسیم شده است:

1. دریافت و پیش‌پردازش ورودی تلگرام: پیام‌ها را از تلگرام دریافت می‌کند، داده‌ها را نرمال‌سازی می‌کند و اطلاعات ضروری مانند متن پیام، نام کاربری و شناسه چت را استخراج می‌کند. همچنین پیام‌های غیرمتنی را شناسایی و پرچم‌گذاری می‌کند.

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

3. هماهنگ‌کننده هوش مصنوعی مکالمه‌ای: این بلوک اصلی میزبان عامل هوش مصنوعی، حافظه مکالمه آن، مدل زبان (OpenRouter o3-mini) و گردش کارهای فرعی قابل فراخوانی (ابزارها) برای وظایف تحلیلی خاص است.

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

5. گردش کار فرعی: ابزار محاسبه‌گر ریسک: یک گردش کار قابل فراخوانی که یک نماد سهام (و اندازه موقعیت اختیاری) را می‌گیرد، داده‌ها را از Twelve Data واکشی می‌کند، معیارهای ریسک را محاسبه می‌کند و هم JSON ساختاریافته و هم یک گزارش ریسک قالب‌بندی شده را برمی‌گرداند.

6. گردش کار فرعی: ابزار مقایسه سهام: یک گردش کار قابل فراخوانی که یک یا چند نماد سهام را می‌پذیرد، داده‌های قیمت، پروفایل و RSI را از Twelve Data بازیابی می‌کند، سهام را مقایسه می‌کند و یک گزارش مقایسه قالب‌بندی شده همراه با فیلدهای خلاصه برمی‌گرداند.

7. گردش کار فرعی: ابزار تحلیل بخش: یک گردش کار قابل فراخوانی که نام یک بخش را می‌گیرد، سهام نماینده در آن بخش را شناسایی می‌کند، آن‌ها را با داده‌های قیمت و آمار Twelve Data غنی می‌کند، معیارهای سطح بخش را محاسبه می‌کند و یک گزارش بخش قالب‌بندی شده برمی‌گرداند.

8. گردش کار فرعی: ابزار تحلیل تک سهم: یک گردش کار قابل فراخوانی که یک نماد سهام واحد را دریافت می‌کند، به طور همزمان داده‌های بازار، بنیادی و فنی را از Twelve Data واکشی می‌کند، این داده‌ها را برای مصرف هوش مصنوعی قالب‌بندی می‌کند، آن را برای تجزیه و تحلیل به سبک سازمانی به GPT-4o ارسال می‌کند و گزارش تولید شده را برمی‌گرداند.

---

جزئیات گره‌ها:

۱. دریافت و پیش‌پردازش ورودی تلگرام

این بخش مسئول دریافت اولیه پیام‌ها از تلگرام و آماده‌سازی آن‌ها برای پردازش‌های بعدی است.

  • Telegram Trigger1

* نوع: n8n-nodes-base.telegramTrigger

* نقش: نقطه ورود گردش کار، که منتظر به‌روزرسانی‌ها از ربات تلگرام است.

* پیکربندی: تنظیم شده برای دریافت فقط به‌روزرسانی‌های message.

* اتصالات: ورودی ندارد؛ خروجی به PreProcessing1.

* نسخه: 1

* مشکلات احتمالی: خطاهای اعتبارنامه‌های تلگرام، پیکربندی نادرست وب‌هوک، تداخل مجوزهای ربات.

  • PreProcessing1

* نوع: n8n-nodes-base.set

* نقش: بار داده ورودی تلگرام را به یک ساختار سازگار نرمال‌سازی می‌کند.

* پیکربندی: فیلدهایی مانند message.text، user.name و chat.id را با استفاده از نمادگذاری نقطه‌ای ایجاد می‌کند.

* عبارات کلیدی:

* {{ $json?.message?.text || '' }}

* {{ $json?.message?.from?.first_name || 'User' }}

* {{ $json?.message?.chat?.id }}

* اتصالات: ورودی از Telegram Trigger1؛ خروجی به Filter Message Type.

* نسخه: 3.4

* مشکلات احتمالی: شیء message ناموجود در بار داده، chat.id تعریف نشده.

  • Filter Message Type

* نوع: n8n-nodes-base.code

* نقش: محتوای پیام را اعتبارسنجی کرده و فیلدهای مسیریابی را آماده می‌کند. این گره بررسی می‌کند که آیا پیام مبتنی بر متن است و اطلاعات لازم کاربر و چت را استخراج می‌کند و با تغییرات احتمالی مقابله می‌کند.

* پیکربندی: کد سفارشی جاوا اسکریپت.

* عبارات کلیدی:

* input.message

* input.chat?.id || input.chat_id || msg.chat?.id

* input.user?.name, msg.from?.first_name, و غیره.

* فیلدهای خروجی: skip (boolean)، text (محتوای پیام)، chat_id، user_name، display_name، fallback_message.

* اتصالات: ورودی از PreProcessing1؛ خروجی به Is Valid Message?.

* نسخه: 2

* مشکلات احتمالی: پیام‌های غیر متنی، فیلدهای نام/شناسه چت ناموجود، متن خالی به عنوان پشتیبانی نشده در نظر گرفته می‌شود.

۲. اعتبارسنجی پیام و مسیریابی پاسخ

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

  • Is Valid Message?

* نوع: n8n-nodes-base.if

* نقش: گردش کار را بر اساس پرچم skip تولید شده توسط Filter Message Type منشعب می‌کند.

* پیکربندی: بررسی می‌کند که آیا {{ $json.skip }} برابر با true است.

* عبارات کلیدی: {{ $json.skip }}

* اتصالات: ورودی از Filter Message Type. شاخه True به Send Unsupported Message؛ شاخه False به AI Agent1.

* نسخه: 2

* مشکلات احتمالی: ارزیابی نادرست بولی در صورت تغییر داده‌های بالادستی.

  • Send Unsupported Message

* نوع: n8n-nodes-base.telegram

* نقش: یک پیام جایگزین به تلگرام برای انواع پیام‌های پشتیبانی نشده ارسال می‌کند.

* پیکربندی:

* پیام: {{ $json.fallback_message }}

* شناسه چت: {{ $json.chat_id }}

* حالت تجزیه: Markdown فعال شده است.

* عبارات کلیدی:

* {{ $json.fallback_message }}

* {{ $json.chat_id }}

* اتصالات: ورودی از Is Valid Message? (شاخه true). گره پایین‌دستی ندارد.

* نسخه: 1.2

* مشکلات احتمالی: chat_id نامعتبر، خطاهای قالب‌بندی Markdown تلگرام، مشکلات احراز هویت.

۳. هماهنگ‌سازی هوش مصنوعی مکالمه‌ای

این هاب مرکزی است که در آن عامل هوش مصنوعی ورودی کاربر را تفسیر می‌کند، تاریخچه مکالمات را مدیریت می‌کند و تصمیم می‌گیرد که از کدام ابزارها (گردش کارهای فرعی) استفاده کند.

  • AI Agent1

* نوع: @n8n/n8n-nodes-langchain.agent

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

* پیکربندی:

* ورودی: {{ $json.text }}

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

* عبارات کلیدی: {{ $json.text }}

* اتصالات:

* ورودی اصلی: از Is Valid Message? (شاخه false).

* مدل زبان: به Analytics_Model1.

* حافظه: به Conversation Memory1.

* ابزارها: از Stock Analysis Tool1, Stock Comparison Tool1, Sector Analysis Tool1, Risk Calculator Tool1.

* خروجی اصلی: به Send Response1.

* نسخه: 1.7

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

* گردش کارهای فرعی فراخوانی شده: TwelveData_Pro_Helper, Stock_Comparison_Tool, Sector_Analysis_Tool_Enhanced, Risk_Calculator_Tool.

  • Conversation Memory1

* نوع: @n8n/n8n-nodes-langchain.memoryBufferWindow

* نقش: تاریخچه مکالمات را برای ارائه زمینه به عامل هوش مصنوعی ذخیره می‌کند.

* پیکربندی: از یک کلید جلسه کدگذاری شده استفاده می‌کند (7107208579).

* اتصالات: به عنوان حافظه به AI Agent1 متصل است.

* نسخه: 1.3

* مشکلات احتمالی: حافظه به دلیل کلید کدگذاری شده واقعاً برای هر کاربر نیست، که به طور بالقوه منجر به نشت زمینه در سناریوهای چند کاربره می‌شود.

  • Analytics_Model1

* نوع: @n8n/n8n-nodes-langchain.lmChatOpenRouter

* نقش: مدل زبان اصلی برای عامل هوش مصنوعی.

* پیکربندی:

* مدل: openai/o3-mini

* maxTokens: 4000

* اتصالات: به عنوان مدل زبان به AI Agent1 متصل است.

* نسخه: 1

* مشکلات احتمالی: احراز هویت/محدودیت‌های نرخ OpenRouter، تغییرات در دسترس بودن مدل، خستگی توکن با خروجی‌های طولانی ابزار.

  • Stock Analysis Tool1

* نوع: @n8n/n8n-nodes-langchain.toolWorkflow

* نقش: گردش کار فرعی TwelveData_Pro_Helper را به عنوان ابزار AnalyzeStock برای عامل هوش مصنوعی در دسترس قرار می‌دهد.

* پیکربندی:

* نام ابزار: AnalyzeStock

* گردش کار فراخوانی شده: TwelveData_Pro_Helper

* پارامتر ورودی: query = {{ $json.query }}

* عبارات کلیدی: {{ $json.query }}

* اتصالات: به عنوان یک ابزار به AI Agent1 متصل است.

* نسخه: 2

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

* ارجاع گردش کار فرعی: TwelveData_Pro_Helper را فراخوانی می‌کند.

  • Stock Comparison Tool1

* نوع: @n8n/n8n-nodes-langchain.toolWorkflow

* نقش: گردش کار فرعی Stock_Comparison_Tool را به عنوان ابزار CompareStocks در دسترس قرار می‌دهد.

* پیکربندی:

* نام ابزار: CompareStocks

* گردش کار فراخوانی شده: Stock_Comparison_Tool

* پارامتر ورودی: tickers = {{ $json.tickers }}

* عبارات کلیدی: {{ $json.tickers }}

* اتصالات: به عنوان یک ابزار به AI Agent1 متصل است.

* نسخه: 2

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

* ارجاع گردش کار فرعی: Stock_Comparison_Tool را فراخوانی می‌کند.

  • Sector Analysis Tool1

* نوع: @n8n/n8n-nodes-langchain.toolWorkflow

* نقش: گردش کار فرعی Sector_Analysis_Tool_Enhanced را به عنوان ابزار SectorAnalysis در دسترس قرار می‌دهد.

* پیکربندی:

* نام ابزار: SectorAnalysis

* گردش کار فراخوانی شده: Sector_Analysis_Tool_Enhanced

* پارامتر ورودی: sector = {{ $json.sector }}

* عبارات کلیدی: {{ $json.sector }}

* اتصالات: به عنوان یک ابزار به AI Agent1 متصل است.

* نسخه: 2

* مشکلات احتمالی: مدیریت نادرست نام بخش، مشکلات در گردش کار فرعی فراخوانی شده.

* ارجاع گردش کار فرعی: Sector_Analysis_Tool_Enhanced را فراخوانی می‌کند.

  • Risk Calculator Tool1

* نوع: @n8n/n8n-nodes-langchain.toolWorkflow

* نقش: گردش کار فرعی Risk_Calculator_Tool را به عنوان ابزار CalculateRisk در دسترس قرار می‌دهد.

* پیکربندی:

* نام ابزار: CalculateRisk

* گردش کار فراخوانی شده: Risk_Calculator_Tool

* پارامترهای ورودی: ticker = {{ $json.ticker }}, position_size = {{ $json.position_size }}

* عبارات کلیدی: {{ $json.ticker }}, {{ $json.position_size }}

* اتصالات: به عنوان یک ابزار به AI Agent1 متصل است.

* نسخه: 2

* مشکلات احتمالی: ورودی نماد سهام نامعتبر، خطاهای دریافت داده یا محاسبه معیارها در گردش کار فرعی.

* ارجاع گردش کار فرعی: Risk_Calculator_Tool را فراخوانی می‌کند.

۴. تحویل خروجی تلگرام

این بلوک مسئول ارسال پاسخ نهایی به کاربر از طریق تلگرام است.

  • Send Response1

* نوع: n8n-nodes-base.telegram

* نقش: پاسخ تولید شده توسط عامل هوش مصنوعی را به چت تلگرام مناسب ارسال می‌کند.

* پیکربندی:

* پیام: {{ $json.response }}

* شناسه چت: {{ $json.chat_id }}

* حالت تجزیه: Markdown فعال شده است.

* عبارات کلیدی:

* {{ $json.response }}

* {{ $json.chat_id }}

* اتصالات: ورودی از AI Agent1. گره پایین‌دستی ندارد.

* نسخه: 1.2

* مشکلات احتمالی: chat_id نامعتبر، خطاهای قالب‌بندی Markdown تلگرام، مشکلات احراز هویت، پاسخ فراتر از محدودیت‌های کاراکتر.

---

زیر-گردش‌کارها (Sub-Workflows):

این‌ها گردش‌کارهای جداگانه و قابل فراخوانی هستند که برای وظایف تحلیلی خاص طراحی شده‌اند.

۵. زیر-گردش‌کار: ابزار محاسبه ریسک

  • هدف: محاسبه معیارهای ریسک برای یک سهم مشخص.
  • گره‌ها (Nodes):

* Execute Workflow Trigger: نقطه ورود برای این زیر-گردش‌کار.

* Twelve Data: دریافت داده‌های تاریخی و بنیادی.

* Code: محاسبه معیارهای ریسک.

* OpenAI: تولید گزارش ریسک قالب‌بندی شده با استفاده از GPT-4o.

* Set: قالب‌بندی خروجی.

* Return Data: بازگرداندن نتایج.

  • یکپارچه‌سازی‌های کلیدی: Twelve Data، OpenAI.
  • پارامترهای ورودی: ticker (رشته)، position_size (عدد، اختیاری).
  • خروجی: JSON ساختاریافته و گزارش ریسک قالب‌بندی شده.

۶. زیر-گردش‌کار: ابزار مقایسه سهام

  • هدف: مقایسه عملکرد و معیارهای کلیدی چندین سهم.
  • گره‌ها (Nodes):

* Execute Workflow Trigger: نقطه ورود.

* Twelve Data (نمونه‌های متعدد): دریافت داده‌های قیمت، پروفایل و RSI برای هر نماد.

* Merge: ترکیب داده‌ها از نمادهای مختلف.

* Code: مقایسه داده‌ها و تولید فیلدهای خلاصه.

* Set: قالب‌بندی گزارش مقایسه.

* Return Data: بازگرداندن نتایج.

  • یکپارچه‌سازی‌های کلیدی: Twelve Data.
  • پارامترهای ورودی: tickers (آرایه‌ای از رشته‌ها).
  • خروجی: گزارش مقایسه قالب‌بندی شده و فیلدهای خلاصه ساختاریافته.

۷. زیر-گردش‌کار: ابزار تحلیل بخش (Sector)

  • هدف: تحلیل عملکرد یک بخش بازار مشخص.
  • گره‌ها (Nodes):

* Execute Workflow Trigger: نقطه ورود.

* Set: تعریف سهام نماینده برای بخش.

* Twelve Data (نمونه‌های متعدد): دریافت داده‌های قیمت و آمار سهام نماینده.

* Merge: ترکیب داده‌ها.

* Code: محاسبه معیارهای سطح بخش.

* Set: قالب‌بندی گزارش بخش.

* Return Data: بازگرداندن نتایج.

  • یکپارچه‌سازی‌های کلیدی: Twelve Data.
  • پارامترهای ورودی: sector (رشته).
  • خروجی: گزارش بخش قالب‌بندی شده.

۸. زیر-گردش‌کار: ابزار تحلیل تک سهم

  • هدف: ارائه تحلیلی جامع از یک سهم واحد با استفاده از GPT-4o.
  • گره‌ها (Nodes):

* Execute Workflow Trigger: نقطه ورود.

* Twelve Data (گره‌های موازی متعدد): دریافت جریان‌های داده مختلف (بازار، بنیادی، فنی).

* Merge: ترکیب تمام داده‌های دریافت شده.

* Set: قالب‌بندی داده‌های ترکیبی برای مصرف توسط هوش مصنوعی.

* OpenAI: ارسال داده‌های قالب‌بندی شده به GPT-4o برای تحلیل.

* Set: قالب‌بندی پاسخ هوش مصنوعی.

* Return Data: بازگرداندن گزارش تولید شده.

  • یکپارچه‌سازی‌های کلیدی: Twelve Data، OpenAI (GPT-4o).
  • پارامترهای ورودی: ticker (رشته).
  • خروجی: گزارشی تحلیلی به سبک سازمانی.

---

این گردش‌کار را کاوش کنید و قابلیت‌های تحلیل سهام خود را مستقیماً در تلگرام بهبود بخشید! برای اطلاعات بیشتر از کاتالوگ Axeto دیدن کنید: https://axeto.ai/n8n

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

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

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

این گردش کار پیام‌های تلگرام را دریافت می‌کند، آن‌ها را پردازش کرده و سپس با استفاده از ابزارهایی مانند Twelve Data و GPT-4o تحلیل‌های مختلفی از جمله تحلیل تک سهم، مقایسه سهام، تحلیل بخش و محاسبه ریسک را انجام می‌دهد و نتایج را به صورت مکالمه‌ای در تلگرام ارائه می‌دهد.

چه ابزارهایی در این گردش کار استفاده شده‌اند؟

ابزارهای اصلی مورد استفاده عبارتند از n8n برای اتوماسیون گردش کار، Twelve Data برای داده‌های مالی و قیمت سهام، و GPT-4o (از طریق OpenRouter) برای پردازش زبان طبیعی و تحلیل‌های پیشرفته.

آیا این دستیار می‌تواند سهام مختلف را مقایسه کند؟

بله، این گردش کار شامل یک گردش کار فرعی برای مقایسه سهام است که با استفاده از داده‌های Twelve Data، عملکرد سهام مختلف را مقایسه کرده و گزارشی قالب‌بندی شده ارائه می‌دهد.

حافظه مکالمه‌ای در این دستیار چه نقشی دارد؟

حافظه مکالمه‌ای به دستیار اجازه می‌دهد تا تاریخچه چت را به خاطر بسپارد و تعاملات طبیعی‌تر و آگاهانه‌تری از نظر زمینه را فراهم کند، که منجر به تحلیل‌های دقیق‌تر و مرتبط‌تر می‌شود.

workflowهای مرتبط

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