عن المشروع
محرك أبحاث جانب البيع هو خط أنابيب بايثون مفتوح المصدر بالإضافة إلى لوحة تحكم ويب ثابتة تُؤتمت حلقة أساسية من أبحاث الأسهم. يسحب البيانات الأساسية المدققة من SEC EDGAR XBRL، والأسعار وتقديرات الإجماع من ياهو فاينانس (عبر yfinance)، وسند الخزانة لأجل سنتين من FRED، وزوج EUR/USD من البنك المركزي الأوروبي، ثم يفحص 21 سهماً أمريكياً ويقيّم أفضل 10. لا يتطلب أي مفاتيح API.
التغطية والمخرجات
- النطاق: 21 سهماً أمريكياً عبر 8 قطاعات، قابل للتكوين عبر DEFAULT_US_TICKERS في trg_workbench/config.py. تعرض لوحة التحكم أفضل 10 حسب درجة البحث، مع إعادة الترتيب عند كل تحديث؛ وتغطي المقارنات وخريطة العوامل الحرارية والمخططات المبعثرة جميع الأسهم الـ21.
- التقييم: DCF للتدفق النقدي الحر بسيناريوهات متحفظ/أساسي/متفائل مع توقعات متلاشية لخمس سنوات وقيمة نهائية بطريقة Gordon، وDCF العكسي (النمو الذي يعكسه السعر الحالي)، والدخل المتبقي ونسبة P/B المبررة للبنوك والوسطاء وشركات التأمين، وملعب كرة قدم للنطاقات، ومضاعفات الأقران.
- المخاطر: VaR وCVaR التاريخيان (95%، يوم واحد)، وتقلب 21D/63D، وبيتا مقابل مؤشر S&P 500، وSharpe، وSortino، وأقصى تراجع، ومصفوفة ارتباط.
- المعنويات والتمركز: مراجعات EPS، ومفاجآت الأرباح، واتجاه التوصيات، والمكشوف عليه من البيع، ونشاط المطلعين.
- القطاعات والاقتصاد الكلي: 10 صناديق قطاعية SPDR مقابل مؤشر S&P 500، وعرض التناوب، وقيم حية لـ10Y و2Y وأذون 3M وVIX وDXY وWTI وEUR/USD.
- المخرجات: dashboard_data.json للوحة التحكم، ومذكرة بحث HTML (قالب كحلي/ذهبي)، وPDF عبر WeasyPrint مع بديل HTML، ومذكرة Markdown، ومخططات PNG بدقة 150 DPI.
كيف يعمل
توفّر واجهة سطر أوامر (main_v2.py) أوامر fetch-all وbuild-report وbuild-all، مع خيارات --dry-run و--quiet و--formats. تُطبَّع البيانات تحت data/normalized، وتُصدَّر إلى dashboard_data.json، وتُعرض بواسطة index.html أحادي الملف يحمّل JSON وقت التشغيل. يشغّل سير عمل GitHub Actions العمل أيام الأسبوع عند الساعة 22:00 UTC، ويثبّت JSON فقط عند تغيّره، ويعيد تكامل Vercel Git النشر عند كل دفعة. كما يُدعم بناء من خطوتين (fetch-all ثم export_dashboard_data.py --skip-fetch).
ملاحظات منهجية
- وكيل FCF = صافي دخل SEC (بديل ياهو) × 0.80؛ يستخدم WACC بناء CAPM مع بيتا معدّلة بطريقة Blume ونسبة D/E ثابتة 0.30؛ والمعدل الخالي من المخاطر هو عائد سند الخزانة 10Y الحي مع بديل 5.3%.
- النمو افتراضياً هو نمو إيرادات الإجماع +سنة واحدة، مع النمو التاريخي كبديل، و5% عند غياب كليهما، محصوراً بين -20% و50%.
- التصنيفات آلية من ارتفاع السعر المستهدف بالإجماع: شراء فوق +10%، بيع تحت -10%، وإلا احتفاظ.
- تُكتب القيم المفقودة كـ null وتُعرض كـ n/a؛ تشمل الفجوات المعروفة تأخر FRED عن ياهو بيوم واحد وفجوات ياهو ليوم واحد أحياناً.
- تعليقات الإدارة هي استدلال بالكلمات المفتاحية على مرفقات أرباح SEC 8-K، وليست نموذجاً لغوياً كبيراً؛ وتظهر n/a على الموقع الحي لأن CI لا يملك نصوصاً مخزنة.
الإعداد والتخصيص
البدء السريع: استنسخ، ثم pip install -r requirements.txt (بايثون 3.12)، وشغّل python export_dashboard_data.py، ثم قدّم محلياً عبر python -m http.server 8000. يطلب SEC من مستخدمي API تفاصيل الاتصال عبر SEC_USER_AGENT. نسخة متفرعة مع استيراد Vercel تنشر نسخة شخصية؛ ويجب على النسخ المتفرعة الاحتفاظ بملف NOTICE وإسناد الفضل إلى المستودع الأصلي. تشمل نقاط التخصيص نطاق الرموز، وأوزان العوامل في build_research_dataset، وافتراضات DCF في valuation.py، وتراكبات المحللين عبر data/analyst_views.csv (تقارير v1 فقط). تغطي مجموعة pytest استخراج SEC XBRL، وتطبيع ECB، والفحص، ومدخلات DCF والسيناريوهات، وDCF العكسي، والدخل المتبقي، والمقارنات، ونوافذ العائد، وTTM/DuPont، والمعنويات، وتصدير JSON، واستخراج التعليقات، والقوالب والمخططات؛ ولا يوجد CI لـ pytest بعد.
المشروع مرخّص بموجب Apache 2.0 ويُقدَّم كأداة بحث وتعليم، وليس نصيحة استثمارية. تسرد خارطة الطريق أعمالاً مخططاً لها مثل ذكاء 10-K/10-Q، وDCF بطريقة مونت كارلو، ونطاقات المضاعفات التاريخية، ودرجات Piotroski وAltman، وصفحات Tearsheets، وتصدير PowerPoint، وDocker، وCI لـ pytest.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.