← العودة إلى قائمة المقالات
April 12, 2026
5 دقائق للقراءة

VectorBT: الإطار الأسرع للاختبار العكسي باستخدام بايثون

VectorBT: الإطار الأسرع للاختبار العكسي باستخدام بايثون
#الاختبار العكسي
#بايثون
#vectorbt
#التداول الخوارزمي
#numba
#التحليل الكمي

VectorBT Overview

إذا كنت قد شاركت في التداول الخوارزمي والاختبار العكسي لاستراتيجيات التداول باستخدام بايثون، فمن المحتمل أنك واجهت نفس المشكلة: السرعة. تستخدم المكتبات الكلاسيكية (مثل Backtrader أو Zipline) نهجاً موجهًا للكائنات، حيث تتنقل عبر البيانات التاريخية حدثاً تلو الآخر (مبني على الأحداث). هذا مريح لكتابة المنطق، ولكن عندما يتعلق الأمر بتحسين المعلمات على آلاف المجموعات، يصبح انتظار الساعات أمراً لا يطاق.

وهنا يأتي دور VectorBT — وهي مكتبة للتحليل الكمي تطبق نهجاً مختلفاً جذرياً للاختبار العكسي.

ما هو VectorBT؟

What is VectorBT

يعمل VectorBT حصرياً مع كائنات pandas و NumPy ، ويستخدم مترجم Numba لتسريع الحسابات. يتيح ذلك تحليل أي بيانات بسرعة فائقة وقابلية للتوسع، واختبار عشرات الآلاف من الاستراتيجيات في ثوانٍ معدودة.

بدلاً من معالجة كل شمعة أو تكة بالدور (كما تفعل أدوات الاختبار العكسي التقليدية)، يمثل VectorBT البيانات المعقدة كمصفوفات منظمة. يوفر توجيه العمليات بالاشتراك مع Numba (الذي يحل مشكلة الاعتماد على المسار من خلال السماح بترجمة حلقات بايثون إلى لغة الآلة) أداءً بمستوى لغة C.

الميزات الرئيسية

VectorBT Key Features

  • الاختبار العكسي الموجه (Vectorized): اختبار الاستراتيجيات في أسطر قليلة من الكود. لا توجد حلقات بايثون بطيئة.
  • تحسين واسع النطاق: قم بتحسين استراتيجية التداول الخاصة بك في وقت واحد عبر العديد من المعلمات والأطر الزمنية والأصول بضربة واحدة.
  • التصور التفاعلي: يتيح التكامل المدمج مع Plotly و Jupyter Widgets إنشاء مخططات ولوحات معلومات معقدة للغاية (مثل Tableau) مباشرة في Jupyter Notebook دون تأخير ملحوظ في العرض.
  • لا فقدان للسيطرة: على عكس المنصات السحابية مثل TradingView، تظل بياناتك وخوارزمياتك معك فقط. في الوقت نفسه، يكون أداء الحساب قابلاً للمقارنة بالمنصات الجاهزة، بل وغالباً ما يتجاوزها.
  • تحضير البيانات: مجموعة أدوات ممتازة لتحليل السلاسل الزمنية وهندسة الميزات (Feature Engineering) لنماذج تعلم الآلة.

كيف يعمل؟ (مثال)

How it works - Strategy Pipeline

لنقل إننا نريد اختبار استراتيجية تقاطع المتوسط المتحرك المزدوج (DMAC) الكلاسيكية على البيتكوين (BTC).

في إطار عمل OOP الكلاسيكي، سيتعين عليك إنشاء فئة استراتيجية، ووصف منطق next() الذي يتم تفعيله عند كل شمعة، والتكرار عبر جميع الشموع. في VectorBT، كل شيء أكثر أناقة وأسرع بكثير:

import vectorbt as vbt

btc_price = vbt.YFData.download('BTC-USD', start='2019-01-01 UTC', end='2020-01-01 UTC').get('Close')

fast_ma = vbt.MA.run(btc_price, [10, 20], short_name='fast')
slow_ma = vbt.MA.run(btc_price, [30, 30], short_name='slow')

entries = fast_ma.ma_crossed_above(slow_ma)
exits = fast_ma.ma_crossed_below(slow_ma)

pf = vbt.Portfolio.from_signals(btc_price, entries, exits)

print(pf.total_return())

في هذا المثال، قمنا في لحظة واحدة باختبار عدة بدائل لاستراتيجية DMAC: المجموعات (10، 30) و(20، 30). ستكون النتيجة (في شكل عمود) هي العائد لكل خيار من المعلمات:

fast_window  slow_window
10           30             0.848840
20           30             0.543411
Name: total_return, dtype: float64

هل تريد إضافة Ethereum و Solana وعشر عملات أخرى؟ فقط ادمج أسعارها في DataFrame واحد. هل تريد اختبار نطاقات زمنية مختلفة؟ استخدم وظيفة range_split. يسمح التمثيل الموجه بمضاعفة الأبعاد بشكل لا محدود تقريباً (طالما توفرت ذاكرة وصول عشوائي كافية).

VectorBT PRO

VectorBT PRO Elite Tools

هناك أيضاً إصدار تجاري من المكتبة — VectorBT PRO ، والذي يضيف أدوات أكثر قوة. يتميز بالمعالجة المتوازية، وتحسين المحفظة المتقدم، والتعرف على أنماط الأسعار، وإسقاط الأحداث، وحساب التداول بالهامش وأوامر الحد، وأكثر من مائة مقياس آخر مهم للتداول الحقيقي.

لماذا تستخدم VectorBT؟

إذا كنت تحتاج فقط إلى "تشغيل" استراتيجية واحدة على أداة واحدة، فقد تكون الأطر القياسية كافية. ولكن إذا كان هدفك هو التحليل الاستكشافي، وإيجاد الأنماط الإحصائية (alpha)، واختبار الفرضيات على آلاف الأدوات في وقت واحد، فإن VectorBT سيكون اكتشافاً حقيقياً لك.

إنها أداة لعلماء البيانات تم نقلها إلى التداول. إنها تمنح ميزة تنافسية في المعلومات من خلال القدرة على التحقق من الأفكار بشكل أسرع بعشرات ومئات المرات مما يفعله المشاركون الآخرون في السوق باستخدام بايثون.

blog.disclaimer

MarketMaker.cc Team

البحوث والاستراتيجيات الكمية

ناقش في تلغرام
Newsletter

ابقَ متقدماً على السوق

اشترك في نشرتنا الإخبارية للحصول على رؤى حصرية حول تداول الذكاء الاصطناعي وتحليلات السوق وتحديثات المنصة.

نحترم خصوصيتك. يمكنك إلغاء الاشتراك في أي وقت.