NEPSE Returns History Stock Insight Stock Compare My Portfolio About Blog Logout
{{ toast.message }}

{{ publicUser?.full_name || 'User' }}'s Portfolio

@{{ publicUser?.username }}

{{ publicSelectedPortfolio.info.name }}

Market Value
Rs. {{ (publicSelectedPortfolio.summary.total_value || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Total Investment
Rs. {{ (publicSelectedPortfolio.summary.total_investment || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Unrealized P/L
Rs. {{ (publicSelectedPortfolio.summary.total_pl || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} ({{ (publicSelectedPortfolio.summary.pl_pct || 0).toFixed(2) }}%)

Holdings

Symbol Quantity Avg Price Investment LTP Mkt Value P/L P/L %
{{ holding.symbol }} {{ holding.quantity.toLocaleString() }} {{ holding.avg_price.toFixed(2) }} {{ holding.investment.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ holding.ltp?.toFixed(2) || 'N/A' }} {{ holding.market_value.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ holding.pl.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ holding.pl_pct.toFixed(2) }}%

This portfolio has no holdings yet.

No public portfolios found.

Portfolio Login/Register

Sign in securely with Google or Apple to manage your portfolio.

Automatic registration for new users.
By continuing, you agree to our Terms and Privacy Policy.

Features of NEPSE Portfolio
Smart Portfolio Tracking

Track multiple portfolios in one place, move stocks between portfolios anytime, and get automatic holdings, WACC, realized and unrealized P/L with live market and NEPSE index updates.

Powerful Import Options

Import your transactions quickly from MeroShare, CSV files, and WACC import tools so you can set up your portfolio in minutes instead of entering everything manually.

Growth & Profit History

Visualize how your investment, portfolio value, and profits evolve over time with interactive history charts, ranges, and trend insights that show how your money grows.

{{ selectedStock ? 'Stock: ' + selectedStock.symbol : (activePortfolioId ? 'Portfolio: ' + (portfolios.find(p => p.id === activePortfolioId)?.name || 'Portfolio') : 'My Portfolio') }}

Rs. {{ (selectedStock.ltp || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ (selectedStock.change || 0) >= 0 ? '▲' : '▼' }} {{ Math.abs(selectedStock.change || 0).toFixed(2) }} ({{ Math.abs(selectedStock.percentChange || 0).toFixed(2) }}%)
NEPSE
{{ marketStatus === 'open' ? 'Live' : 'Closed' }} Live Server updated {{ formatTime(lastPriceUpdate) }} Loading...
Capital Summary
Market Value
Rs.{{ selectedStock ? heroInt(selectedStock.market_value) : heroInt(summary?.total_value) }}{{ selectedStock ? heroDec(selectedStock.market_value) : heroDec(summary?.total_value) }}
Current Investment Rs. {{ selectedStock ? (selectedStock.investment||0).toLocaleString('en-IN', {minimumFractionDigits:2, maximumFractionDigits:2}) : (summary?.total_investment||0).toLocaleString('en-IN', {minimumFractionDigits:2, maximumFractionDigits:2}) }}
Total Purchases Rs. {{ selectedStock ? (buyLedger.total_buy_cost||0).toLocaleString('en-IN', {minimumFractionDigits:2, maximumFractionDigits:2}) : (summary?.total_purchases||0).toLocaleString('en-IN', {minimumFractionDigits:2, maximumFractionDigits:2}) }}
Total Sales Rs. {{ selectedStock ? (sellLedger.gross_revenue||0).toLocaleString('en-IN', {minimumFractionDigits:2, maximumFractionDigits:2}) : (summary?.total_sales||0).toLocaleString('en-IN', {minimumFractionDigits:2, maximumFractionDigits:2}) }}
Total Shares {{ selectedStock ? (selectedStock.qty||0).toLocaleString() : (currentPortfolioTotals?.qty||0).toLocaleString() }}
Performance Dashboard
Unrealized P/L
Rs.{{ selectedStock ? heroInt(selectedStock.profit) : heroInt(summary?.total_pl) }}{{ selectedStock ? heroDec(selectedStock.profit) : heroDec(summary?.total_pl) }}
Realized P/L Rs. {{ rowAbs(selectedStock ? stockRealizedPL : (summary?.realized_pl||0)) }}
Today's P/L Rs. {{ !loading ? rowAbs(selectedStock ? todaysStockPL : todaysTotalPL) : '0.00' }}
Net Receivable after fees & CGT
Net P/L after fees & CGT
Loading portfolio data...
{{ Math.round(loadingProgress) }}%
{{ selectedStock ? (stockExtremes?.label || 'ALL-TIME') : (historyExtremes?.label || 'ALL-TIME') }} HIGH: Rs. {{ ((selectedStock ? stockExtremes?.maxWorth : historyExtremes?.maxValue) || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ selectedStock ? (stockExtremes?.label || 'ALL-TIME') : (historyExtremes?.label || 'ALL-TIME') }} LOW: Rs. {{ ((selectedStock ? stockExtremes?.minWorth : historyExtremes?.minValue) || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
🔍
DATE PORTFOLIO SYMBOL TYPE QUANTITY PRICE AMOUNT (+ FEES) ACTIONS
{{ new Date(tx.purchase_date || tx.date).toLocaleDateString('en-GB') }} {{ portfolioNameById(tx.portfolio_id) }}
{{ tx.symbol }}
{{ tx.company }}
{{ (tx.transaction_type || '').toUpperCase() }} {{ tx.quantity }} {{ parseFloat(tx.buy_price) === 0 ? 'Free' : 'Rs. ' + parseFloat(tx.buy_price).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} Rs. {{ (tx.quantity * tx.buy_price).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Company {{ sortIcon('symbol') }} Sector {{ sortIcon('sector') }} LTP/Sell Price {{ sortIcon('ltp') }} QTY {{ sortIcon('qty') }} Investment {{ sortIcon('investment') }} WACC {{ sortIcon('wacc') }} Market Value {{ sortIcon('market_value') }} Today's P/L {{ sortIcon('todays_pl') }} Unrealized P/L {{ sortIcon('profit') }}
{{ group.symbol }}
{{ group.company }}
{{ group.sector }} {{ (group.ltp || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ (group.qty || 0).toLocaleString('en-IN', {maximumFractionDigits: 2}) }} Rs. {{ (group.investment || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ (group.wacc || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Rs {{ (group.market_value || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Rs. {{ getStockTodaysPL(group.symbol, group.qty).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ (group.profit || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
TOTAL: {{ currentPortfolioTotals.qty.toLocaleString('en-IN', {maximumFractionDigits: 2}) }} Rs. {{ currentPortfolioTotals.investment.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} Rs. {{ currentPortfolioTotals.market_value.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} Rs. {{ todaysTotalPL.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} {{ currentPortfolioTotals.profit.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}

Add your first transaction to start tracking your investments.

{{ group.symbol }}
{{ group.company }}
{{ group.sector }}
LTP/Sell Price: {{ (group.ltp || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Quantity: {{ (group.qty || 0).toLocaleString('en-IN', {maximumFractionDigits: 2}) }}
Investment: Rs. {{ (group.investment || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
WACC: {{ (group.wacc || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Market Value: Rs. {{ (group.market_value || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Today's P/L: Rs. {{ getStockTodaysPL(group.symbol, group.qty).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Unrealized P/L: {{ (group.profit || 0).toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
TOTAL
Portfolio Summary
Quantity: {{ currentPortfolioTotals.qty.toLocaleString('en-IN', {maximumFractionDigits: 2}) }}
Investment: Rs. {{ currentPortfolioTotals.investment.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Market Value: Rs. {{ currentPortfolioTotals.market_value.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Today's P/L: Rs. {{ todaysTotalPL.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Unrealized P/L: Rs. {{ currentPortfolioTotals.profit.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}

DATE SYMBOL TYPE QUANTITY PRICE AMOUNT (+ FEES) ACTIONS
{{ new Date(tx.purchase_date || tx.date).toLocaleDateString('en-GB') }}
{{ tx.symbol }}
{{ tx.company }}
{{ tx.transaction_type === 'sell' ? 'SELL' : (tx.buy_source && tx.buy_source.toLowerCase().includes('bonus') ? 'BONUS' : (tx.buy_source && tx.buy_source.toLowerCase().includes('right') ? 'RIGHT' : (tx.buy_source && (tx.buy_source.toLowerCase().includes('ipo') || tx.buy_source.toLowerCase().includes('fpo')) ? 'IPO/FPO' : 'BUY'))) }} {{ tx.quantity }}

No recent transactions found.

Add a transaction to start seeing activity.

{{ stockTransactions.length }} transactions
DATE TYPE QUANTITY PRICE AMOUNT (+ FEES) ACTIONS
{{ new Date(tx.purchase_date || tx.date).toLocaleDateString('en-GB') }} {{ tx.transaction_type === 'sell' ? 'SELL' : (tx.buy_source && tx.buy_source.toLowerCase().includes('bonus') ? 'BONUS' : (tx.buy_source && tx.buy_source.toLowerCase().includes('right') ? 'RIGHT' : (tx.buy_source && (tx.buy_source.toLowerCase().includes('ipo') || tx.buy_source.toLowerCase().includes('fpo')) ? 'IPO/FPO' : 'BUY'))) }} {{ tx.quantity }}
TOTALS: {{ stockTransactionTotals.qty }} Rs. {{ stockTransactionTotals.wacc.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
{{ stockTransactionTotals.isSalesView ? 'Avg Sell Price' : 'WACC' }}
Rs. {{ stockTransactionTotals.investment.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}

No {{ stockDetailTab === 'all' ? '' : stockDetailTab }} transactions found.

Add a transaction to start tracking this stock.

{{ tx.transaction_type === 'sell' ? 'SELL' : (tx.buy_source && tx.buy_source.toLowerCase().includes('bonus') ? 'BONUS' : (tx.buy_source && tx.buy_source.toLowerCase().includes('right') ? 'RIGHT' : (tx.buy_source && (tx.buy_source.toLowerCase().includes('ipo') || tx.buy_source.toLowerCase().includes('fpo')) ? 'IPO/FPO' : 'BUY'))) }}
{{ new Date(tx.purchase_date || tx.date).toLocaleDateString('en-GB') }}
Quantity {{ tx.quantity }}
Price
Amount (+ Fees)

No {{ stockDetailTab === 'all' ? '' : stockDetailTab }} transactions found.

Add a transaction to start tracking this stock.

TOTALS
{{ stockTransactionTotals.isSalesView ? 'Qty Sold' : 'Quantity' }} {{ stockTransactionTotals.qty }}
{{ stockTransactionTotals.isSalesView ? 'Avg Sell Price' : 'WACC' }} Rs. {{ stockTransactionTotals.wacc.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
{{ stockTransactionTotals.isSalesView ? 'Total Sales' : 'Investment' }} (+ Fees) Rs. {{ stockTransactionTotals.investment.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}