{"id":"703ada17-58ab-452e-aa64-40f0baf4d11d","slug":"crewai-satvikj01-portfolio-rebalancing-agent","name":"Portfolio_Rebalancing_Agent","description":"Agentic portfolio rebalancing: CVXPY convex optimization, CrewAI multi-agent orchestration, XGBoost/SHAP/LIME explainability, and a three-regime backtest against calendar rebalancing.","canonicalUrl":"https://www.xpersona.co/skill/crewai-satvikj01-portfolio-rebalancing-agent","sourceUrl":"https://github.com/SatvikJ01/Portfolio_Rebalancing_Agent","homepage":null,"source":"GITHUB_REPOS","vendor":{"slug":"satvikj01","label":"Satvikj01","url":"https://github.com/SatvikJ01/Portfolio_Rebalancing_Agent"},"protocols":["OPENCLEW"],"capabilities":["crewai","multi-agent"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-10-09T12:48:05.448Z","freshnessLabel":"Oct 9, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Oct 9, 2026"},{"label":"Vendor","value":"Satvikj01"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Satvikj01","href":"https://github.com/SatvikJ01/Portfolio_Rebalancing_Agent","sourceUrl":"https://github.com/SatvikJ01/Portfolio_Rebalancing_Agent","sourceType":"profile","confidence":"medium","observedAt":"2026-10-09T12:48:05.455Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/crewai-satvikj01-portfolio-rebalancing-agent/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/crewai-satvikj01-portfolio-rebalancing-agent/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-10-09T12:48:05.455Z","isPublic":true},{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/crewai-satvikj01-portfolio-rebalancing-agent/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/crewai-satvikj01-portfolio-rebalancing-agent/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Trust evidence available"],"agentCard":{"name":"Portfolio_Rebalancing_Agent","description":"Agentic portfolio rebalancing: CVXPY convex optimization, CrewAI multi-agent orchestration, XGBoost/SHAP/LIME explainability, and a three-regime backtest against calendar rebalancing.","source":"GITHUB_REPOS","sourceId":"crewai:1370201663","repository":"https://github.com/SatvikJ01/Portfolio_Rebalancing_Agent","documentation":"https://www.xpersona.co/skill/crewai-satvikj01-portfolio-rebalancing-agent/agent/crewai-satvikj01-portfolio-rebalancing-agent","protocols":["OPENCLEW"],"capabilities":["crewai","multi-agent"],"languages":["python"],"install":{"command":"git clone https://github.com/SatvikJ01/Portfolio_Rebalancing_Agent.git","ecosystem":"git"},"examples":[{"kind":"example","language":"mermaid","snippet":"graph TD\n    MD[Market Data] --> DC[Drift Calculator<br/>vectorised pandas]\n    CP[Client Portfolios<br/>50k × 5 risk categories] --> DC\n    DC --> TE[Trigger Evaluator<br/>threshold / calendar / event]\n    TE --> KS{Kill-Switch<br/>VIX > 40}\n    KS -->|Halt| HE[Human Advisor<br/>Escalation]\n    KS -->|Safe| CREW\n\n    subgraph CREW [CrewAI Sequential Pipeline]\n        A1[Portfolio Analyst] --> A2[Quant Optimizer]\n        A2 --> A3[Compliance Officer]\n    end\n\n    OPT[CVXPY Engine<br/>QP: min tracking error<br/>s.t. turnover · long-only] <--> A2\n    TAX[HIFO Tax-Lot Manager<br/>wash-sale blocking] <--> A2\n    XAI[XGBoost Surrogate<br/>SHAP + LIME] <--> A3\n\n    A3 --> OUT[Trade List +<br/>Audit Report]"},{"kind":"example","language":"text","snippet":"Portfolio_Rebalancing_Agent/\n├── src/\n│   ├── engine/                        # Drift calculation and trigger evaluation\n│   │   ├── drift_calculator.py        # Vectorised pandas RMSD/SAD drift scoring\n│   │   ├── triggers.py                # Threshold, calendar, and event triggers\n│   │   ├── threshold_manager.py       # Risk-category drift bands from config\n│   │   └── drift_monitor.py           # Batch drift monitoring service\n│   ├── optimiser/                     # Constrained trade generation\n│   │   ├── portfolio_optimiser.py     # CVXPY QP solver (OSQP / ECOS fallback)\n│   │   ├── constraint_manager.py      # Turnover and liquidity limits from thresholds.yaml\n│   │   ├── tax_lot_manager.py         # HIFO tax-lot accounting\n│   │   ├── tax_optimiser.py           # Wash-sale blocking and tax impact calculation\n│   │   ├── tax_harvesting_scanner.py  # Proactive tax-loss harvesting identification\n│   │   ├── cost_estimator.py          # Brokerage + STT cost model\n│   │   ├── liquidity_scorer.py        # ADV-based liquidity constraints\n│   │   └── trade_list_generator.py    # Weight-to-share conversion\n│   ├── orchestration/                 # CrewAI multi-agent pipeline\n│   │   ├── crew_definition.py         # 3 sequential agents: Analyst, Optimizer, Compliance\n│   │   ├── agent_tools.py             # @tool wrappers exposing engines to LLM agents\n│   │   ├── orchestrator.py            # Top-level orchestration logic\n│   │   ├── pipeline_runner.py         # End-to-end pipeline execution\n│   │   └── workflow_state.py          # Pipeline state management\n│   ├── explainability/                # Audit and compliance reporting\n│   │   ├── surrogate_model.py         # XGBoost classifier (rebalance / no-rebalance)\n│   │   ├── shap_lime_explainer.py     # SHAP attributions + LIME counterfactuals\n│   │   ├── generators.py              # Markdown report generation via LLM\n│   │   ├── templates.py               # Report templates by audience level\n│   │   └── qa_checker.py "}]}}