Files
vault-dash/docs/roadmap/backlog/PORTFOLIO-003-physical-gold-premium-spread.yaml

31 lines
1.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
id: PORTFOLIO-003
title: Physical Gold Premium and Spread
status: backlog
priority: P1
size: S
depends_on:
- PORTFOLIO-001
tags: [portfolio, physical-gold]
summary: Support dealer premium and bid/ask spread for physical gold positions.
acceptance_criteria:
- Position can specify `purchase_premium` (dealer markup over spot)
- Position can specify `bid_ask_spread` (expected sale discount below spot)
- True cost basis = entry_price + purchase_premium
- Effective exit value = spot - bid_ask_spread
- P&L shows both paper P&L and realized P&L accounting for spread
- Default premium/spread values for common products (coins, bars)
- Settings page exposes premium/spread inputs for XAU positions
notes:
- Common gold products:
- Gold ETF (GLD): 0% premium (market price), spread ~0.1%
- Gold coins (1oz): 3-5% premium, 2-4% spread
- Gold bars (1kg): 1-2% premium, 1-2% spread
- Allocated storage (Goldmoney, BullionVault): 0.1% premium, 0.3% spread
- Premium lowers effective entry price
- Spread lowers effective exit price
implementation_hints:
- Add `purchase_premium: Decimal | None` to `Position` (percentage)
- Add `bid_ask_spread: Decimal | None` to `Position` (percentage)
- Cost basis formula: `effective_entry = spot_at_entry × (1 + premium)`
- Exit value formula: `effective_exit = current_spot × (1 - spread)`
- Add premium/spread presets to settings UI