الميزات التي تم إصدارها مؤخرا
يسعدنا أن نعلن عن إطلاق RD-Agent ?، وهي أداة قوية تدعم التنقيب الآلي للعوامل وتحسين النماذج في البحث والتطوير في مجال الاستثمار الكمي.
RD-Agent متوفر الآن على GitHub، ونحن نرحب بنجمك؟!
لمعرفة المزيد، يرجى زيارة صفحتنا ♾️Demo. ستجد هنا مقاطع فيديو توضيحية باللغتين الإنجليزية والصينية لمساعدتك على فهم سيناريو واستخدام RD-Agent بشكل أفضل.
لقد قمنا بإعداد العديد من مقاطع الفيديو التوضيحية لك:
سيناريو | فيديو تجريبي (باللغة الإنجليزية) | فيديو تجريبي (中文) |
---|---|---|
عامل التعدين الكمي | وصلة | وصلة |
عامل التعدين الكمي من التقارير | وصلة | وصلة |
تحسين النموذج الكمي | وصلة | وصلة |
ميزة | حالة |
---|---|
BPQP للتعلم الشامل | ?قريبا!(تحت المراجعة) |
مصنع السيارات الكمي الذي يحركه LLM | تم إصداره في ♾️RD-Agent في 8 أغسطس 2024 |
نماذج KRNN وساندويتش | ؟ تم إصداره في 26 مايو 2023 |
الافراج عن Qlib v0.9.0 | تم الإصدار في 9 ديسمبر 2022 |
إطار التعلم RL | ؟ ؟ تم الإصدار في 10 نوفمبر 2022. #1332، #1322، #1316،#1299،#1263، #1244، #1169، #1125، #1076 |
نماذج HIST و IGMTF | ؟ تم الإصدار في 10 أبريل 2022 |
دروس دفتر Qlib | تم الإصدار في 7 أبريل 2022 |
بيانات مؤشر إيبوفيسبا | ؟ تم الإصدار في 6 أبريل 2022 |
قاعدة بيانات نقطة في الوقت المناسب | ؟ تم الإصدار في 10 مارس 2022 |
مثال على بيانات الواجهة الخلفية لموفر القطب الشمالي وسجل الطلبات | ؟ تم الإصدار في 17 يناير 2022 |
الإطار القائم على التعلم التلوي وDDG-DA | ؟ ؟ تم الإصدار في 10 يناير 2022 |
تحسين المحفظة على أساس التخطيط | ؟ تم إصداره في 28 ديسمبر 2021 |
الافراج عن Qlib v0.8.0 | تم إصداره في 8 ديسمبر 2021 |
إضافة نموذج | ؟ تم الإصدار في 22 نوفمبر 2021 |
نموذج أدارن | ؟ تم الإصدار في 14 نوفمبر 2021 |
نموذج تي سي إن | ؟ تم الإصدار في 4 نوفمبر 2021 |
إطار القرار المتداخل | ؟ تم إصداره في 1 أكتوبر 2021. المثال والمستند |
محول التوجيه الزمني (TRA) | ؟ تم إصداره في 30 يوليو 2021 |
محول و Localformer | ؟ تم إصداره في 22 يوليو 2021 |
الافراج عن Qlib v0.7.0 | تم إصداره في 12 يوليو 2021 |
نموذج TCTS | ؟ تم إصداره في 1 يوليو 2021 |
التقديم عبر الإنترنت وتداول النماذج تلقائيًا | ؟ تم إصداره في 17 مايو 2021 |
نموذج المجموعة المزدوجة | ؟ تم إصداره في 2 مارس 2021 |
مثال على معالجة البيانات عالية التردد | ؟ تم الإصدار في 5 فبراير 2021 |
مثال على التداول عالي التردد | ؟ تم إصدار جزء من الكود في 28 يناير 2021 |
بيانات عالية التردد (1 دقيقة) | ؟ تم إصداره في 27 يناير 2021 |
موديل تاب نت | ؟ تم إصداره في 22 يناير 2021 |
الميزات التي تم إصدارها قبل عام 2021 غير مدرجة هنا.
Qlib عبارة عن منصة استثمار كمي مفتوحة المصدر وموجهة نحو الذكاء الاصطناعي تهدف إلى تحقيق الإمكانات وتمكين البحث وخلق قيمة باستخدام تقنيات الذكاء الاصطناعي في الاستثمار الكمي، بدءًا من استكشاف الأفكار وحتى تنفيذ المنتجات. يدعم Qlib نماذج متنوعة لنمذجة التعلم الآلي، بما في ذلك التعلم الخاضع للإشراف، ونمذجة ديناميكيات السوق، والتعلم المعزز.
يتم إصدار عدد متزايد من الأعمال/الأوراق البحثية لـ SOTA Quant في نماذج متنوعة في Qlib لحل التحديات الرئيسية في الاستثمار الكمي بشكل تعاوني. على سبيل المثال، 1) استخدام التعلم الخاضع للإشراف لاستخراج أنماط السوق غير الخطية المعقدة من البيانات المالية الغنية وغير المتجانسة، 2) نمذجة الطبيعة الديناميكية للسوق المالية باستخدام تقنية انجراف المفاهيم التكيفية، و3) استخدام التعلم المعزز لنمذجة الاستثمار المستمر اتخاذ القرارات ومساعدة المستثمرين في تحسين استراتيجيات التداول الخاصة بهم.
أنه يحتوي على خط ML الكامل لمعالجة البيانات، والتدريب النموذجي، والاختبار الخلفي؛ ويغطي السلسلة الكاملة للاستثمار الكمي: البحث عن ألفا، ونمذجة المخاطر، وتحسين المحفظة، وتنفيذ الأوامر. لمزيد من التفاصيل، يرجى الرجوع إلى ورقتنا البحثية "Qlib: منصة استثمار كمي موجهة نحو الذكاء الاصطناعي".
الأطر والبرامج التعليمية والبيانات وDevOps | التحديات والحلول الرئيسية في البحوث الكمية |
---|---|
|
|
ميزات جديدة قيد التطوير (الترتيب حسب وقت الإصدار المقدر). تعليقاتك حول الميزات مهمة جدًا.
يمكن العثور على إطار العمل عالي المستوى لـ Qlib أعلاه (يمكن للمستخدمين العثور على الإطار التفصيلي لتصميم Qlib عند الدخول في التفاصيل الجوهرية). تم تصميم المكونات كوحدات منفصلة، ويمكن استخدام كل مكون بشكل مستقل.
يوفر Qlib بنية تحتية قوية لدعم الأبحاث الكمية. البيانات هي دائما جزء مهم. تم تصميم إطار تعليمي قوي لدعم نماذج التعلم المتنوعة (مثل التعلم المعزز والتعلم الخاضع للإشراف) والأنماط على مستويات مختلفة (مثل النمذجة الديناميكية للسوق). من خلال نمذجة السوق، ستولد استراتيجيات التداول قرارات تجارية سيتم تنفيذها. يمكن دمج استراتيجيات التداول المتعددة والمنفذين في مستويات أو تفاصيل مختلفة لتحسينها وتشغيلها معًا. أخيرًا، سيتم توفير تحليل شامل ويمكن تقديم النموذج عبر الإنترنت بتكلفة منخفضة.
يحاول دليل البدء السريع هذا توضيح ذلك
فيما يلي عرض توضيحي سريع يوضح كيفية تثبيت Qlib
وتشغيل LightGBM باستخدام qrun
. ولكن ، يرجى التأكد من أنك قمت بالفعل بإعداد البيانات باتباع التعليمات.
يوضح هذا الجدول إصدار Python المدعوم من Qlib
:
تثبيت مع النقطة | تثبيت من المصدر | حبكة | |
---|---|---|---|
بايثون 3.7 | ✔️ | ✔️ | ✔️ |
بايثون 3.8 | ✔️ | ✔️ | ✔️ |
بايثون 3.9 | ✔️ |
ملحوظة :
conda
إلى فقدان ملفات الرأس، مما يتسبب في فشل تثبيت حزم معينة.Qlib
من المصدر. إذا كان المستخدمون يستخدمون Python 3.6 على أجهزتهم، فمن المستحسن ترقية Python إلى الإصدار 3.7 أو استخدام conda
's Python لتثبيت Qlib
من المصدر.Qlib
تشغيل سير العمل مثل نماذج التدريب وإجراء الاختبار الخلفي ورسم معظم الأرقام ذات الصلة (تلك المدرجة في دفتر الملاحظات). ومع ذلك، فإن التخطيط لأداء النموذج غير مدعوم في الوقت الحالي وسنقوم بإصلاح ذلك عند ترقية الحزم التابعة في المستقبل.Qlib
حزمة tables
، ولا يدعم hdf5
في الجداول python3.9. يمكن للمستخدمين بسهولة تثبيت Qlib
عن طريق النقطة وفقًا للأمر التالي.
pip install pyqlib
ملاحظة : ستقوم النقطة بتثبيت أحدث إصدار مستقر من qlib. ومع ذلك، فإن الفرع الرئيسي لـ Qlib قيد التطوير النشط. إذا كنت ترغب في اختبار أحدث البرامج النصية أو الوظائف في الفرع الرئيسي. الرجاء تثبيت qlib بالطرق الموضحة أدناه.
كما يمكن للمستخدمين تثبيت أحدث إصدار مطور Qlib
بواسطة الكود المصدري وفقًا للخطوات التالية:
قبل تثبيت Qlib
من المصدر، يحتاج المستخدمون إلى تثبيت بعض التبعيات:
pip install numpy
pip install --upgrade cython
قم باستنساخ المستودع وتثبيت Qlib
على النحو التالي.
git clone https://github.com/microsoft/qlib.git && cd qlib
pip install . # `pip install -e .[dev]` is recommended for development. check details in docs/developer/code_standard_and_dev_guide.rst
ملاحظة : يمكنك تثبيت Qlib مع python setup.py install
أيضًا. ولكن هذا ليس هو النهج الموصى به. سوف يتخطى pip
ويسبب مشاكل غامضة. على سبيل المثال، فقط الأمر pip install .
يمكن الكتابة فوق الإصدار الثابت المثبت بواسطة pip install pyqlib
، بينما لا يستطيع الأمر python setup.py install
.
نصائح : إذا فشلت في تثبيت Qlib
أو تشغيل الأمثلة في بيئتك، فقد تساعدك مقارنة خطواتك وسير عمل CI في العثور على المشكلة.
نصائح لنظام التشغيل Mac : إذا كنت تستخدم جهاز Mac مع M1، فقد تواجه مشكلات في إنشاء العجلة لـ LightGBM، وذلك بسبب فقدان التبعيات من OpenMP. لحل المشكلة، قم بتثبيت openmp أولاً باستخدام brew install libomp
ثم قم بتشغيل pip install .
لبنائه بنجاح.
❗ بسبب سياسة أمن البيانات الأكثر تقييدًا. تم تعطيل مجموعة البيانات الرسمية مؤقتًا. يمكنك تجربة مصدر البيانات هذا الذي ساهم به المجتمع. فيما يلي مثال لتنزيل البيانات المحدثة على 20240809.
wget https://github.com/chenditc/investment_data/releases/download/2024-08-09/qlib_bin.tar.gz
mkdir -p ~ /.qlib/qlib_data/cn_data
tar -zxvf qlib_bin.tar.gz -C ~ /.qlib/qlib_data/cn_data --strip-components=1
rm -f qlib_bin.tar.gz
سيتم استئناف مجموعة البيانات الرسمية أدناه في المستقبل القريب.
قم بتحميل البيانات وإعدادها عن طريق تشغيل الكود التالي:
# get 1d data
python -m qlib.run.get_data qlib_data --target_dir ~ /.qlib/qlib_data/cn_data --region cn
# get 1min data
python -m qlib.run.get_data qlib_data --target_dir ~ /.qlib/qlib_data/cn_data_1min --region cn --interval 1min
# get 1d data
python scripts/get_data.py qlib_data --target_dir ~ /.qlib/qlib_data/cn_data --region cn
# get 1min data
python scripts/get_data.py qlib_data --target_dir ~ /.qlib/qlib_data/cn_data_1min --region cn --interval 1min
يتم إنشاء مجموعة البيانات هذه من خلال البيانات العامة التي تم جمعها بواسطة البرامج النصية للزاحف، والتي تم إصدارها في نفس المستودع. يمكن للمستخدمين إنشاء نفس مجموعة البيانات معها. وصف مجموعة البيانات
يرجى الانتباه إلى أنه يتم جمع البيانات من Yahoo Finance، وقد لا تكون البيانات مثالية. نوصي المستخدمين بإعداد بياناتهم الخاصة إذا كان لديهم مجموعة بيانات عالية الجودة. لمزيد من المعلومات، يمكن للمستخدمين الرجوع إلى الوثيقة ذات الصلة .
هذه الخطوة اختيارية إذا كان المستخدمون يريدون فقط تجربة نماذجهم واستراتيجياتهم على بيانات السجل.
يوصى بأن يقوم المستخدمون بتحديث البيانات يدويًا مرة واحدة (-trading_date 2021-05-25) ثم ضبطها للتحديث تلقائيًا.
ملاحظة : لا يمكن للمستخدمين تحديث البيانات بشكل تدريجي بناءً على البيانات غير المتصلة بالإنترنت التي توفرها Qlib (تتم إزالة بعض الحقول لتقليل حجم البيانات). يجب على المستخدمين استخدام yahoo Collector لتنزيل بيانات Yahoo من البداية ثم تحديثها تدريجيًا.
لمزيد من المعلومات، يرجى الرجوع إلى: جامع ياهو
التحديث التلقائي للبيانات إلى دليل "qlib" كل يوم تداول (لينكس)
استخدم crontab : crontab -e
إعداد المهام المحددة بوقت:
* * * * 1-5 python <script path> update_data_to_bin --qlib_data_1d_dir <user data dir>
التحديث اليدوي للبيانات
python scripts/data_collector/yahoo/collector.py update_data_to_bin --qlib_data_1d_dir <user data dir> --trading_date <start date> --end_date <end date>
docker pull pyqlib/qlib_image_stable:stable
docker run -it --name < container name > -v < Mounted local directory > :/app qlib_image_stable
>>> python scripts/get_data.py qlib_data --name qlib_data_simple --target_dir ~ /.qlib/qlib_data/cn_data --interval 1d --region cn
>>> python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
>>> exit
docker start -i -a < container name >
docker stop < container name >
docker rm < container name >
يوفر Qlib أداة تسمى qrun
لتشغيل سير العمل بالكامل تلقائيًا (بما في ذلك إنشاء مجموعة البيانات ونماذج التدريب والاختبار الخلفي والتقييم). يمكنك بدء سير عمل البحث الكمي التلقائي وإجراء تحليل للتقارير الرسومية وفقًا للخطوات التالية:
سير عمل البحث الكمي: قم بتشغيل qrun
باستخدام تكوين سير عمل lightgbm (workflow_config_lightgbm_Alpha158.yaml على النحو التالي.
cd examples # Avoid running program under the directory contains `qlib`
qrun benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
إذا أراد المستخدمون استخدام qrun
في وضع التصحيح، فيرجى استخدام الأمر التالي:
python -m pdb qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
نتيجة qrun
هي كما يلي، يرجى الرجوع إلى التداول اليومي لمزيد من التفاصيل حول النتيجة.
' The following are analysis results of the excess return without cost. '
risk
mean 0.000708
std 0.005626
annualized_return 0.178316
information_ratio 1.996555
max_drawdown -0.081806
' The following are analysis results of the excess return with cost. '
risk
mean 0.000512
std 0.005626
annualized_return 0.128982
information_ratio 1.444287
max_drawdown -0.091078
فيما يلي وثائق مفصلة عن qrun
وسير العمل.
تحليل التقارير الرسومية: قم بتشغيل examples/workflow_by_code.ipynb
باستخدام jupyter notebook
للحصول على تقارير رسومية
تحليل إشارة التنبؤ (نموذج التنبؤ).
تحليل المحفظة
شرح النتائج المذكورة أعلاه
قد لا يتناسب سير العمل التلقائي مع سير العمل البحثي لجميع الباحثين في Quant. لدعم سير عمل بحث Quant المرن، يوفر Qlib أيضًا واجهة معيارية للسماح للباحثين ببناء سير العمل الخاص بهم عن طريق التعليمات البرمجية. فيما يلي عرض توضيحي لسير عمل بحث Quant المخصص حسب التعليمات البرمجية.
يعد الاستثمار الكمي سيناريو فريدًا للغاية مع وجود الكثير من التحديات الرئيسية التي يتعين حلها. حاليًا، يوفر Qlib بعض الحلول للعديد منها.
يعد التنبؤ الدقيق لاتجاه أسعار الأسهم جزءًا مهمًا جدًا لبناء محافظ استثمارية مربحة. ومع ذلك، هناك كمية هائلة من البيانات ذات التنسيقات المختلفة في السوق المالية مما يجعل من الصعب بناء نماذج التنبؤ.
يتم إصدار عدد متزايد من الأعمال/الأوراق البحثية الخاصة بـ SOTA Quant، والتي تركز على بناء نماذج التنبؤ لاستخراج الإشارات/الأنماط القيمة في البيانات المالية المعقدة، في Qlib
فيما يلي قائمة بالنماذج المبنية على Qlib
.
نرحب بشدة بالعلاقات العامة الخاصة بك لنماذج Quant الجديدة.
يمكن العثور على أداء كل نموذج في مجموعات البيانات Alpha158
و Alpha360
هنا.
جميع النماذج المذكورة أعلاه قابلة للتشغيل باستخدام Qlib
. يمكن للمستخدمين العثور على ملفات التكوين التي نقدمها وبعض التفاصيل حول النموذج من خلال مجلد المعايير. يمكن الحصول على مزيد من المعلومات من ملفات النماذج المذكورة أعلاه.
يوفر Qlib
ثلاث طرق مختلفة لتشغيل نموذج واحد، ويمكن للمستخدمين اختيار النموذج الذي يناسب حالاتهم بشكل أفضل:
يمكن للمستخدمين استخدام الأداة qrun
المذكورة أعلاه لتشغيل سير عمل النموذج بناءً على ملف التكوين.
يمكن للمستخدمين إنشاء برنامج نصي بيثون workflow_by_code
بناءً على البرنامج المدرج في مجلد examples
.
يمكن للمستخدمين استخدام البرنامج النصي run_all_model.py
المدرج في مجلد examples
لتشغيل النموذج. فيما يلي مثال لأمر Shell المحدد الذي سيتم استخدامه: python run_all_model.py run --models=lightgbm
، حيث يمكن للوسائط --models
أن تأخذ أي عدد من النماذج المذكورة أعلاه (يمكن العثور على النماذج المتاحة في المعايير). لمزيد من حالات الاستخدام، يرجى الرجوع إلى مستندات الملف.
tensorflow==1.15.0
) يوفر Qlib
أيضًا برنامجًا نصيًا run_all_model.py
يمكنه تشغيل نماذج متعددة لعدة تكرارات. ( ملاحظة : يدعم البرنامج النصي Linux فقط في الوقت الحالي. وسيتم دعم أنظمة تشغيل أخرى في المستقبل. علاوة على ذلك، فهو لا يدعم التشغيل المتوازي لنفس النموذج لعدة مرات أيضًا، وسيتم إصلاح هذا في التطوير المستقبلي أيضًا.)
سيقوم البرنامج النصي بإنشاء بيئة افتراضية فريدة لكل نموذج، وحذف البيئات بعد التدريب. وبالتالي، سيتم إنشاء وتخزين نتائج التجربة فقط مثل نتائج IC
ونتائج backtest
.
فيما يلي مثال لتشغيل كافة النماذج لمدة 10 تكرارات:
python run_all_model . py run 10
كما يوفر أيضًا واجهة برمجة التطبيقات (API) لتشغيل نماذج محددة مرة واحدة. لمزيد من حالات الاستخدام، يرجى الرجوع إلى مستندات الملف.
ونظرًا للطبيعة غير الثابتة لبيئة السوق المالية، فقد يتغير توزيع البيانات في فترات مختلفة، مما يجعل أداء النماذج المبنية على بيانات التدريب يتحلل في بيانات الاختبار المستقبلية. لذا فإن تكييف نماذج/استراتيجيات التنبؤ مع ديناميكيات السوق يعد أمرًا مهمًا للغاية لأداء النموذج/الاستراتيجيات.
فيما يلي قائمة بالحلول المبنية على Qlib
.
يدعم Qlib الآن التعلم المعزز، وهي ميزة مصممة لنموذج قرارات الاستثمار المستمرة. تساعد هذه الوظيفة المستثمرين في تحسين استراتيجيات التداول الخاصة بهم من خلال التعلم من التفاعلات مع البيئة لتعظيم فكرة المكافأة التراكمية.
فيما يلي قائمة بالحلول المبنية على Qlib
مصنفة حسب السيناريوهات.
وهنا مقدمة لهذا السيناريو. تتم مقارنة جميع الطرق أدناه هنا.
تلعب مجموعة البيانات دورًا مهمًا جدًا في Quant. فيما يلي قائمة بمجموعات البيانات المبنية على Qlib
:
مجموعة البيانات | سوق الولايات المتحدة | سوق الصين |
---|---|---|
ألفا 360 | √ | √ |
ألفا158 | √ | √ |
فيما يلي برنامج تعليمي لإنشاء مجموعة بيانات باستخدام Qlib
. نرحب بشدة بالعلاقات العامة الخاصة بك لإنشاء مجموعة بيانات كمية جديدة.
Qlib قابل للتخصيص بشكل كبير والكثير من مكوناته قابلة للتعلم. المكونات القابلة للتعلم هي أمثلة Forecast Model
Trading Agent
. يتم تعلمها بناءً على طبقة Learning Framework
ثم يتم تطبيقها على سيناريوهات متعددة في طبقة Workflow
. يعمل إطار التعلم على تعزيز طبقة Workflow
أيضًا (على سبيل المثال، مشاركة Information Extractor
، وإنشاء بيئات تعتمد على Execution Env
).
بناءً على نماذج التعلم، يمكن تصنيفها إلى التعلم المعزز والتعلم الخاضع للإشراف.
Execution Env
في طبقة Workflow
لإنشاء البيئات. تجدر الإشارة إلى أن NestedExecutor
مدعوم أيضًا. وهذا يمكّن المستخدمين من تحسين مستويات مختلفة من الاستراتيجيات/النماذج/الوكلاء معًا (على سبيل المثال، تحسين إستراتيجية تنفيذ الطلب لاستراتيجية محددة لإدارة المحفظة).إذا كنت تريد إلقاء نظرة سريعة على مكونات qlib الأكثر استخدامًا، فيمكنك تجربة أجهزة الكمبيوتر المحمولة هنا.
يتم تنظيم الوثائق التفصيلية في المستندات. مطلوب موضوع Sphinx وreadthedocs لإنشاء الوثائق بتنسيقات html.
cd docs/
conda install sphinx sphinx_rtd_theme -y
# Otherwise, you can install them with pip
# pip install sphinx sphinx_rtd_theme
make html
يمكنك أيضًا عرض أحدث مستند عبر الإنترنت مباشرةً.
Qlib في تطور نشط ومستمر. خطتنا موجودة في خريطة الطريق، والتي تتم إدارتها كمشروع جيثب.
يمكن نشر خادم بيانات Qlib إما في وضع Offline
أو في وضع Online
. الوضع الافتراضي هو وضع غير متصل بالشبكة.
ضمن وضع Offline
، سيتم نشر البيانات محليًا.
ضمن الوضع Online
، سيتم نشر البيانات كخدمة بيانات مشتركة. سيتم مشاركة البيانات وذاكرة التخزين المؤقت الخاصة بها من قبل جميع العملاء. من المتوقع أن يتم تحسين أداء استرداد البيانات بسبب ارتفاع معدل زيارات ذاكرة التخزين المؤقت. سوف يستهلك مساحة أقل على القرص أيضًا. يمكن العثور على مستندات الوضع عبر الإنترنت في Qlib-Server. يمكن نشر الوضع عبر الإنترنت تلقائيًا باستخدام البرامج النصية المستندة إلى Azure CLI. يمكن العثور على الكود المصدري لخادم البيانات عبر الإنترنت في مستودع Qlib-Server.
يعد أداء معالجة البيانات أمرًا مهمًا للطرق المعتمدة على البيانات مثل تقنيات الذكاء الاصطناعي. باعتبارها منصة موجهة نحو الذكاء الاصطناعي، توفر Qlib حلاً لتخزين البيانات ومعالجتها. لتوضيح أداء خادم بيانات Qlib، قمنا بمقارنته مع العديد من حلول تخزين البيانات الأخرى.
نقوم بتقييم أداء العديد من حلول التخزين من خلال إنهاء نفس المهمة، مما يؤدي إلى إنشاء مجموعة بيانات (14 ميزة/عامل) من بيانات OHLCV اليومية الأساسية لسوق الأوراق المالية (800 سهم كل يوم من 2007 إلى 2020). تتضمن المهمة استعلامات البيانات ومعالجتها.
HDF5 | ماي إس كيو إل | MongoDB | InfluxDB | كليب -E -D | كليب +E -D | كليب +E +D | |
---|---|---|---|---|---|---|---|
الإجمالي (1CPU) (بالثواني) | 184.4 ± 3.7 | 365.3±7.5 | 253.6±6.7 | 368.2 ± 3.6 | 147.0±8.8 | 47.6±1.0 | 7.4±0.3 |
الإجمالي (64 وحدة المعالجة المركزية) (بالثواني) | 8.8 ± 0.6 | 4.2 ± 0.2 |
+(-)E
يشير إلى (خارج) ExpressionCache
+(-)D
يشير إلى (خارج) DatasetCache
تستغرق معظم قواعد البيانات ذات الأغراض العامة الكثير من الوقت لتحميل البيانات. بعد النظر في التنفيذ الأساسي، نجد أن البيانات تمر عبر طبقات كثيرة جدًا من الواجهات وتحويلات التنسيق غير الضرورية في حلول قواعد البيانات للأغراض العامة. تؤدي مثل هذه النفقات العامة إلى إبطاء عملية تحميل البيانات بشكل كبير. يتم تخزين بيانات Qlib بتنسيق مضغوط، وهو أمر فعال ليتم دمجه في صفائف للحساب العلمي.
Qlib
، يرجى إنشاء طلبات السحب.انضم إلى مجموعات مناقشة المراسلة الفورية:
ثرثرة |
---|
نحن نقدر جميع المساهمات ونشكر جميع المساهمين!
قبل أن نصدر Qlib كمشروع مفتوح المصدر على Github في سبتمبر 2020، كان Qlib مشروعًا داخليًا في مجموعتنا. لسوء الحظ، لا يتم الاحتفاظ بسجل الالتزام الداخلي. كما ساهم الكثير من الأعضاء في مجموعتنا أيضًا كثيرًا في Qlib، بما في ذلك Ruihua Wang وYinda Zhang وHaisu Yu وShuyu Wang وBochen Pang وDong Zhou. شكرًا بشكل خاص لـ Dong Zhou نظرًا لنسخته الأولية من Qlib.
يرحب هذا المشروع بالمساهمات والاقتراحات.
فيما يلي بعض معايير التعليمات البرمجية وإرشادات التطوير لإرسال طلب السحب.
إن تقديم المساهمات ليس بالأمر الصعب. يعد حل مشكلة (ربما مجرد الإجابة على سؤال تم طرحه في قائمة المشكلات أو المشكلة)، وإصلاح/إصدار خطأ، وتحسين المستندات، وحتى إصلاح الخطأ المطبعي، من المساهمات المهمة في Qlib.
على سبيل المثال، إذا كنت تريد المساهمة في مستند/رمز Qlib، فيمكنك اتباع الخطوات الموضحة في الشكل أدناه.
إذا كنت لا تعرف كيفية البدء في المساهمة، يمكنك الرجوع إلى الأمثلة التالية.
يكتب | أمثلة |
---|---|
حل القضايا | أجب عن سؤال؛ إصدار أو إصلاح الخلل |
المستندات | تحسين جودة المستندات؛ إصلاح الخطأ المطبعي |
ميزة | تنفيذ ميزة مطلوبة مثل هذا؛ واجهات إعادة البناء |
مجموعة البيانات | أضف مجموعة بيانات |
نماذج | تنفيذ نموذج جديد، بعض التعليمات للمساهمة في النماذج |
يتم تصنيف الإصدارات الأولى الجيدة للإشارة إلى أنه من السهل بدء مساهماتك.
يمكنك العثور على بعض التنفيذ غير الكامل في Qlib بواسطة rg 'TODO|FIXME' qlib
إذا كنت ترغب في أن تصبح أحد المشرفين على Qlib للمساهمة بشكل أكبر (على سبيل المثال، المساعدة في دمج العلاقات العامة، ومشكلات الفرز)، يرجى الاتصال بنا عبر البريد الإلكتروني ([email protected]). نحن سعداء للمساعدة في ترقية إذنك.
تتطلب معظم المساهمات منك الموافقة على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق في منحنا الحق في استخدام مساهمتك، وهو ما تفعله بالفعل. للحصول على التفاصيل، تفضل بزيارة https://cla.opensource.microsoft.com.
عند إرسال طلب سحب، سيحدد روبوت CLA تلقائيًا ما إذا كنت بحاجة إلى تقديم CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال، التحقق من الحالة، والتعليق). ما عليك سوى اتباع التعليمات التي يقدمها لك الروبوت. سوف تحتاج إلى القيام بذلك مرة واحدة فقط عبر جميع اتفاقيات إعادة الشراء باستخدام CLA الخاصة بنا.
اعتمد هذا المشروع قواعد السلوك الخاصة بشركة Microsoft مفتوحة المصدر. لمزيد من المعلومات، راجع الأسئلة الشائعة حول قواعد السلوك أو اتصل بـ [email protected] لطرح أي أسئلة أو تعليقات إضافية.