[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80906":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":13,"stars7d":14,"stars30d":14,"stars90d":15,"forks30d":15,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":31,"discoverSource":32},80906,"stonks","itskovacs\u002Fstonks","itskovacs","Minimalist personal portfolio tracker, self-hosted.","https:\u002F\u002Fitskovacs-stonks.netlify.app\u002F",null,"Python",35,1,2,0,3,0.9,"GNU Affero General Public License v3.0",false,"main",[22,23,24,25,26,27],"finance","finance-management","finances","portfolio","portfolio-tracker","self-hosted","2026-06-12 02:04:08","\u003Cp align=\"center\">\u003Cimg width=\"120\" src=\".\u002Fsrc\u002Fpublic\u002Ffavicon.png\">\u003C\u002Fp>\n\u003Ch2 align=\"center\">Stonks\u003C\u002Fh2>\n\n\u003Cdiv align=\"center\">\n\n[![Support](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fsupport-30363D?style=for-the-badge&logo=GitHub-Sponsors)](https:\u002F\u002Fko-fi.com\u002Fitskovacs)\n![Status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-active-success?style=for-the-badge)\n[![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fitskovacs\u002Fstonks?style=for-the-badge&color=ededed)](https:\u002F\u002Fgithub.com\u002Fitskovacs\u002Fstonks\u002Fissues)\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n![Stonks](.\u002F.github\u002Fsc_dashboard.png)\n*Demo Dashboard with mocked data, available in [demo](https:\u002F\u002Fitskovacs-stonks.netlify.app\u002F)*\n\n\u003C\u002Fdiv>\n\n\n## Introduction\n\nStonks is a minimalist personal portfolio tracker.\n\nIt focuses on one thing: it tells you where your money is and how it's doing, with just enough market data (and pseudo-computed scores) to make informed decisions without overwhelming you. No broker integrations, no algorithmic trading.\n\n1. **Create an _Envelope_** (*Investment*, *Broker X*, *CTO*, etc.)\n2. **Log Transactions** (*BUY*, *SELL*, *DEPOSIT*, *WITHDRAW*, *DIVIDEND*). *Tip: use batch mode for faster entry.*\n3. **View Portfolio Insights**: Get clear data on your allocation, current prices, unrealized PnL, and equity charts over time.\n\nYou can also browse and add any ticker you want to follow. Notifications included.\n\nNo telemetry. No tracking. No ads. Data from Yahoo Finance.\n\n> [!TIP]\n> To quickly setup your baseline, you can use these hacky steps:\n> 1. Add all your current positions basis using `BUY`, do not forget fee if any\n> 2. Check the *invested capital* in Stonks. Note it.\n> 3. Check the cash available in your account. Note it.\n> 4. Add a `DEPOSIT` with your *invested capital* + *cash available*.\n> \n> Example:\n> You have 4 positions, in _AAPL_, _TSLA_, _MSFT_, _NVDA_. Your account cash is 17.31$.  \n> Add your positions using `BUY`.  \n> * `BUY` `AAPL`: 12 × 280.91$  \n> * `BUY` `TSLA`: 10 × 389.14$  \n> * `BUY` `MSFT`: 10 × 420.49$  \n> * `BUY` `NVDA`: 10 × 210.28$\n> \n> The total is: _13570.02$_  \n> Add a `DEPOSIT` of _13587.33$_ (positions: 13570.02$ + cash: 17.31$)\n\n\n> [!IMPORTANT]\n> **Investing involves risk, always do your own research and invest responsibly! Use at your own risk.**\n\n## 🌱 Getting Started \u003Ca name = \"getting_started\">\u003C\u002Fa>\n\nDeployment is designed to be simple using Docker.\n\n### Option 1: Docker Compose (Recommended)\n\nUse the `docker-compose.yml` file provided in this repository. No changes are required, though you may customize it to suit your needs.\n\nRun the container:\n\n```bash\ndocker-compose up -d\n```\n\n### Option 2: Docker Run\n\n```bash\n# Ensure you have the latest image\ndocker pull ghcr.io\u002Fitskovacs\u002Fstonks:1\n\n# Run the container\ndocker run -d -p 8080:8000 -v .\u002Fstorage:\u002Fapp\u002Fstorage ghcr.io\u002Fitskovacs\u002Fstonks:1\n```\n\n> [!NOTE]\n> Config can be modified in `storage\u002Fconfig.env` (`SECRET_KEY`, `REGISTER_ENABLE`, `ACCESS_TOKEN_EXPIRE_MINUTES`, `REFRESH_TOKEN_EXPIRE_MINUTES`)\n\n## 📸 Demo \u003Ca name = \"demo\">\u003C\u002Fa>\n\nA demo is available at [itskovacs-stonks.netlify.app](https:\u002F\u002Fitskovacs-stonks.netlify.app\u002F).\n\n\u003Cdiv align=\"center\">\n\n|         |         |\n|:-------:|:-------:|\n| ![](.\u002F.github\u002Fsc_dashboard.png) | ![](.\u002F.github\u002Fsc_ticker1.png) |\n| ![](.\u002F.github\u002Fsc_dashboard_chart.png) | ![](.\u002F.github\u002Fsc_ticker2.png) |\n\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n\u003Cdiv align=\"center\">\n\nMade with ❤️ in BZH  \n\n\u003Ca href='https:\u002F\u002Fko-fi.com\u002Fitskovacs' target='_blank'>\u003Cimg height='36' style='border:0px;height:36px;' src='https:\u002F\u002Fstorage.ko-fi.com\u002Fcdn\u002Fkofi1.png' border='0' alt='Buy Me a Coffee at ko-fi.com' \u002F>\u003C\u002Fa>  \n\u003C\u002Fdiv>","Stonks 是一个极简主义的个人投资组合追踪器，支持自托管。该项目使用 Python 开发，主要功能包括创建投资包络、记录交易（买入、卖出、存入、取出、分红）以及查看投资组合的洞察信息，如资产分配、当前价格、未实现盈亏和股权随时间变化的图表。用户还可以添加并关注任何股票代码，并接收通知。项目不包含遥测、跟踪或广告，市场数据来源于雅虎财经。适合需要简单直观地管理个人投资且偏好自托管解决方案的投资者使用。部署方面，提供了基于 Docker Compose 和 Docker Run 两种便捷方式。","2026-06-11 04:02:47","CREATED_QUERY"]