Portfolio Manager
Portfolio P&L Across Stocks, Crypto, and DeFi β One Message, Every Day
Key Takeaway
One daily Telegram message shows my total portfolio value across US equities, Japanese stocks, French stocks, crypto, and DeFi β with P&L, allocation drift, best/worst performers, and benchmark comparisons.
The Problem
My portfolio lives in five different places.
US equities β TSLA, NVDA, PLTR, GOOGL β on Interactive Brokers. Japanese equities on a separate brokerage. French stocks through a PEA. Crypto on-chain and across two exchanges. DeFi positions scattered across Aave, Morpho, and a few LP pools.
To know my total net worth on any given day, I'd need to log into five platforms, convert three currencies (USD, JPY, EUR), aggregate manually, and then figure out what actually moved. That's not portfolio management. That's accounting homework.
And because it's painful, I don't do it daily. Which means I miss drift. My crypto allocation quietly grows from 30% to 42% during a bull run, and I don't notice until the correction hits and I wonder why my portfolio dropped 15% when the S&P only dropped 3%.
The Solution
The Portfolio Watcher agent on Mr.Chief. It connects to every data source β brokerage APIs, blockchain RPC, DeFi protocol queries β and produces one unified daily P&L message. Every morning at 8:15 AM Paris time (right after the crypto dashboard), I get the full picture.
One message. All asset classes. All currencies converted to EUR as the base. Allocation percentages. Drift warnings. Benchmark comparisons.
The Process
yamlShow code
# Portfolio Watcher β Daily
name: portfolio-daily-pnl
schedule: "0 7 * * 1-5" # Weekdays 7:15 UTC (after crypto dash)
channel: telegram
task: |
Generate unified portfolio P&L report.
POSITIONS:
US Equities: TSLA (X shares), NVDA (X), PLTR (X), GOOGL (X)
Japanese Equities: [tickers from config]
French Equities: [PEA positions from config]
Crypto: BTC, ETH, SOL + exchange balances
DeFi: Aave positions, Morpho positions, LP positions
BASE CURRENCY: EUR
Report:
1. Total portfolio value (EUR)
2. Daily change (β¬ and %)
3. Best performer, worst performer
4. Current allocation vs target allocation
5. Any position >5% daily move β highlight
6. Weekly: benchmark comparison (S&P, BTC, Nikkei, CAC 40)
The data aggregation:
pythonShow code
async def unified_portfolio():
# Pull from all sources in parallel
us_equities = await alpha_vantage.get_quotes(["TSLA", "NVDA", "PLTR", "GOOGL"])
jp_equities = await fetch_jp_positions()
fr_equities = await fetch_pea_positions()
crypto_spot = await cmc_api.get_quotes(["BTC", "ETH", "SOL"])
crypto_exchange = await exchange_api.get_balances()
defi_positions = await defillama.get_user_positions(wallet_address)
# Convert everything to EUR
fx_rates = await get_fx_rates(["USD/EUR", "JPY/EUR"])
all_positions = normalize_and_convert(
us_equities, jp_equities, fr_equities,
crypto_spot, crypto_exchange, defi_positions,
base_currency="EUR", fx_rates=fx_rates
)
# Calculate allocation
total_value = sum(p["value_eur"] for p in all_positions)
allocations = {
"US Equities": sum_by_class("us_equity") / total_value,
"JP Equities": sum_by_class("jp_equity") / total_value,
"FR Equities": sum_by_class("fr_equity") / total_value,
"Crypto": sum_by_class("crypto") / total_value,
"DeFi": sum_by_class("defi") / total_value,
}
# Drift detection
targets = {"US Equities": 0.35, "JP Equities": 0.10,
"FR Equities": 0.15, "Crypto": 0.25, "DeFi": 0.15}
drift = {k: allocations[k] - targets[k] for k in targets}
return format_report(all_positions, allocations, drift, total_value)
The daily message:
View details
πΌ PORTFOLIO β Mar 12, 2026
Total: β¬1,247,800 | Day: +β¬8,420 (+0.68%)
π BY CLASS:
US Equities β¬441,200 (35.4%) target: 35% β
JP Equities β¬118,900 (9.5%) target: 10% β
FR Equities β¬184,600 (14.8%) target: 15% β
Crypto β¬328,100 (26.3%) target: 25% β οΈ +1.3%
DeFi β¬175,000 (14.0%) target: 15% β
π Best: PLTR +3.8% (+β¬4,200)
π Worst: Toyota -1.2% (-β¬890)
β‘ >5% Moves: None today
π MTD vs Benchmarks:
Portfolio: +4.2%
S&P 500: +2.8% β² beating by 1.4%
BTC: +6.1% βΌ trailing by 1.9%
Nikkei: +1.9% β² beating by 2.3%
CAC 40: +3.1% β² beating by 1.1%
The Results
| Metric | Before | After |
|---|---|---|
| Time to check full portfolio | 25-30 min | 30 sec |
| How often I checked | 2-3x/week | Every day |
| Allocation drift detected | After the fact | Real-time |
| Largest unnoticed drift | Crypto hit 42% (target: 25%) | Flagged at 27% |
| Benchmark comparison | Monthly, manual | Weekly, automatic |
| Currency conversion errors | Occasional | Zero (automated) |
| Platforms to log into | 5 | 0 |
The real value: I caught a 2% allocation drift toward crypto before a 12% correction. Rebalanced early. Saved roughly β¬15K in drawdown that quarter.
Try It Yourself
- Map your positions across all platforms and asset classes
- Set up API access for each data source (or manual position entry for locked brokerages)
- Define your target allocations and drift thresholds
- Choose your base currency β everything gets converted automatically
- Start with weekday-only delivery; add weekends only if crypto volatility matters to you
You can't manage what you can't see. And if seeing your portfolio requires logging into five apps, you won't see it often enough.
Five brokerages, three currencies, two blockchains. One message.
Related case studies
Portfolio Manager
The Complete Financial Operating System β All 17 Skills in One Stack
How 17 AI finance skills work as one integrated system: data ingestion, analysis, execution, and reporting. 31 agents across 8 teams running a complete financial operating system on Mr.Chief.
Portfolio Manager
Earnings Preview Report for 5 Holdings β Before the Market Opens
How an AI agent generates earnings preview reports for NVDA, GOOGL, META, TSLA, and PLTR in 10 minutes β consensus estimates, implied moves, and key metrics delivered before Monday open.
Portfolio Manager
Forex Impact on Our Portfolio β The EUR/USD Move Cost Us β¬47K
AI agent tracks daily FX impact on a multi-currency portfolio spanning EUR, USD, JPY, and GBP. Separates investment returns from currency effects for board reporting. Mr.Chief.
Want results like these?
Start free with your own AI team. No credit card required.