這是一個可自動更新的 Flask 網站,主題是 MARA Holdings 的 realized mNAV。
網站會自動抓取並整合四個核心因子:
- MARA 股價
- 股數 / 稀釋(Shares Outstanding)
- BTC 價格
- MARA 的 BTC 持幣量
然後用下面的公式重建 realized mNAV:
mNAV = (shares_outstanding × stock_price) / (btc_holdings × btc_price)
- 顯示 MARA realized mNAV 每日折線圖
- 顯示四因子標準化走勢圖
- 顯示最近一天的因子貢獻分解
- 顯示最近交易紀錄
- 支援
refresh_data.py手動更新 - 支援
/api/refresh觸發更新 - 附 GitHub Actions 每日排程範例
- CoinGecko Public Treasury
- MARA BTC holdings 歷史資料
- MARA transaction history
- BTC/USD 市價
- Alpha Vantage
- MARA 日股價(主要來源)
- Yahoo Finance chart
- MARA 日股價(當 Alpha Vantage 免費額度用完時自動備援)
- SEC CompanyFacts
- Shares Outstanding
注意:Shares Outstanding 不是每天都會有新值,因此網站會將 SEC 申報值做前向填補,讓每日 mNAV 可以持續計算。
pip install -r requirements.txt把 .env.example 複製成 .env
cp .env.example .env然後填入:
COINGECKO_API_KEYALPHA_VANTAGE_API_KEYSEC_USER_AGENTREFRESH_TOKEN
python refresh_data.py成功後會在 data/mara_dashboard.json 看到最新整合結果。
python app.py開啟:
http://127.0.0.1:5000
python refresh_data.py --days 365curl -X POST "http://127.0.0.1:5000/api/refresh?token=你的REFRESH_TOKEN"這個專案最適合直接部署到 Render:
- Build Command
pip install -r requirements.txt- Start Command
gunicorn app:app你可以把這個專案推到 GitHub,然後設定 repository secrets:
COINGECKO_API_KEYALPHA_VANTAGE_API_KEYSEC_USER_AGENTREFRESH_TOKEN
排程 workflow 會每天更新 data/mara_dashboard.json。
- 選擇指標:MARA 的 realized mNAV
- 原因:可以直接反映公司市場估值相對於其 BTC 資產價值的變化
- 股價上升 → mNAV 上升
- 股數上升 / 稀釋增加 → mNAV 上升
- BTC 價格上升 → mNAV 下降(分母變大)
- BTC 持幣量上升 → mNAV 下降(分母變大)
- BTC 價格會直接影響公司的 crypto treasury value
- 若 MARA 股價漲幅大於 BTC 資產價值漲幅,mNAV 會擴大
- 若 BTC 大漲但 MARA 股價沒有跟上,mNAV 可能收斂
- CoinGecko Demo plan 的 treasury / historical access 可能有天數限制。
- Alpha Vantage 免費方案有 25 requests/day 的限制,若超額會自動改用 Yahoo Finance 備援。
- Shares Outstanding 為 filing-based 資料,因此不是逐日原生資料。
- 這個版本屬於 教育用途 / 作業用途 的 dashboard,不是交易系統。
- 加入 OpenAI / Gemini 摘要
- 增加時間區間切換(30D / 90D / 1Y)
- 增加 Premium / Discount to NAV 比較
- 改成多家公司比較(MARA / MSTR / Metaplanet)