BolsaBuddy:一个 $0 全本地运行的墨西哥股市追踪工具
BolsaBuddy: a $0, fully-local tracker for the Mexican stock market
开发者用免费 Yahoo Finance 数据(^MXX,历史回溯至 1991 年)搭建了全本地运行的墨西哥股市追踪工具 BolsaBuddy,计算日涨跌、20/50/200 日均线、52 周高点回撤等动量指标,并由本地开源权重模型生成每日简报。
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
A friend wanted an investing tool for the Mexican market. Not a dashboard with a subscription. Something simple: what did the IPC do today, am I near a high, and a plain-English line about it. So I built BolsaBuddy this weekend.
Live demo: https://ssolidssnake9.github.io/bolsa-buddy/
Repo: https://github.com/ssolidssnake9/bolsa-buddy (MIT)
What it does
It's all local. Free Yahoo Finance data (^MXX, history back to 1991). A pipeline that fetches, computes momentum (day change, 20/50/200-day averages, drawdown from the 52-week high, streaks, all-time-high alerts), and a local open-weight model that writes the daily brief. A watchlist where your thesis and kill-trigger sit next to the live price. Output is a phone-readable HTML page.
The AI part almost went sideways
I wanted Gemma on-device, but the machine I had couldn't hold it. Then I tried TabPFN for a 7-day forecast, and it wanted an account, a license acceptance, and an API token. That killed the whole point: $0, no keys, no accounts, nothing leaves your machine.
So the brief runs on a small local model, and if the model is down the pipeline writes a templated brief instead of breaking. That fallback rule ended up being the best design decision in the whole project. The tool never goes red.
Here's what the fallback brief actually reads like on a real day:
IPC daily brief (2026-10-01) — auto-generated without the AI model:
The Mexican IPC index closed at 63,828.6 on 2026-10-01, -0.60% on the day. It is down 3 days in a row. It sits -11.49% below its 52-week high of 72,111.41. Close is below the 20-day moving average (64,377.02). Close is below the 50-day moving average (65,248.02). Close is below the 200-day moving average (67,215.54).
No investment advice. Data: Yahoo Finance free daily feed (^MXX).
Not poetry. But it's true, it's fresh every day, and it never fails.
Run it yourself
One command runs the whole thing:
python3 fetch.py && python3 analyze.py && python3 brief.py && python3 news.py && python3 report.py
Smoke test needs no network and no model (uses cached data):
python3 test_smoke.py
Watchlist:
python3 watchlist.py add CEMEXCPO.MX "cement demand recovering" "breaks below 200-day avg"
python3 watchlist.py check
CI runs the smoke test on every push. The repo README has a screenshot of the report.
Why local
A closed AI API would charge per brief forever and send your watchlist and theses to someone else's server. The local model costs nothing, works offline, and keeps your financial thinking private. That's the whole point.
来源:Google AI:DEV 作者专属(RSS) · dev.to