--- name: investment-analyst description: Comprehensive investment analysis for Dr. Wael — Turkish funds (Kuveyt Türk Portföy), forecasting with Prophet/ARIMA, portfolio optimization (PyPortfolioOpt), economic data (TCMB/World Bank/FRED/IMF), real estate (Avcılar tracking), crypto (CoinGecko), global markets (yfinance). Use for any investment decision, fund tracking, forecasting, or portfolio rebalancing. ---
Investment Analyst Skill
محلل استثماري متكامل لـ د. وائل القيشاوي. يجمع بين:
- 🏦 Kuveyt Türk Portföy live NAV tracking (9 صناديق)
- 🇹🇷 بيانات الاقتصاد التركي (TCMB)
- 🌍 بيانات اقتصاد عالمي (FRED, World Bank, IMF, OECD)
- 📈 forecasting (Prophet, ARIMA, GARCH)
- 💼 portfolio optimization (PyPortfolioOpt - Markowitz)
- 🏠 Avcılar real estate (sahibinden + endeksa)
- 💰 crypto (CoinGecko) + global stocks (yfinance)
Tools Available
Python Libraries Installed
| المكتبة | الاستخدام | |---|---| |tefas | Kuveyt Türk + كل الصناديق التركية NAV |
| prophet | time series forecasting (Facebook) |
| pypfopt (PyPortfolioOpt) | Markowitz mean-variance optimization |
| statsmodels | ARIMA, regression, econometrics |
| arch | GARCH volatility models |
| quantstats | performance analytics (Sharpe, Sortino, drawdown) |
| yfinance | global stocks, FX, commodities, indices |
| fmpsdk | Financial Modeling Prep (companies, earnings) |
| ta | technical indicators (RSI, MACD, Bollinger) |
| plotly | interactive charts |Free APIs (no payment)
- TEFAS — صناديق تركيا (
from tefas import Crawler) - TCMB — البنك المركزي التركي (
https://www.tcmb.gov.tr/kurlar/today.xml) - World Bank — مؤشرات عالمية (
https://api.worldbank.org/v2/) - IMF DataMapper — GDP/forecasts (
https://www.imf.org/external/datamapper/api/v1/) - FRED — اقتصاد أمريكي (
https://fred.stlouisfed.org/graph/fredgraph.csv?id=...) - CoinGecko — كريبتو (
https://api.coingecko.com/api/v3/) - OECD —
https://stats.oecd.org/SDMX-JSON/data/
Scripts Ready
scripts/kt_funds_tracker.py— يجلب NAV حي + يحسب عائد المحفظة المرجّح
Quick Commands
الحصول على NAV حي لمحفظة د. وائل:
bash
python3 /data/.openclaw/workspace/scripts/kt_funds_tracker.py
Output: memory/kt-funds-latest.md + .json
Forecast صندوق معين بـ Prophet:
python
from tefas import Crawler
from prophet import Prophet
import pandas as pd
from datetime import date, timedeltacrawler = Crawler()
df = crawler.fetch(
start=(date.today() - timedelta(days=730)).strftime("%Y-%m-%d"),
end=date.today().strftime("%Y-%m-%d"),
name="KPC" # أو أي كود آخر
)
df = df.sort_values("date")
pf_df = pd.DataFrame({"ds": pd.to_datetime(df["date"]), "y": df["price"]})
m = Prophet(daily_seasonality=False, weekly_seasonality=True, yearly_seasonality=True)
m.fit(pf_df)
future = m.make_future_dataframe(periods=90)
forecast = m.predict(future)
print(forecast"ds","yhat","yhat_lower","yhat_upper".tail(10))
Portfolio Optimization (Markowitz):
python
import pandas as pd
from pypfopt import EfficientFrontier, risk_models, expected_returns
from tefas import Crawler
from datetime import date, timedeltaCollect historical prices for multiple funds
codes = ["KTV","KDE","KZL","KTM","KCV","KSR","KPC","KTJ","KGM"]
crawler = Crawler()
dfs = []
for c in codes:
d = crawler.fetch(start=(date.today()-timedelta(days=730)).strftime("%Y-%m-%d"),
end=date.today().strftime("%Y-%m-%d"), name=c)
dfs.append(d.set_index("date")["price"].rename(c))
prices = pd.concat(dfs, axis=1).dropna()mu = expected_returns.mean_historical_return(prices)
S = risk_models.sample_cov(prices)
ef = EfficientFrontier(mu, S)
ef.add_constraint(lambda w: w >= 0.02) # min 2% per fund
weights = ef.max_sharpe() # or min_volatility()
cleaned = ef.clean_weights()
print(cleaned)
ef.portfolio_performance(verbose=True)
USD/TRY حي:
python
import requests, re
r = requests.get("https://www.tcmb.gov.tr/kurlar/today.xml", timeout=10)
m = re.search(r'Kod="USD".+?ForexBuying>([\d\.]+)<', r.text, re.S)
print(f"USD/TRY: {m.group(1)}")
تضخم تركيا تاريخي (World Bank):
python
import requests
r = requests.get("https://api.worldbank.org/v2/country/TR/indicator/FP.CPI.TOTL.ZG?format=json&date=2015:2024", timeout=10)
for item in r.json()[1]:
print(f"{item['date']}: {item['value']}%")
Workflows
Workflow 1: Weekly Portfolio Health Check (الإثنين 08:00 الكويت)
1. Runkt_funds_tracker.py → latest NAV
2. Compare with last week's snapshot
3. Highlight changes > ±5%
4. Calculate USD-adjusted return using TCMB USD/TRY
5. Add to weekly_report outputWorkflow 2: Forecast Before Investment
1. Get 2-year history of target fund via TEFAS 2. Run Prophet for 90-day forecast 3. Run ARIMA for comparison 4. Calculate GARCH volatility forecast 5. Compute Sharpe ratio (vs short-term sukuk benchmark KTV) 6. Decide: Buy / Hold / SkipWorkflow 3: Rebalancing Check (كل 3 شهور)
1. Get current NAVs + compute current portfolio weights 2. Compare with target weights 3. If any drift > 5% → suggest rebalance 4. Run PyPortfolioOpt optimization on latest data 5. Compare optimized weights with current targetWorkflow 4: Real Estate Cross-Validation
1. Avcılar specific neighborhood data via OSM Overpass + sahibinden scraping 2. Compare apartment value trends with KT real estate funds (ZPV, OYZ) 3. Decide: hold apartments / diversify into funds / sellOutput Files Convention
| File | Content |
|---|---|
| memory/kt-funds-latest.md | Latest fund snapshot (markdown) |
| memory/kt-funds-latest.json | Latest fund snapshot (structured) |
| memory/kt-funds-history/YYYY-WW.json | Weekly snapshots (for trend analysis) |
| projects/turkey-investment/forecasts/<CODE>-YYYYMMDD.md | Forecast reports per fund |
| projects/turkey-investment/optimization-YYYYMMDD.md | Markowitz optimization results |
Cost Awareness
كل المكتبات والـ APIs المستخدمة في هذا الـ skill مجانية:
- TEFAS, TCMB, World Bank, IMF, FRED, CoinGecko: مجاني
- Prophet, PyPortfolioOpt, statsmodels: مفتوح المصدر
- yfinance: مجاني (لكن غير مضمون SLA)