尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Портфель: рахунок Interactive Brokers як застосунок
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Мій рахунок в Interactive Brokers як застосунок: скільки є, скільки заробив, як іде проти ринку, що лежить у портфелі й на що звернути увагу. Щодня записує вартість кожного активу на закритті біржі, тож можна порівняти будь-які дві дати й побачити, як ріс портфель. Ставиться на телефон і комп'ютер, працює без інтернету з останніми збереженими даними, має світлу й темну тему.
Адреса: https://portfel-mykyta.github.io/
Репозиторій лежить в окремій організації GitHub portfel-mykyta, тому в застосунку власна адреса:
він ніде не перетинається з іншими сайтами акаунта й ставиться як окремий застосунок.
IBKR (звіт Flex) ──► GitHub Actions щоранку ──► зашифрований data.enc.json у гілці data ──► застосунок
+ ціни VOO (Yahoo) розшифровує
+ курс НБУ твоїм паролем
Portfel.Portfel натисни значок інформації:
там буде Query ID (число). Збережи його.Цей репозиторій (portfel-mykyta/portfel-mykyta.github.io) → Settings → Secrets and variables → Actions → New repository secret,
три секрети:
| Назва | Що вписати |
|---|---|
IBKR_FLEX_TOKEN | токен з кроку 2 |
IBKR_FLEX_QUERY_ID | Query ID з кроку 1 |
INVEST_PASSWORD | пароль до застосунку, від 8 символів |
Найпростіше лишити пароль, яким відкривається знімок зараз. Якщо хочеш свій, додай ще четвертий
секрет INVEST_PASSWORD_OLD зі старим паролем: оновлення відкриє ним збережену історію й перешифрує
її новим, а застосунок один раз попросить новий пароль. Після цього INVEST_PASSWORD_OLD можна видалити.
Без нього оновлення зупиниться з поясненням: історію старшу за рік IBKR вдруге не віддасть, тож мовчки
починати з нуля воно не буде.
Actions → Портфель, оновити дані → Run workflow. За хвилину-дві з'явиться зелена галочка. Відкрий застосунок і натисни кнопку оновлення праворуч угорі.
Далі все працює саме: вівторок–субота, двічі зранку (за київським часом близько 7:17 і 12:47), бо звіт IBKR за торговий день з'являється вночі.
Звичайний запуск бере лише останні 365 днів. Щоб у застосунку був увесь час, запусти оновлення з галочкою: Actions → Портфель, оновити дані → Run workflow → «Дозавантажити попередні роки» → Run workflow. Оновлення попросить в IBKR звіти за попередні роки, по 365 днів назад, поки не дійде до дня відкриття рахунку, і допише їх в історію. Вартість активів на старі закриття відновлюється за угодами й цінами. Досить зробити це один раз: далі історія лише доповнюється.
У «Плані поповнення» задаєш суму, межу для однієї акції й бажану частку облігацій. План каже, що купити: фонд на S&P 500 (VOO, від $170 VUAA) і, якщо облігацій менше за задану частку, фонд облігацій уряду США (SGOV, від $170 IB01). Кнопка Купити відкриває сторінку «Купівля» в Claude: https://claude.ai/artifact/97fMDc1ZngDwhjdcGPJAss
plan-core.js) і одним натиском створює заявку (instruction) в IBKR.
Паролів і ключів сторінка не бачить, а заявка нічого не купує, поки ти не відкриєш її в IBKR
(Orders & Trades → AI Instructions) і не натиснеш Submit.Сторінку збирає tools/kupivlia/build.py із шаблону tools/kupivlia/kupivlia.template.html
і plan-core.js; опублікувати нову версію може Claude (той самий артефакт).
IBKR_FLEX_TOKEN.| Файл | Що робить |
|---|---|
index.html, app.css, app.js, boot.js | сам застосунок, без збирання й залежностей |
plan-core.js | правило поповнення, спільне для застосунку й «Купівлі» (node tools/plan-core.test.js) |
tools/kupivlia/ | сторінка «Купівля» для Claude: шаблон і збирання |
sw.js | робота без інтернету |
manifest.webmanifest, icon*.png, icon.svg | встановлення як застосунок |
fonts/ | шрифт Geologica (SIL Open Font License, див. fonts/OFL.txt) |
tools/update_data.py | оновлення даних: Flex → шифрування |
.github/workflows/update-data.yml | щоденний запуск оновлення |
Перевірити оновлення на своєму комп'ютері зі збереженим XML-звітом, без мережі:
pip install cryptography
INVEST_PASSWORD=... python tools/update_data.py --xml statement.xml --offline --out data.enc.json