Fetching live prices...
Portfolio Value
β€”
loading...
Total Invested (Cost)
€165,730
purchase cost
Unrealised P&L
β€”
β€”
Realised Gains
€23,757
from closed positions
Dividends Collected
€5,809
all time
Total Return (Realised)
€29,566
gains + dividends

Allocation by Category

Portfolio Value History (EoM)

ETF Name Category Shares Cost/Share Last Price Total Cost Market Value P&L P&L % Realised Dividends

Buy signal β€” triggered when the price has been below both the 20-day and 50-day moving averages for 5 or more consecutive trading days.
Sell signal β€” triggered when both RSI(15) and Stochastic %K(15) have each exceeded their 95th percentile (200-day rolling) within the last 15 trading days, AND the current price is above both MA20 and MA50.
Price guidance (Buy) β€” πŸ”΅ below both MA3+MA5 = ideal entry Β· 🟒 between = ok Β· 🟠 above both = wait. (Sell) β€” πŸ”΅ above both MA3+MA5 = ideal exit Β· πŸ”΄ between = ok Β· 🟠 below both = wait. Stochastic = %K (raw), period auto-adjusted for daily vs monthly data. All signals use live daily prices from Yahoo Finance where available, otherwise end-of-month data.

ETF Last Price Buy Condition RSI (15d) / 95p Stochastic %K / 95p Signal Price Guidance (MA3 & MA5)

Add transaction

Google Sheets backup

Requires SHEETS_URL set in app.js Β· Monthly auto-capture runs via Apps Script trigger
Date Type ISIN ETF Name Units Price Value (€) Fees (€) Broker CCY

Shows the last 30 daily closes with MA20, MA50, Stochastic %K(15) and RSI(15) for any ETF. The %K 95p and RSI 95p columns show the 95th-percentile threshold (200-day rolling) β€” values highlighted in red are breaching the threshold. Performance figures show price change over the last 1, 3 and 5 years using available daily data.

Date Close MA20 MA50 Below both? %K (raw) %K 95p RSI(15) RSI 95p