MarketPulse
Long-term position trading system with technical and fundamental two-gate signals.
the problem
Signals built on a single kind of evidence fire too often and trust too easily. For long-term positions I wanted a signal that only speaks when two independent lines of reasoning — technical and fundamental — agree.
architecture
- Market + fundamental data
- technical gate
- fundamental gate
- SQLitepersisted signals
- React dashboard
A Java 21 service evaluates each candidate through two gates: a technical gate and a fundamental gate. A signal is only raised when both pass. Results persist to SQLite, and a React dashboard surfaces the current state. The whole system runs on a Raspberry Pi.
engineering decisions
Two gates that must both agree
Requiring technical and fundamental confirmation together is a deliberate bias toward fewer, higher-conviction signals over a noisy stream of them.
SQLite over a database server
A single-node, single-user system doesn't need a separate database process. SQLite keeps the whole thing a file you can copy, on hardware you can hold.
Runs on a Raspberry Pi
Position signals for the long term don't need a cloud bill. A Pi is enough, always on, and fully under my control.
constraints
Single-node hardware in my homelab, built for long-horizon positions rather than low-latency trading.