How aanchalrohira97/portfolio-rebalancer works
Portfolio Rebalancer is a browser-based React app that turns brokerage CSV data into a household portfolio, supports automatic and manual holding classification and target allocation, and calculates account-constrained buy/sell recommendations. The main workflow is coordinated by the App component: CSV parsing, account grouping, allocation display, and rebalance calculation are separate domain stages. The README documents liquidity preferences and constraint warnings; sampled code shows the rebalance algorithm but not every UI interaction. Edges follow shown calls or README documentation; no external brokerage integration is indicated.
Main entry points: App.tsx Portfolio workspace · rebalanceCalculator.tsx Rebalance engine · assetClassifier.tsx Holding classifier · types.ts Portfolio models
Components 11
User experience
- React entry
src/main.tsx - Portfolio workspace
src/App.tsx - Transactions and warnings
src/App.tsx
Portfolio domain
- CSV importer
src/services/csvparser.ts - Account grouping
src/utils/portfolioBuilder.tsx - Portfolio models
src/types.ts - Holding classifier
src/utils/assetClassifier.tsx - Asset class catalog
src/utils/assetClasses.tsx
Analysis and rebalance
- Current allocation
src/utils/allocationCalculator.tsx - Rebalance engine
src/utils/rebalanceCalculator.tsx
Other components
- Portfolio user
Connections 16
- Portfolio user → React entry: opens app
README.md - React entry → Portfolio workspace: renders
src/main.tsx - Portfolio user → Portfolio workspace: uploads and configures
README.md - Portfolio workspace → CSV importer: parses upload
src/App.tsx - Portfolio workspace → Account grouping: groups holdings
src/App.tsx - Portfolio workspace → Holding classifier: classifies holdings
src/App.tsx - Portfolio workspace → Current allocation: calculates allocation
src/App.tsx - Portfolio workspace → Rebalance engine: requests transactions
src/App.tsx - Portfolio workspace → Asset class catalog: uses catalog
src/App.tsx - CSV importer → Portfolio models: creates holdings
src/services/csvparser.ts - Account grouping → Portfolio models: creates accounts
src/utils/portfolioBuilder.tsx - Holding classifier → Asset class catalog: uses identifiers
src/utils/assetClassifier.tsx - Current allocation → Portfolio models: reads portfolio data
src/utils/allocationCalculator.tsx - Rebalance engine → Holding classifier: normalizes symbols
src/utils/rebalanceCalculator.tsx - Rebalance engine → Asset class catalog: uses identifiers
src/utils/rebalanceCalculator.tsx - Portfolio workspace → Transactions and warnings: presents results
README.md