تحليل محفظة استثمارية متقدمة وذكاء السوق باستخدام مكتبة OpenBB

هذا البرنامج التعليمي يُغطّسُكَ في عمق قدرات OpenBB المتقدمة لإجراء تحليل شامل للمحفظة الاستثمارية وذكاء السوق. سنبدأ ببناء محفظة مُركّزة على قطاع التكنولوجيا، وجلب بيانات السوق التاريخية، وحساب مقاييس الأداء الرئيسية. ثم نستكشف المؤشرات الفنية المتقدمة، وأداء القطاعات، ومشاعر السوق، وتحليل المخاطر القائم على الارتباط. على طول الطريق، سنُدمج المُصوّرات والرؤى لجعل التحليل أكثر سهولة وفائدة، مع ضمان تغطية كل من الجوانب الكمية والنوعية لاتخاذ قرارات الاستثمار.

1. بناء وتحليل محفظة تكنولوجيا

سنبدأ بتثبيت واستيراد OpenBB بالإضافة إلى مكتبات بايثون الأساسية لتحليل البيانات والتصور. سنقوم بتكوين بيئتنا لقمع التحذيرات، وتعيين خيارات العرض لـ pandas، والتحضير لإجراء تحليل مالي متقدم.

pip install openbb[all] --quiet
import warnings
warnings.filterwarnings('ignore')
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime, timedelta
import openbb
from openbb import obb
pd.set_option('display.max_columns', None)
pd.set_option('display.width', 1000)
print(" Advanced OpenBB Financial Analysis Tutorial")
print("=" * 60)

سنقوم ببناء محفظة استثمارية مكوّنة من أسهم شركات تكنولوجيا رئيسية:

tech_stocks = ['AAPL', 'GOOGL', 'MSFT', 'TSLA', 'NVDA']
initial_weights = [0.25, 0.20, 0.25, 0.15, 0.15]
end_date = datetime.now().strftime('%Y-%m-%d')
start_date = (datetime.now() - timedelta(days=365)).strftime('%Y-%m-%d')
portfolio_data = {}
portfolio_returns = pd.DataFrame()
successful_stocks = []
print(f"Fetching data from {start_date} to {end_date}...")
# ... (باقي الكود لجمع البيانات وحساب الأوزان) ...

بعد جلب البيانات التاريخية لأسعار الإغلاق، سنحسب العوائد اليومية والأوزان المُعاد تطبيعها.

2. تحليل أداء المحفظة

بعد بناء المحفظة وجلب البيانات، سنقوم بتحليل أدائها من خلال حساب العائد السنوي، والتقلب، ونسبة شارب، وأقصى انخفاض.

# ... (الكود لحساب العائد السنوي، والتقلب، ونسبة شارب، وأقصى انخفاض) ...
print(f"Portfolio Annual Return: {annual_return:.2%}")
print(f"Portfolio Volatility: {annual_volatility:.2%}")
print(f"Sharpe Ratio: {sharpe_ratio:.3f}")
print(f"Max Drawdown: {max_drawdown:.2%}")

سنعرض أيضًا أداء كل سهم على حدة من حيث العائد والتقلب.

3. التحليل الفني المتقدم

سنقوم بتطبيق تحليل فني متقدم على سهم NVDA، بما في ذلك حساب المتوسطات المتحركة البسيطة (SMA)، والمتوسطات المتحركة الأُسية (EMA)، ومؤشر التقارب والتباعد (MACD)، ومؤشر القوة النسبية (RSI)، وفرق بولنجر.

# ... (الكود لحساب المؤشرات الفنية) ...
print(f"n{symbol} Technical Analysis:")
print(f"Current Price: ${current_price:.2f}")
print(f"RSI (14): {current_rsi:.2f} ({'Overbought' if current_rsi > 70 else 'Oversold' if current_rsi < 30 else 'Neutral'})")
print(f"MACD Signal: {macd_signal}")
print(f"Price vs SMA(20): {price_vs_sma20}")

هذا سيساعدنا في تقييم زخم السهم وإشارات الدخول والخروج المحتملة.

4. تحليل القطاعات وفرز الأسهم

سنقوم بتحليل أداء قطاعات مختلفة مثل التكنولوجيا، والسيارات الكهربائية، وشبه الموصلات، من خلال حساب العائد السنوي المُعدّل لكل قطاع.

# ... (الكود لتحليل أداء القطاعات) ...
print(f"{sector_name}: {avg_return:.2%} average annual return")

5. تحليل مشاعر السوق

سنحصل على عناوين الأخبار الأخيرة للشركات من أجل تضمين مشاعر السوق في تحليلنا.

# ... (الكود لجلب عناوين الأخبار) ...
print(f"n{symbol} Recent News Headlines:")
for idx, row in news_df.iterrows():
    print(f"• {row.get('title', 'N/A')[:80]}...")
    break

6. تحليل المخاطر

سنحسب مصفوفة الارتباط بين الأسهم في المحفظة، بالإضافة إلى حساب مخاطر المحفظة (التقلب).

# ... (الكود لحساب مصفوفة الارتباط ومخاطر المحفظة) ...
print(f"nPortfolio Risk (Volatility): {portfolio_risk:.2%}")

7. إنشاء تصورات للأداء

سنقوم بإنشاء تصورات مرئية لأداء المحفظة، بما في ذلك العوائد التراكمية، والتقلب المُتحرّك، وتوزيع العوائد، ومصفوفة الارتباط.

# ... (الكود لإنشاء التصورات) ...
plt.show()

8. ملخص الاستثمار والتوصيات

سنختتم بتحديد أفضل وأسوأ أداء بين الأسهم، بالإضافة إلى رؤى رئيسية وتوصيات بخطوات مُستقبلية.

# ... (الكود لملخص الاستثمار والتوصيات) ...

هذا البرنامج التعليمي يُظهر كيف يمكن استخدام OpenBB لبناء، وتحليل، وتصور محفظة مُتنوّعة، مع استخراج رؤى قطاعية، وإشارات فنية، ومقاييس للمخاطر. يُمكننا دمج الإحصائيات مع مشاعر السوق والتصورات المتقدمة لاتخاذ قرارات استثمارية مُستنيرة.

المصدر: MarkTechPost