TS Financial Intelligence
Datová platforma pro trhy, makro a bydlení
V aktivním vývoji
- Python
- FastAPI
- SQLAlchemy
- Alembic
- PostgreSQL
- SQLite
- NumPy
- React
- TypeScript
- pytest
- Playwright
Soukromý repozitář. Kód rád projdu na požádání.
Analytický terminál, který sbírá tržní ceny, oficiální statistiky, zprávy centrálních bank a data o českém bydlení z více než patnácti zdrojů do jedné databáze a zpřístupňuje je přes backend ve FastAPI a rozhraní v Reactu. Každé číslo si nese svůj zdroj, datum a aktuálnost.
- zdroje
- Veřejná API
- CSV a SDMX
- RSS kanály
- adaptéry
- Normalizované záznamy
- Omezení počtu dotazů
- validace
- Duplicity
- Budoucí data
- Neplatné hodnoty
- úložiště
- SQLAlchemy
- Alembic
- SQLite nebo PostgreSQL
- výstup
- Služby ve FastAPI
- React + TypeScript
Co jsem postavil
Tržní ceny, makroekonomické statistiky a data o bydlení leží na mnoha místech s různými formáty, termíny aktualizací a licencemi. Porovnat je znamená ručně sladit jednotky, data a měny a snadno se ztratí přehled o tom, odkud číslo pochází a jestli ještě platí.
- Adaptéry pro veřejné zdroje včetně ČNB, ECB, US Treasury, Bundesbanky, FRED, Eurostatu, ČSÚ, SEC EDGAR, Burzy cenných papírů Praha a CoinGecko a pro zdroje s API klíčem, jako jsou Twelve Data a ČNB ARAD.
- Pipeline pro načítání dat, která každou dávku před uložením zvaliduje a každý běh zaloguje.
- Analytiku pro porovnání až osmi instrumentů: přepočtenou výkonnost, rizikové statistiky, klouzavou korelaci a převod měn kurzem ze stejného dne.
- Pohledy na český realitní trh: regionální cenové statistiky, data o hypotékách z ARAD, vyhledávání inzerátů přes Realitní pes a investiční kalkulačku.
- Účty přes Google OAuth s vlastními watchlisty, uloženými srovnáními a poznámkami pro každého uživatele.
Technická rozhodnutí
- Původ u každého čísla
- Každá řada nese svůj zdroj, datum pozorování, čas stažení a příznak zastaralosti vypočtený z frekvence aktualizací. Rozhraní je zobrazuje přímo u čísla.
- Validace před uložením
- Duplicity, budoucí data, nekonečné hodnoty, nekladné ceny a svíčky s maximem pod minimem se odmítnou a spočítají podle důvodu dřív, než cokoli dorazí do databáze.
- Dotazy na vyžádání s ohledem na kvótu
- Inzeráty nemovitostí pocházejí z API s malou měsíční kvótou, proto se stahují jen na vyžádání, ukládají do cache, souběžné dotazy se slučují zámkem a opakují se s omezeným odstupem.
- Testy bez přístupu k síti
- Parsery zdrojů se testují proti nahraným odpovědím. CI spouští backendové testy nad SQLite i PostgreSQL a pak typově kontroluje, lintuje, testuje a sestavuje frontend.
V repozitáři 150 backendových testů, 7 migrací v Alembicu a workflow v GitHub Actions s ruff, pytestem nad SQLite i PostgreSQL, TypeScriptem, ESLintem, Vitestem a produkčním buildem.
Nástroj pro výzkum a učení. Neposkytuje investiční doporučení.