π Crisis sell (cash-deficit fallback) β alternative sell ranking
Backup sell strategy for crisis periods, when cash is needed to buy cheap positions. It does not replace the normal RSI/%K sell signal below β it ranks profitable long holdings by how much can safely be trimmed. Ranking: only positions in profit (never sell at a loss), then by largest relative overshoot vs target, with the most recent sell signal (both RSI & %K > either alone) breaking near-ties within each 5% overshoot band. Positions with no target weight (marked β close) are ones you intend to exit β treated as 100% overshoot with the full position suggested for sale. Suggested amount = full position (no-target close-out), half the excess (overweight), or a gentle trim (on-target/underweight).
#
ETF
Market Value
Gain
Overshoot vs Target
Recent Sell Signal
Suggested Sell
Cumulative
Open this tab to computeβ¦
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.
ETF
Last Price
Buy Condition
RSI (15d) / 95p
Stochastic %K / 95p
Signal
Price Guidance (MA3 & MA5)
Last 10d
Action
Last Trade
Buy signal β triggered when today's close breaks below the lowest close of the previous 8 trading days (Donchian breakout down β momentum continuation for leveraged instruments). Sell signal β triggered when today's close breaks above the highest close of the previous 9 trading days.
History is sourced from Google Sheets DailyPrices. ETFs marked β are not yet in Sheets β run backfillAllHistory() in Apps Script to import them.
ETF
ISIN
Last Price
Low 8d
High 9d
Signal
Days since signal
Last 10d
Action
Last Trade
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
Realised (β¬)
Realised %
Cumul %
BH %
Add short transaction
Google Sheets backup
Run once to seed TransactionsShort sheet Β· future adds go there automatically
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.
RSI 95th pct
β
β values in series
Stoch %K 95th pct
β
β values in series
Sell signal active
β
RSI or Stoch β₯ 95p in last 15d
1Y Performance
β
~252 trading days
3Y Performance
β
~756 trading days
5Y Performance
β
~1260 trading days
Date
Close
MA20
MA50
Below both?
Low 8d
High 9d
%K (raw)
%K 95p
RSI(15)
RSI 95p
Long Portfolio β Year-End Position Values (β¬) per ISIN
Total P&L (realised + unrealised + dividends)Realised incl. dividends
Time-weighted return vs MSCI World and gold
Portfolio (flows removed)MSCI World ETF, price onlyGold (Swiss Gold ETC)
Drawdown from previous peak
PortfolioMSCI WorldGold
Monthly results
Gain or loss per calendar month after fees, dividends included. The bottom rows total each calendar month across all years. Hover a cell for details.
What drove each year
Biggest contributors and detractors in the selected year. Click a bar to open the position.
By category
Stocks, metals and bonds, using the categories from the Classifications tab.
Market value per category
Time-weighted return per category
Gain / loss per year by category
Positions
Return = total P&L on peak capital tied up (same basis as Cumul %). Click a row to open it below.
Position detail
Price with your trades
CloseBuy (size = amount)Sell
Position value and cost basis
Market valueCost basis
Cumulative gain / loss
Total P&L on this position
Trade statistics
Every sell measured against the average cost at the time, fees included.
Result per sell, distribution
Realised gains and dividends per year
Realised from sellsDividends
Allocation against target
Current share of each book's market value. The white tick marks the target weight from Classifications.
How this is calculated. Same rules as the rest of the app: average cost per ISIN, fees in buy cost and sell proceeds, dividends as realised gain, and the ISIN_ALIASES merge. Splits restate earlier trades on today's share basis. Monthly % is time-weighted (Modified Dietz per step, chained), so deposits and withdrawals don't count as performance; monthly β¬ is the change in total P&L. Daily resolution covers the ~400 days the app keeps in memory, month-end prices before that. Comparators: HSBC MSCI World ETF (IE00B4X9L533, price only) and WisdomTree Physical Swiss Gold (JE00B588CD74); in the matrix their averages use only months in which the selected scope was invested.