A public experiment in AI-assisted investing β and in figuring out what AI should actually do vs what it shouldn't.
| Metric | Value |
|---|---|
| Starting Capital | β¬5,000.00 |
| Current Balance | β¬4480.41 |
| Total Return | -10.39% |
| Days Active | 121 |
| Asset | Allocation | P/L |
|---|---|---|
| π EQQQ | 45.3% (β¬2266.88) | +19.44% |
| π ITX | 21.9% (β¬1093.92) | +4.64% |
| π XEON | 9.1% (β¬452.74) | +6.31% |
| π 4GLD | 8.8% (β¬441.93) | -5.90% |
| π΅ CASH | 4.5% (β¬224.94) | β |
Day 121 Close: EQQQ +19.44%, 4GLD -5.90%.
A public experiment where an AI system manages β¬5,000 of simulated capital, making real investment decisions based on real market data.
This is NOT financial advice. Simulation for educational/entertainment purposes only.
The system has gone through two distinct phases:
Claude (Anthropic's AI) had full control. It analyzed markets, chose assets, decided position sizes, and executed trades β all autonomously. The AI agent ran 5x daily via cron, using tools (file editing, shell commands) to directly modify the portfolio.
Results: the AI made some good calls (ETH, gold) but also costly ones (a large inverse S&P 500 bet that went wrong). More importantly, the automation was fragile β the agent would timeout, exhaust its turn limit, or fail silently. When it worked, it consumed thousands of tokens per session on tasks that didn't require intelligence.
After analyzing the failures with Claude, we redesigned the architecture around a principle: if it doesn't require reasoning, don't use AI for it.
Now the system works like this:
- Deterministic scripts handle everything mechanical: fetching prices, computing signals (SMA, RSI, MACD, ATR), generating trade orders, applying trades to the portfolio, writing the daily log, git commits, and sending Telegram reports
- Claude does one thing: reads the pre-computed data and writes 2-3 sentences of market analysis. One turn, no tools, 45 seconds. If it fails, the system continues without it β nothing breaks
The quantitative signal pipeline (generate-quant-signals.js + execute-signals.js) replaced narrative-driven trading with systematic rules: trend following, momentum, mean reversion, and volatility filters with position sizing based on ATR.
Token consumption dropped ~80%. Reliability went from "fails weekly" to "never fails".
- Legal investments only β anything legal in Spain
- Real market data β actual prices and conditions
- Full transparency β all decisions and reasoning public
- No private data β nothing confidential published
- π Balance reaches β¬0 (game over)
- π One year passes (January 27, 2027)
- π Balance reaches β¬50,000 (10x victory!)
makemerich/
βββ README.md # This file (auto-updated)
βββ LEDGER.md # Daily log (reverse chronological)
βββ STRATEGY.md # Investment rules and approach
βββ RULES.md # Hard constraints (position limits, stops)
βββ data/ # Portfolio state, prices, signals, trades
β βββ portfolio.json # Current holdings
β βββ .prices-latest.json
β βββ .signals-latest.json
β βββ .quant-signals-latest.json
β βββ .trade-orders.json
β βββ trades/ # Monthly trade logs
βββ scripts/
βββ fetch-prices.js # Yahoo Finance + Coinbase
βββ fetch-history.js # Historical OHLCV data
βββ update-portfolio.js # Recalc at current prices
βββ validate-rules.js # Check position limits, stops
βββ generate-signals.js # Threshold-based alerts
βββ generate-quant-signals.js # Technical analysis (SMA, RSI, MACD, ATR)
βββ execute-signals.js # Generate binding trade orders
βββ apply-trades.js # Apply orders to portfolio.json
βββ generate-ledger-entry.js # Build LEDGER draft (data only)
βββ append-ledger.js # Insert entry at top of LEDGER
βββ update-readme.js # Update this file
βββ daily-update.sh # Orchestrator (cron entry point)
- π Investment Ledger
- π Strategy Document
Last updated: 2026-06-14 by Hustle