Portfolio Management
💼 Professional Portfolio Management
Quantbot's portfolio management system provides institutional-grade tools for tracking, analyzing, and optimizing your investments with real-time insights and AI-powered recommendations.
Portfolio Overview
Total Value
Example: $XXX,XXX
+18.7% Total Return
Today's P&L
Example: +$X,XXX
+1.85% Today
Active Positions
12
8 Profitable
Cash Available
$8,432
5.4% Allocation
Key Features
📊 Real-Time Portfolio Tracking
Monitor your investments with live updates and comprehensive analytics:
- Live Position Tracking - Real-time P&L updates
- Performance Attribution - Understand what's driving returns
- Risk Metrics - Beta, Sharpe ratio, maximum drawdown
- Sector Allocation - Diversification analysis
- Geographic Exposure - Regional investment breakdown
🎯 Asset Allocation
Asset Class | Current | Target | Difference |
---|---|---|---|
US Stocks | 65% | 60% | +5% |
International | 15% | 20% | -5% |
Bonds | 10% | 15% | -5% |
Cash | 5% | 3% | +2% |
Alternatives | 5% | 2% | +3% |
🔄 Rebalancing Recommendations
Get Rebalancing Suggestions
from quantbot import QuantbotClient
client = QuantbotClient()
# Get rebalancing recommendations
rebalance = client.get_rebalancing_recommendations()
print("🎯 Rebalancing Suggestions:")
for suggestion in rebalance.suggestions:
print(f"- {suggestion.action} {suggestion.quantity} shares of {suggestion.symbol}")
print(f" Reason: {suggestion.reason}")
print(f" Expected impact: {suggestion.expected_impact}")
Rebalancing Alert: Technology Overweight
AI Recommendation
Your tech allocation is 5% above target. Consider taking profits.
Optimize
Position Management
Individual Position Tracking
GET
/api/v1/portfolio/positions
Retrieve detailed information about all portfolio positions.
Position Details Response
{
"positions": [
{
"symbol": "AAPL",
"quantity": 100,
"current_price": 175.43,
"cost_basis": 150.00,
"market_value": 17543.00,
"unrealized_pnl": 2543.00,
"unrealized_pnl_percent": 16.95,
"day_change": 234.00,
"day_change_percent": 1.35,
"weight": 11.2,
"sector": "Technology",
"last_updated": "2024-07-04T14:30:00Z"
}
]
}
Position Analytics
For each position, Quantbot provides:
- Cost Basis Tracking - FIFO, LIFO, or specific lot identification
- Tax Optimization - Tax-loss harvesting opportunities
- Performance Metrics - Alpha, beta, correlation analysis
- Risk Assessment - Position-specific risk metrics
- News Impact - How recent news affects the position
Risk Management
Portfolio Risk Metrics
Portfolio Beta
1.15
vs S&P 500
Sharpe Ratio
1.32
Excellent
Max Drawdown
-8.4%
Low Risk
VaR (95%)
-$4,200
1-Day Risk
Risk Alerts
Set Up Risk Alerts
# Portfolio-level alerts
client.set_portfolio_alert({
"type": "max_drawdown",
"threshold": 0.10, # 10% maximum drawdown
"action": "email_and_sms"
})
# Position-level alerts
client.set_position_alert("AAPL", {
"type": "stop_loss",
"threshold": 0.05, # 5% stop loss
"action": "auto_sell" # Automatic execution
})
# Sector concentration alert
client.set_sector_alert("Technology", {
"type": "overweight",
"threshold": 0.30, # 30% maximum sector allocation
"action": "rebalance_suggestion"
})
Performance Analysis
Historical Performance
Period | Portfolio | S&P 500 | NASDAQ | Outperformance |
---|---|---|---|---|
1 Month | +3.2% | +2.1% | +2.8% | +1.1% |
3 Months | +8.7% | +6.2% | +7.1% | +2.5% |
6 Months | +12.4% | +9.8% | +11.2% | +2.6% |
1 Year | +18.7% | +12.3% | +15.6% | +6.4% |
Attribution Analysis
Performance Attribution
# Analyze what's driving your returns
attribution = client.get_performance_attribution(period="1Y")
print("📈 Performance Attribution (1 Year):")
print(f"Total Return: {attribution.total_return:.2%}")
print("\nContributions by:")
print(f"- Asset Allocation: {attribution.asset_allocation:.2%}")
print(f"- Security Selection: {attribution.security_selection:.2%}")
print(f"- Timing: {attribution.timing:.2%}")
print(f"- Interaction: {attribution.interaction:.2%}")
print("\nTop Contributors:")
for contributor in attribution.top_contributors:
print(f"- {contributor.symbol}: +{contributor.contribution:.2%}")
Tax Optimization
Tax-Loss Harvesting
Tax-Loss Harvesting Opportunity
Tax Optimization
Sell TSLA (-$1,200) to offset AAPL gains (+$2,500)
Tax Savings
Tax Optimization
# Get tax-loss harvesting opportunities
tax_opportunities = client.get_tax_opportunities()
for opportunity in tax_opportunities:
print(f"💰 Tax Opportunity:")
print(f"- Sell: {opportunity.sell_symbol} (Loss: ${opportunity.loss:,.2f})")
print(f"- Offset: {opportunity.offset_symbol} (Gain: ${opportunity.gain:,.2f})")
print(f"- Tax Savings: ${opportunity.tax_savings:,.2f}")
print(f"- Wash Sale Risk: {opportunity.wash_sale_risk}")
Tax Reporting
- Realized Gains/Losses - Detailed transaction history
- Dividend Tracking - Qualified vs non-qualified dividends
- Cost Basis Methods - FIFO, LIFO, specific identification
- Tax Forms - 1099-B reconciliation and export
- Estimated Taxes - Quarterly tax payment calculations
Advanced Features
Portfolio Optimization
Modern Portfolio Theory Optimization
# Optimize portfolio using Modern Portfolio Theory
optimization = client.optimize_portfolio({
"objective": "maximize_sharpe", # or "minimize_risk", "maximize_return"
"constraints": {
"max_position_weight": 0.10, # 10% max per position
"min_positions": 15, # Minimum diversification
"sector_limits": {
"Technology": 0.30, # Max 30% in tech
"Healthcare": 0.25 # Max 25% in healthcare
}
},
"risk_tolerance": "moderate"
})
print("🎯 Optimization Results:")
print(f"Expected Return: {optimization.expected_return:.2%}")
print(f"Expected Risk: {optimization.expected_risk:.2%}")
print(f"Sharpe Ratio: {optimization.sharpe_ratio:.2f}")
print("\nRecommended Changes:")
for change in optimization.recommended_changes:
print(f"- {change.action} {change.symbol}: {change.weight_change:+.1%}")
Scenario Analysis
Stress Testing
# Test portfolio under different market scenarios
scenarios = client.run_scenario_analysis([
{"name": "Market Crash", "sp500_change": -0.20, "bond_change": 0.05},
{"name": "Interest Rate Spike", "sp500_change": -0.10, "bond_change": -0.15},
{"name": "Tech Bubble", "nasdaq_change": -0.30, "sp500_change": -0.15},
{"name": "Recession", "sp500_change": -0.25, "bond_change": 0.10}
])
for scenario in scenarios:
print(f"📊 {scenario.name}:")
print(f" Portfolio Impact: {scenario.portfolio_impact:+.2%}")
print(f" Worst Position: {scenario.worst_position} ({scenario.worst_impact:+.2%})")
print(f" Best Position: {scenario.best_position} ({scenario.best_impact:+.2%})")
API Integration
Portfolio API Endpoints
GET
/api/v1/portfolio/summary
Get complete portfolio summary with performance metrics.
POST
/api/v1/portfolio/rebalance
Execute portfolio rebalancing based on target allocation.
GET
/api/v1/portfolio/risk-metrics
Retrieve comprehensive risk analysis and metrics.
Python SDK Examples
Portfolio Management SDK
from quantbot import QuantbotClient
client = QuantbotClient(api_key="your_api_key")
# Get portfolio summary
portfolio = client.portfolio.get_summary()
print(f"Total Value: ${portfolio.total_value:,.2f}")
# Add position
client.portfolio.add_position(
symbol="AAPL",
quantity=100,
price=175.43
)
# Get performance metrics
metrics = client.portfolio.get_performance_metrics(period="1Y")
print(f"Annual Return: {metrics.annual_return:.2%}")
# Optimize allocation
optimization = client.portfolio.optimize(
objective="maximize_sharpe",
constraints={"max_weight": 0.10}
)
Ready to Optimize Your Portfolio? 📈
Start using Quantbot's advanced portfolio management tools today.
Get Started API Documentation