هل تريد قراءة هذا باللغة الإنجليزية ؟ اذهب هنا
VeighNa هو إطار عمل لتطوير نظام التداول الكمي مفتوح المصدر يعتمد على لغة Python، بفضل المساهمات المستمرة من مجتمع المصادر المفتوحة، وقد تطور تدريجيًا ليصبح منصة تداول كمي متعددة الوظائف منذ إصداره، وقد جمع العديد من المستخدمين من المؤسسات المالية أو ذات الصلة المجالات، بما في ذلك صناديق الأسهم الخاصة، وشركات الأوراق المالية، وشركات العقود الآجلة، وما إلى ذلك.
تم إصدار [VeighNa Elite Quantitative Terminal] للمتداولين المحترفين رسميًا، مما يوفر دعمًا مثاليًا لاحتياجات المتداولين المحترفين من حيث التزامن الاستراتيجي الهائل، والتحويل الذكي للصفقات، وتنفيذ تقسيم الخوارزمية، ودعم التداول متعدد الحسابات. لمزيد من المعلومات التفصيلية، يرجى مسح رمز الاستجابة السريعة أدناه للمتابعة والنقر فوق [الاتصالات المجتمعية -> خدمة عضوية النخبة] في شريط القائمة :
إذا كانت لديك أي أسئلة في عملية استخدام VeighNa للتطوير الثانوي (الاستراتيجيات والوحدات وما إلى ذلك)، فيرجى مراجعة وثائق مشروع VeighNa . إذا لم تتمكن من حل المشكلة، فيرجى الانتقال إلى قسم [السؤال والمساعدة] في الموقع الرسمي منتدى المجتمع للحصول على المساعدة، كما نرحب بك في [مشاركة الخبرة] لمشاركة تجربتك باستخدام هذا القسم!
هل ترغب في الحصول على مزيد من المعلومات حول VeighNa؟ يرجى مسح رمز الاستجابة السريعة أدناه لإضافة مساعد للانضمام إلى [مجموعة WeChat للتواصل المجتمعي VeighNa]:
منصة تداول كمي متعددة الوظائف (Trader)، والتي تدمج مجموعة متنوعة من واجهات التداول وتوفر واجهات برمجة تطبيقات بسيطة وسهلة الاستخدام لخوارزميات إستراتيجية محددة وتطوير وظيفي، لبناء تطبيقات التداول الكمي التي يطلبها المتداولون بسرعة.
واجهة التداول (البوابة) تغطي أصناف التداول التالية المملوكة في الداخل والخارج:
السوق المحلية
CTP (ctp): العقود الآجلة والخيارات المحلية
CTP Mini (mini): العقود الآجلة والخيارات المحلية
CTP Securities (sopt): خيارات ETF
فيماس: العقود الآجلة المحلية
Hang Seng UFT (uft): العقود الآجلة المحلية، خيارات ETF
esunny: العقود الآجلة المحلية، الذهب TD
Apex Feichuang (sec): خيارات ETF
Vertex HTS (hts): خيارات ETF
Zhongtai XTP (xtp): الأوراق المالية المحلية (الأسهم A)، وخيارات ETF
Huaxin Singularity (tora): الأوراق المالية المحلية (أسهم A)، خيارات ETF
Guotai Junan (hft): الأوراق المالية المحلية (الأسهم، الخدمات المالية)
Topix OST (ost): الأوراق المالية المحلية (أسهم A)
Oriental Fortune EMT (emt): الأوراق المالية المحلية (أسهم)
السنجاب الطائر (sgit): الذهب TD، العقود الآجلة المحلية
كسغولد: الذهب تد
إدارة الأصول لي شينغ (lstar): إدارة الأصول الآجلة
روهون: إدارة الأصول الآجلة
جييس: إدارة الأصول الآجلة
Zhonghui Yida (comstar): سوق ما بين البنوك
ناجتس (جم): الأوراق المالية المحلية (محاكاة)
Hang Seng Cloud UF (uf): الأوراق المالية المحلية (محاكاة)
تحويل النص إلى كلام (تحويل النص إلى كلام): العقود الآجلة المحلية (المحاكاة)
السوق في الخارج
الوسطاء التفاعليون (ib): الأوراق المالية الخارجية، والعقود الآجلة، والخيارات، والمعادن الثمينة، وما إلى ذلك.
Yisheng 9.0 قرص خارجي (صنبور): العقود الآجلة في الخارج
العقود الآجلة المباشرة (دا): العقود الآجلة في الخارج
تطبيق خاص
أسعار RQData (rqdata): عروض الأسعار في الوقت الفعلي عبر الأسواق (الأسهم والمؤشرات وصناديق الاستثمار المتداولة والعقود الآجلة)
أسعار Xun Touyan (xt): عروض الأسعار في الوقت الفعلي عبر الأسواق (الأسهم والمؤشرات والسندات القابلة للتحويل وصناديق الاستثمار المتداولة والعقود الآجلة والخيارات)
خدمة RPC (rpc): واجهة اتصال عبر العمليات للبنى الموزعة
تطبيقات التداول (التطبيقات) التي تغطي الأنواع التالية من الاستراتيجيات الكمية:
cta_strategy: وحدة محرك استراتيجية CTA، مع الحفاظ على سهولة الاستخدام، تسمح للمستخدمين بإجراء تحكم دقيق في الإبلاغ المفوض وسلوك السحب أثناء تشغيل استراتيجيات CTA (تقليل انزلاق المعاملات وتنفيذ استراتيجيات عالية التردد)
cta_backtester: وحدة الاختبار الخلفي لاستراتيجية CTA، دون استخدام Jupyter Notebook، استخدم الواجهة الرسومية مباشرة لإجراء تحليل الاختبار الخلفي للاستراتيجية وتحسين المعلمات والأعمال الأخرى ذات الصلة
Spread_trading: وحدة تداول السبريد، تدعم فروق الأسعار المخصصة، والحساب في الوقت الفعلي لأسعار ومراكز فروق الأسعار، وتدعم تداول خوارزمية السبريد واستراتيجيات السبريد التلقائية.
option_master: وحدة تداول الخيارات، المصممة لسوق الخيارات المحلية، تدعم نماذج تسعير الخيارات المتعددة، وحسابات سطح التقلب الضمنية، وتتبع مخاطر القيمة اليونانية وغيرها من الوظائف.
Wallet_Strategy: وحدة إستراتيجية المحفظة، للاستراتيجيات الكمية التي تتداول عقود متعددة في نفس الوقت (ألفا، ومراجحة الخيارات، وما إلى ذلك)، مما يوفر اختبارًا خلفيًا للبيانات التاريخية ووظائف التداول التلقائي في الوقت الفعلي.
algo_trading: وحدة تداول خوارزمية، توفر مجموعة متنوعة من خوارزميات التداول الذكية شائعة الاستخدام: TWAP، وSniper، وIceberg، وBestLimit، وما إلى ذلك.
script_trader: وحدة إستراتيجية البرنامج النصي، مصممة للاستراتيجيات الكمية متعددة المعايير ومهام الحساب، ويمكنها أيضًا تنفيذ المعاملات في شكل تعليمات REPL على سطر الأوامر.
Paper_account: وحدة محاكاة محلية، وهي وظيفة تداول محاكاة محلية بحتة، ومطابقة موثوقة بناءً على ظروف السوق في الوقت الفعلي التي يتم الحصول عليها من واجهة التداول، ويتم تزويدها بسجلات دفع المعاملات والمراكز.
Chart_wizard: وحدة الرسم البياني K-line، التي تحصل على البيانات التاريخية بناءً على خدمة بيانات RQData (العقود الآجلة) أو واجهة التداول، وتعرض تغيرات السوق في الوقت الفعلي جنبًا إلى جنب مع دفع القراد
Wallet_manager: وحدة إدارة محفظة التداول، المستندة إلى محافظ تداول استراتيجية مستقلة (حسابات فرعية)، توفر إدارة سجلات المعاملات، والتتبع التلقائي لمراكز التداول، وإحصائيات في الوقت الفعلي للأرباح والخسائر اليومية.
rpc_service: وحدة خدمة RPC، التي تسمح ببدء عملية معينة كخادم، وباعتبارها قناة موحدة لتوجيه المعاملات والسوق، فإنها تسمح للعديد من العملاء بالاتصال في نفس الوقت لتنفيذ نظام موزع متعدد العمليات.
data_manager: وحدة إدارة البيانات التاريخية، وعرض نظرة عامة على البيانات الموجودة في قاعدة البيانات من خلال دليل الشجرة، وتحديد البيانات في أي فترة زمنية لعرض تفاصيل الحقل، ودعم استيراد البيانات وتصدير ملفات CSV
data_recorder: وحدة تسجيل السوق، التي تم تكوينها بناءً على الواجهة الرسومية، تسجل ظروف السوق المحددة أو K-line في الوقت الفعلي لقاعدة البيانات وفقًا للاحتياجات، لإجراء اختبار خلفي للاستراتيجية أو تهيئة السوق الحقيقية
excel_rtd: خدمة بيانات Excel RTD (بيانات الوقت الحقيقي) في الوقت الفعلي، استنادًا إلى وحدة pyxll للحصول على تحديثات فورية للبيانات المختلفة (الأسواق والعقود والمواقف وما إلى ذلك) في Excel
Risk_manager: وحدة إدارة المخاطر، التي توفر إحصائيات وقيودًا على التحكم في تدفق المعاملات وكمية الطلب وإسناد النشاط والعدد الإجمالي لإلغاءات الطلبات والقواعد الأخرى، مما يؤدي بشكل فعال إلى تحقيق وظائف التحكم في المخاطر الأمامية.
web_trader: وحدة خدمة الويب، المصممة لمتطلبات بنية BS، تنفذ خادم ويب يوفر استدعاءات الوظائف النشطة (REST) ودفع البيانات السلبية (Websocket)
يوفر تغليف واجهة API لمعاملات Python (api) تنفيذ الإرساء الأساسي لواجهة المعاملات المذكورة أعلاه.
عميل REST (الراحة): عميل REST API عالي الأداء يعتمد على الإدخال والإخراج غير المتزامن coroutine، باستخدام نموذج برمجة حلقة رسائل الحدث، ودعم إرسال طلبات المعاملات في الوقت الفعلي عالية التزامن.
عميل Websocket (websocket): عميل Websocket API عالي الأداء يعتمد على الإدخال والإخراج غير المتزامن coroutine، والذي يدعم التشغيل المتزامن لحلقة الأحداث المشتركة مع عميل REST.
يعد المحرك (الحدث) البسيط وسهل الاستخدام بمثابة جوهر برنامج التداول القائم على الأحداث.
واجهة المحول لرسو قواعد البيانات المختلفة (قاعدة البيانات):
فئة SQL
SQLite (sqlite): قاعدة بيانات أحادية الملف خفيفة الوزن، لا حاجة إلى تثبيت وتكوين برامج خدمة البيانات، الخيار الافتراضي لـ VeighNa، مناسب للمستخدمين المبتدئين
MySQL (mysql): قاعدة بيانات علائقية مفتوحة المصدر ذات وثائق غنية للغاية ويمكن أن تحل محل تطبيقات NewSQL المتوافقة (مثل TiDB)
PostgreSQL (postgresql): قاعدة بيانات علائقية مفتوحة المصدر ذات ميزات أكثر ثراءً، وهي تدعم وظائف جديدة من خلال المكونات الإضافية الإضافية، ويوصى بها فقط للمستخدمين ذوي الخبرة.
فئة NoSQL
DolphinDB (dolphindb): قاعدة بيانات سلاسل زمنية موزعة عالية الأداء، مناسبة للمهام ذات زمن الوصول المنخفض أو المهام في الوقت الفعلي مع متطلبات السرعة العالية للغاية
Arctic (arctic): قاعدة بيانات سلاسل زمنية مالية عالية الأداء تعتمد حلول تحسين الأداء مثل تخزين الكتل وضغط LZ4 لتحقيق قراءة وكتابة بيانات السلاسل الزمنية بكفاءة.
TDengine (taos): قاعدة بيانات سلاسل زمنية موزعة وعالية الأداء ومدعمة بـ SQL مع تخزين مؤقت مدمج وحوسبة متدفقة واشتراك في البيانات ووظائف النظام الأخرى، والتي يمكن أن تقلل بشكل كبير من تعقيد البحث والتطوير والتشغيل والصيانة.
TimescaleDB (timescaledb): قاعدة بيانات سلاسل زمنية تم تطويرها بناءً على PostgreSQL ويتم تثبيتها كملحق إضافي وتدعم التقسيم التلقائي للبيانات حسب المكان والزمان.
MongoDB (mongodb): قاعدة بيانات مستندات تعتمد على تخزين الملفات الموزعة (تنسيق bson) توفر ذاكرة التخزين المؤقت للبيانات الساخنة المدمجة سرعات قراءة وكتابة أسرع.
InfluxDB (influxdb): قاعدة بيانات سلاسل زمنية مصممة خصيصًا لتخزين بيانات TimeSeries توفر كفاءة عالية للغاية في القراءة والكتابة وتطبيقات التحليل الطرفية.
LevelDB (leveldb): قاعدة بيانات عالية الأداء للمفتاح/القيمة أطلقتها Google، وهي تطبق محرك تخزين قيد التشغيل يعتمد على خوارزمية LSM وتدعم مليارات البيانات الضخمة.
واجهة المحول (تغذية البيانات) لإرساء الأنواع التالية من خدمات البيانات:
Xun Investment Research (xt): الأسهم والعقود الآجلة والخيارات والصناديق والسندات
MiKang RQData (rqdata): الأسهم والعقود الآجلة والخيارات والصناديق والسندات والذهب TD
سيد الوينج تشون (voltrader): العقود الآجلة والخيارات
هانغ سنغ UData (udata): الأسهم والعقود الآجلة والخيارات
TuShare (tushare): الأسهم والعقود الآجلة والخيارات والأموال
الرياح (الرياح): الأسهم والعقود الآجلة والصناديق والسندات
Tinysoft (tinysoft): الأسهم والعقود الآجلة والصناديق والسندات
تدفق iFinD (ifind): الأسهم والعقود الآجلة والصناديق والسندات
تيانكين TQSDK (tqsdk): العقود الآجلة
مكون قياسي للاتصالات عبر العمليات (rpc)، يستخدم لتنفيذ أنظمة التداول المعقدة مع النشر الموزع.
يدعم مخطط K-line عالي الأداء من Python (المخطط) عرض مخطط حجم البيانات الكبيرة ووظائف تحديث البيانات في الوقت الفعلي.
تتضمن منتديات المجتمع وأعمدة Zhihu دروسًا تطويرية حول مشروع VeighNa وأبحاثًا حول تطبيق Python في مجال التداول الكمي.
تتم إدارة مجموعة الاتصال الرسمية 262656087 (QQ) بشكل صارم (يتم إزالة الأعضاء الذين كانوا غواصين لفترة طويلة بانتظام)، وسيتم التبرع برسوم دخول المجموعة إلى صندوق مجتمع VeighNa.
ملاحظة: يستند الوصف أعلاه للميزات الوظيفية إلى الوضع وقت إصدار الوثائق، وقد يتم تحديثه أو تعديله في المستقبل. إذا كان وصف الوظيفة مختلفًا عن الوجود الفعلي، فيرجى الاتصال بنا من خلال المشكلة للتعديل.
قم بتنزيل الإصدار هنا، وقم بفك ضغطه وتشغيل الأمر التالي لتثبيته:
ويندوز
install.bat
أوبونتو
bash install.sh
ماكوس
bash install_osx.sh
ملاحظة: المكتبات التابعة المطلوبة لتثبيت إطار عمل VeighNa مدرجة في ملف setup.cfg، ويتم تقديم إصدارات التثبيت الموصى بها لهذه المكتبات التابعة في ملف require.txt.
قم بتسجيل حساب محاكاة CTP في SimNow واحصل على رمز الوسيط وعنوان خادم عرض أسعار التداول على هذه الصفحة.
قم بالتسجيل في منتدى مجتمع VeighNa للحصول على حساب وكلمة مرور محطة VeighNa (حساب المنتدى وكلمة المرور متماثلان)
ابدأ تشغيل محطة VeighNa (سيتم إنشاء اختصار تلقائيًا على سطح المكتب بعد تثبيت VeighNa Studio)، أدخل الحساب وكلمة المرور من الخطوة السابقة لتسجيل الدخول
انقر فوق زر VeighNa Trader في الأسفل لبدء التداول الخاص بك! ! !
يلاحظ:
بالإضافة إلى طريقة بدء التشغيل الرسومية المستندة إلى محطة VeighNa، يمكنك أيضًا إنشاء run.py في أي دليل وكتابة نموذج التعليمات البرمجية التالي:
from vnpy . event import EventEngine
from vnpy . trader . engine import MainEngine
from vnpy . trader . ui import MainWindow , create_qapp
from vnpy_ctp import CtpGateway
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp
def main ():
"""Start VeighNa Trader"""
qapp = create_qapp ()
event_engine = EventEngine ()
main_engine = MainEngine ( event_engine )
main_engine . add_gateway ( CtpGateway )
main_engine . add_app ( CtaStrategyApp )
main_engine . add_app ( CtaBacktesterApp )
main_window = MainWindow ( main_engine , event_engine )
main_window . showMaximized ()
qapp . exec ()
if __name__ == "__main__" :
main ()
افتح CMD في هذا الدليل (اضغط باستمرار على Shift-> انقر بزر الماوس الأيمن->افتح نافذة الأوامر/PowerShell هنا) وقم بتشغيل الأمر التالي لبدء VeighNa Trader:
python run.py
يستخدم VeighNa Github لاستضافة الكود المصدري الخاص به. إذا كنت تريد المساهمة بالكود، فيرجى استخدام عملية PR (طلب السحب) الخاصة بـ github:
إنشاء مشكلة - بالنسبة للتغييرات الأكبر (مثل الميزات الجديدة، وإعادة الهيكلة على نطاق واسع، وما إلى ذلك)، يوصى بفتح مشكلة لمناقشتها أولاً، وبالنسبة للتحسينات الأصغر (مثل تحسينات المستندات، وإصلاحات الأخطاء، وما إلى ذلك)، فقط إرسال العلاقات العامة مباشرة.
Fork VeighNa - انقر على زر Fork في الزاوية اليمنى العليا
استنساخ الشوكة الخاصة بك: git clone https://github.com/$userid/vnpy.git
قم بإنشاء فرع الميزات الخاص بك من dev : git checkout -b $my_feature_branch dev
قم بتعديل $my_feature_branch وادفع التغييرات إلى مفترقك
قم بإنشاء [طلب سحب] من فرع $my_feature_branch الخاص بالفرع الخاص بك إلى فرع التطوير بالمشروع الرئيسي - انقر فوق مقارنة عبر الشوكات هنا، وحدد الشوكة والفرع المطلوبين لإنشاء العلاقات العامة
في انتظار المراجعة، تحتاج إلى مواصلة التحسين، أو الدمج!
عند إرسال الكود، يرجى الالتزام بالقواعد التالية لتحسين جودة الكود:
flake8
في الدليل الجذر للمشروع. معهد ماساتشوستس للتكنولوجيا