╔══════════════════════════════════════════════════════════════════════════════╗ ║ GPW_SAAS TERMINAL v1.0.0 │ RETRO CRT EDITION │ DONATIONWARE MODEL ║ ╚══════════════════════════════════════════════════════════════════════════════╝
⚠ SYSTEM BUSY :: FETCH IN PROGRESS :: CACHE FROZEN :: 0s _ Dane mogą być nieaktualne przez cały czas operacji (~60-80 min).
╔══════════════════════════════════════════════════════════════════════════════╗ ║ GPW CONSOLE — RETRO TERMINAL v1.0 :: gpwconsole.pl ║ ╚══════════════════════════════════════════════════════════════════════════════╝ System skórowania spółek GPW połączony z live feedem komunikatów regulacyjnych ESPI/EBI i analizą sentymentu przez AI. Projekt hobbystyczny. Nie do celów komercyjnych. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ## ŹRÓDŁO I CHARAKTERYSTYKA DANYCH ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Dane rynkowe : biznesradar.pl — scraping publicznych statystyk po sesji Odświeżanie : 1× miesięcznie (POST /api/v1/admin/fetch, ~60–80 min) Komunikaty ESPI : bankier.pl — co 2 sekundy, Pn–Pt 07:00–23:00 (Warsaw) Analiza AI : Anthropic Claude Haiku — sentyment, typ, streszczenie ! Dane NIE są podawane w czasie rzeczywistym. ! Służą wyłącznie celom demonstracyjnym i edukacyjnym. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ## ARCHITEKTURA I TECHNOLOGIA ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ System działa jako monolit FastAPI zintegrowany z modelami LLM. Do analizy komunikatów regulacyjnych (ESPI/EBI) wykorzystujemy Anthropic Claude Haiku. Chcesz zbudować własnego bota lub przetestować Anthropic API? Zgarnij darmowy tydzień dostępu z naszego polecenia: >> https://claude.ai/referral/6V_4r9olEw ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ## OPIS ZAKŁADEK ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [1] TOP_10_SCORES Ranking spółek GPW według systemu punktowego (maks. 100 pkt): A 30 pkt Dyskonto kursu do średniej ceny docelowej analityków B 20 pkt Jakość rekomendacji (konsensus, liczba domów, wiek) C 17 pkt Momentum relatywne vs WIG (mom_3m) D 8 pkt Płynność obrotu — min. 500 000 PLN/sesję lub dyskwal. E 8 pkt Stopa dywidendy F 15 pkt Sentyment komunikatów ESPI (ostatnie 60 dni, analiza AI) ───────────────────────────────────────────────────────────────── Filtr sektorowy: max 2 spółki z jednego sektora w Top 10. Klawisz [r] odświeża ranking bez przeładowania strony. [2] LIVE_ESPI_STREAM Live feed komunikatów regulacyjnych ESPI/EBI z bankier.pl. Każdy komunikat analizowany przez AI: typ zdarzenia, sentyment (−1.0 … +1.0) oraz streszczenie w języku polskim. Filtry: ticker, typ zdarzenia, HIDE_ETF (ukrywa fundusze/ETF). Klawisz [f] pobiera najnowsze komunikaty. [3] XTB_REBALANCE Import portfela z xStation 5 (eksport XLSX). Generowanie miesięcznego raportu i wykonanie rebalancingu zgodnie z aktualnym rankingiem Top 10. Plik XLSX jest przetwarzany lokalnie — żadne dane nie opuszczają Twojego komputera. Operacja rebalancingu jest nieodwracalna. [4] STRATEGIA Wyniki historyczne portfela algorytmicznego vs benchmark WIG. Metryki: stopa zwrotu YTD, średni wynik miesięczny, Max Drawdown, Profit Factor, Win Rate. Log transakcji z historią rebalancingów (kupione / sprzedane). Aktualne otwarte pozycje z live P/L (ceny Stooq.pl, odświeżane co 10 min w godz. 09:00–17:35 Pon–Pt). Sygnały rebalancingu: TRZYMAJ / KUP / SPRZEDAJ względem aktualnego Top 10. [5] README Dokumentacja systemu — ta strona. [6] API Dokumentacja REST API. Wszystkie endpointy, parametry, kody odpowiedzi i przykładowe payloady. Endpointy /admin/ dostępne tylko z 127.0.0.1 (localhost). Interaktywna dokumentacja (lokalnie): http://localhost:8000/docs [7] ROADMAP Plan rozwoju systemu: kamienie milowe, priorytety, status. Milestone 1 (Core UI + Portfolio Live) — DONE. Milestone 2–4 (Makro, Fundamenty, Public API) — PLANNED. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ## SKRÓTY KLAWISZOWE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1 … 7 Przełączanie zakładek r Odśwież scoring (zakładka 1) f Pobierz ESPI (zakładka 2) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ## WSPARCIE PROJEKTU ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Projekt jest w 100% niezależny i darmowy. Każda postawiona "kawa" zasila utrzymanie serwera i przyspiesza wdrażanie kolejnych funkcji. Podoba Ci się konsola? Wesprzyj: >> https://buycoffee.to/gpwconsole ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ## ⚠ LEGAL DISCLAIMER — PRZECZYTAJ PRZED UŻYCIEM ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [1] CHARAKTER INFORMACYJNY — NIE DORADZTWO INWESTYCYJNE ───────────────────────────────────────────────────────── Wszelkie treści publikowane przez gpwconsole.pl — w tym scoring spółek (A+B+C+D+E+F), rankingi, sugestie rebalancingu portfela, analizy sentymentu komunikatów ESPI/EBI oraz raporty miesięczne — mają charakter wyłącznie INFORMACYJNY i EDUKACYJNY. Są one wynikiem w pełni zautomatyzowanego przetwarzania publicznie dostępnych danych rynkowych i nie uwzględniają indywidualnej sytuacji finansowej, celów inwestycyjnych, horyzontu czasowego ani skłonności do ryzyka konkretnego użytkownika. Prezentowane treści NIE stanowią: • rekomendacji inwestycyjnej w rozumieniu art. 3 ust. 1 pkt 35 Rozporządzenia Parlamentu Europejskiego i Rady (UE) nr 596/2014 z dnia 16 kwietnia 2014 r. w sprawie nadużyć na rynku (MAR), • rekomendacji dotyczącej instrumentów finansowych w rozumieniu Rozporządzenia Delegowanego Komisji (UE) 2016/958, • doradztwa inwestycyjnego w rozumieniu art. 76 ust. 1 Ustawy z dnia 29 lipca 2005 r. o obrocie instrumentami finansowymi (t.j. Dz.U. 2023 poz. 646 z późn. zm.) ani usługi, o której mowa w art. 69 ust. 2 pkt 5 tej ustawy, • usługi zarządzania portfelem instrumentów finansowych (art. 69 ust. 2 pkt 4 ww. ustawy), • analizy inwestycyjnej ani analizy finansowej w rozumieniu Dyrektywy MiFID II (2014/65/UE) i aktów wykonawczych, • oferty ani zaproszenia do nabycia lub zbycia jakichkolwiek instrumentów finansowych. Operator serwisu gpwconsole.pl: • NIE jest podmiotem nadzorowanym przez Komisję Nadzoru Finansowego (KNF) ani żaden inny organ nadzoru finansowego, • NIE posiada zezwolenia na prowadzenie działalności maklerskiej, • NIE posiada licencji doradcy inwestycyjnego (lista KNF: knf.gov.pl), • NIE świadczy żadnych usług regulowanych w rozumieniu MiFID II / MiFIR ani polskiej ustawy o obrocie instrumentami finansowymi. Algorytm scoringowy A+B+C+D+E+F jest narzędziem pomocniczym opartym na publicznie dostępnych danych. Jego wyniki NIE są prognozą kursów, NIE gwarantują zysku i NIE zastępują analizy przeprowadzonej przez uprawnionego doradcę inwestycyjnego lub dom maklerski. [2] RYZYKO INWESTYCYJNE ───────────────────────────────────────────────────────── Inwestowanie na Giełdzie Papierów Wartościowych w Warszawie (GPW) wiąże się z wysokim ryzykiem utraty części lub całości zainwestowanego kapitału. Wyniki historyczne nie gwarantują wyników przyszłych. Decyzje inwestycyjne podejmujesz wyłącznie na własną odpowiedzialność i ryzyko, po konsultacji z licencjonowanym doradcą inwestycyjnym. [3] ŹRÓDŁA DANYCH I ICH WIARYGODNOŚĆ ───────────────────────────────────────────────────────── Dane rynkowe pobierane są z publicznych serwisów (biznesradar.pl, stooq.com, bankier.pl). Serwis nie gwarantuje ich aktualności, kompletności ani poprawności. Komunikaty ESPI/EBI są analizowane automatycznie przez model AI (Anthropic Claude) — interpretacja AI może być błędna lub niepełna. [4] OCHRONA DANYCH OSOBOWYCH (RODO/GDPR) ───────────────────────────────────────────────────────── Komunikaty ESPI/EBI mogą zawierać dane osobowe (imiona i nazwiska członków zarządów, akcjonariuszy). Są to dane publicznie dostępne, opublikowane w ramach obowiązków regulacyjnych. Podstawa prawna przetwarzania: prawnie uzasadniony interes administratora (art. 6 ust. 1 lit. f RODO) — analiza regulacyjnych komunikatów spółek giełdowych w celach informacyjnych. Dane są przetwarzane przez Anthropic Inc. na podstawie standardowych klauzul umownych (SCC). Pliki Excel importowane przez użytkownika są przetwarzane wyłącznie lokalnie w przeglądarce (JavaScript) i NIE są wysyłane na serwer. [5] WYŁĄCZENIE ODPOWIEDZIALNOŚCI ───────────────────────────────────────────────────────── Autor i operator serwisu gpwconsole.pl nie ponosi odpowiedzialności za jakiekolwiek straty finansowe, decyzje inwestycyjne ani inne szkody wynikłe z korzystania z prezentowanych danych lub narzędzi. Korzystanie z serwisu jest równoznaczne z akceptacją niniejszych warunków.
╔══════════════════════════════════════════════════════════════════════════════╗ ║ [ACCESS] Serwer nasłuchuje wyłącznie na 127.0.0.1 — dostęp tylko lokalny. ║ ║ Endpointy /api/v1/admin/* wymagają localhost; pozostałe też są lokalne. ║ ╚══════════════════════════════════════════════════════════════════════════════╝ REST API REFERENCE — BASE URL: https://gpwconsole.pl Interactive docs (local): http://localhost:8000/docs OpenAPI schema: http://localhost:8000/openapi.json METHOD PATH STATUS DESCRIPTION ────── ──────────────────────────────── ────── ────────────────────────── ── SYSTEM ─────────────────────────────────────────────────────────────── GET /api/v1/health 200 Status, scraper, wiek danych ┌──────────────────────────────────────────────────────────────────────┐ │ Response: │ │ { "status": "ok", │ │ "espi_active": true, │ │ "next_rebalancing": "2026-07-31", │ │ "market_data_age_minutes": 42 } │ └──────────────────────────────────────────────────────────────────────┘ ── PORTFOLIO ──────────────────────────────────────────────────────────── GET /api/v1/portfolio 200 Pozycje z P/L i wartością GET /api/v1/portfolio/live 200 Live P/L (Stooq.pl, cache 3 min) ┌──────────────────────────────────────────────────────────────────────┐ │ Response: │ │ { "mode": "portfolio" | "watchlist", │ │ "positions": [ { "ticker": "PKO", "shares": 10, │ │ "avg_price": 45.0, "price": 52.3, "source": "live"|"xtb"|"avg",│ │ "pnl": 73.0, "pnl_pct": 16.2, "value": 523.0 } ], │ │ "total_value": 5230.0, "total_pnl": 730.0, │ │ "stooq_ok": true, "fetched_at": "2026-07-01T10:15:00", │ │ "recommendations": { "keep": [...], "buy": [...], "sell": [...] } }│ └──────────────────────────────────────────────────────────────────────┘ GET /api/v1/portfolio/history 200 Historia rebalancingów ?limit=12 Liczba wyników (dom. 12) ── MARKET / SCORING ───────────────────────────────────────────────────── GET /api/v1/market/scores 200 Pełny ranking A+B+C+D+E+F ┌──────────────────────────────────────────────────────────────────────┐ │ Response: │ │ { "top10": [ { "ticker": "PKO", "score": 74, "A": 28, "B": 18, │ │ "C": 12, "D": 8, "E": 4, "F": 4, │ │ "price": 52.30, "avg_target": 68.00, │ │ "discount_pct": 23.0, "sector": "Banki" } ], │ │ "sector_victims": [...], │ │ "wig_mom3": 3.14, │ │ "next_rebalancing": "2026-07-31", │ │ "warnings": [] } │ └──────────────────────────────────────────────────────────────────────┘ GET /api/v1/market/data 200 Cache danych rynkowych GET /api/v1/report 200 Miesięczny raport tekstowy ┌──────────────────────────────────────────────────────────────────────┐ │ Response: { "report": "=== RAPORT MIESIĘCZNY ..." } │ └──────────────────────────────────────────────────────────────────────┘ ── ESPI / KOMUNIKATY ──────────────────────────────────────────────────── GET /api/v1/espi 200 Lista komunikatów ESPI/EBI ?ticker=PKO Filter po tickerze ?typ_wydarzenia=KONTRAKT KONTRAKT|ZYSKI|STRATA|... ?min_sentyment=-1.0 Minimalny sentyment ?since=2026-06-01 Data od (YYYY-MM-DD) ?limit=60 &offset=0 Paginacja ┌──────────────────────────────────────────────────────────────────────┐ │ Response: │ │ { "total": 142, "items": [ │ │ { "id": 1, "ticker": "SCPFL", "spolka": "Bacteromic S.A.", │ │ "data_publikacji": "30.06.2026 09:14", │ │ "typ_wydarzenia": "KONTRAKT", "sentyment": 0.7, │ │ "streszczenie": "...", "url": "https://..." } ] } │ └──────────────────────────────────────────────────────────────────────┘ GET /api/v1/espi/{id} 200 Szczegóły jednego komunikatu 404 Komunikat nie istnieje POST /api/v1/espi/sentiments 200 Zagregowany sentyment/ticker ┌──────────────────────────────────────────────────────────────────────┐ │ Body: { "tickers": ["PKO", "CDR"], "days": 60 } │ │ Response: { "PKO": 0.12, "CDR": -0.05 } │ └──────────────────────────────────────────────────────────────────────┘ POST /api/v1/espi/alerts 200 Alerty o stratach i restr. ┌──────────────────────────────────────────────────────────────────────┐ │ Body: { "tickers": ["PKO", "CDR"], "days": 30 } │ │ Response: [ { "ticker": "CDR", "typ_wydarzenia": "STRATA", │ │ "streszczenie": "...", "sentyment": -0.8 } ] │ └──────────────────────────────────────────────────────────────────────┘ ── ADMIN (tylko 127.0.0.1) ───────────────────────────────────────────── GET /api/v1/admin/fetch/status 200 Czy fetch działa w tle ┌──────────────────────────────────────────────────────────────────────┐ │ Response: { "running": true | false } │ └──────────────────────────────────────────────────────────────────────┘ POST /api/v1/admin/fetch 200 Fetch danych (~60-80 min) ┌──────────────────────────────────────────────────────────────────────┐ │ Response: { "status": "started" | "already_running", │ │ "message": "..." } │ └──────────────────────────────────────────────────────────────────────┘ POST /api/v1/admin/rebalance 200 NIEODWRACALNE — rebalancing 409 Równoległy lub brak danych ┌──────────────────────────────────────────────────────────────────────┐ │ Response: { "month": "2026-07", "top10": ["PKO", ...], │ │ "kupiono_nowe": [...], "sprzedano": [...], │ │ "dowazono": [...], "cash_pln": 1234.56, │ │ "wynik_1m_portfel": 2.31 } │ └──────────────────────────────────────────────────────────────────────┘ POST /api/v1/admin/import-xtb 200 Import portfela z pliku XTB Content-Type: multipart/form-data form-field: file (.xlsx) 422 Błąd parsowania pliku 501 Brak modułu pandas ┌──────────────────────────────────────────────────────────────────────┐ │ Response: { "status": "ok", "holdings_count": 8 } │ └──────────────────────────────────────────────────────────────────────┘
╔══════════════════════════════════════════════════════════════════════════════╗ ║ GPW CONSOLE — ROADMAP & DEVELOPMENT MILESTONES ║ ╚══════════════════════════════════════════════════════════════════════════════╝ Plan rozwoju systemu GPW Console. Status: dynamiczny. Priorytety ustalane na podstawie opinii i potrzeb użytkowników. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ## KAMIENIE MILOWE / MILESTONES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [x] MILESTONE 1 — Core UI + Portfolio Live DONE UI & infrastruktura ├─ Retro terminal UI (7 zakładek), vanilla JS, bez frameworków ├─ FastAPI monolith, SQLite (gpw.db + espi.db), python-dotenv ├─ Security headers (CSP, X-Frame-Options), rate limiter 10 req/60s └─ Host 127.0.0.1 — app dostępny wyłącznie lokalnie Scoring GPW A+B+C+D+E+F (100 pkt) ├─ Dane: biznesradar.pl (ceny docelowe, momentum, dywidenda, płynność) ├─ Filtr sektorowy (max 2 spółki / sektor w Top 10) └─ Admin: fetch (~70 min w tle), rebalancing (nieodwracalny) Live feed ESPI/EBI ├─ Scraper bankier.pl co 2 s (Pon–Pt 07:00–23:00 Warsaw) └─ Analiza AI: Claude Haiku — typ, sentyment (−1…+1), streszczenie PL Portfel i Live P/L (tab [3] + [4]) ├─ Import XLSX z xStation 5: arkusz OPEN POSITION, filtr .PL ├─ Live ceny ze Stooq.pl (GET bez API key); fallback: XTB Gross P/L ├─ Auto-refresh P/L co 10 min w godz. sesji (09:00–17:35 Pon–Pt) ├─ Watchlist Top 10 gdy portfel pusty ├─ Sygnały rebalancingu: TRZYMAJ / KUP / SPRZEDAJ vs Top 10 └─ Po imporcie XTB automatyczne wygenerowanie raportu miesięcznego Inne ├─ REST API + Swagger /docs, SEO + JSON-LD, disclaimer prawny └─ DATA_AGE w minutach w nagłówku strony └─ Status: COMPLETED ✓ [ ] MILESTONE 2 — Kalendarz Makro Automatyczne agregowanie kluczowych odczytów makroekonomicznych dla Polski i USA: PKB, inflacja CPI, stopa bezrobocia, decyzje NBP / Fed. Feed z kolorowaniem odchyleń od konsensusu rynkowego. └─ Status: PLANNED [ ] MILESTONE 3 — Zaawansowane wskaźniki fundamentalne Integracja danych finansowych z oficjalnych komunikatów ESPI/EBI: wyniki kwartalne, przepływy pieniężne, wskaźniki P/E, P/BV, EV/EBITDA. Automatyczne parsowanie i włączenie do scoringu. └─ Status: PLANNED [ ] MILESTONE 4 — Publiczne API dla developerów Otwarcie REST API dla zewnętrznych developerów i systemów transakcyjnych. Dokumentacja OpenAPI, klucze dostępu, rate limiting, webhook'i dla alertów ESPI. Kontakt w sprawie dostępu: └─ sysadmin@gpwconsole.pl └─ Status: PLANNED ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┌─────────────────────────────────────────────────────────────────────────┐ │ ⚠ NOTE │ │ │ │ Powyższa roadmapa ma charakter dynamiczny. Ostateczna kolejność │ │ wdrożeń oraz priorytetyzacja funkcji są ściśle uzależnione od │ │ opinii, sugestii oraz realnych potrzeb zgłaszanych przez │ │ użytkowników systemu GPW Console. │ │ │ │ Masz pomysł lub sugestię? Napisz: │ │ >> sysadmin@gpwconsole.pl │ └─────────────────────────────────────────────────────────────────────────┘
╚═══ [ESC] Menu │ Podoba Ci się projekt? Wesprzyj: buycoffee.to/gpwconsole ══╝
+─────────────────────────────────────────────────────+ │ [SYSTEM_NOTICE] donationware model. │ │ Script saved your time / cash? Buy a coffee: │ │ >> EXECUTE: POST /api/v1/donations/buycoffee │ │ [ POSTAW_KAWE → buycoffee.to/gpwconsole ] │ +─────────────────────────────────────────────────────+
+─────────────────────────────────────────────────────+ │ [PARTNER_NOTICE] analiza AI: Anthropic Claude. │ │ Zbuduj bota lub przetestuj API — tydzień gratis: │ │ >> EXECUTE: GET /api/v1/referral/anthropic │ │ [ WYPROBUJ_API → claude.ai/referral/6V_4r9olEw ] │ +─────────────────────────────────────────────────────+