Tech Series
Goal
Build an end-to-end financial analytics/trading/research system Sravz Architecture.
Source Code
Please Contact Us for:
- Product demo
- Sravz source code for personal/academic use
- Collaborative license for Startup use
- Commercial license
Note
Please review below material in the ID order. The codebase gradually implements new features.
CPP (C++)
ID | Description | Use Case | Page |
---|---|---|---|
0 | Docker Containerizaton & Development Environment Setup | Docker Containerizaton & Development Environment Setup | C++ Docker Dev Env Setup |
1 | Boost Redis Streams | Integrate backends implemented in C++ and NodeJS | Redis Streams |
2 | Boost Beast Websockets | Use multi-threaded client to read stock quotes from websocket | Boost Beast Websockets |
3 | Boost Beast Websocket Server | Use multi-threaded server to publish stock quotes | Boost Beast Websockets |
4 | Boost Program Options | Use boost program options library | Boost Program Options |
5 | Boost Beast REST API Server | Use multi-threaded server to provide REST API | Boost Beast REST API Server |
6 | MongoDB Client/Service | Use C++ MongoDB Driver to perform CRUD operations on MongoDB | C++ MongoDB Service/Client |
7 | AWS S3 Client/Service | Use C++ AWS SDK to perform CRUD operations on AWS S3 | C++ AWS S3 Service/Client |
8 | Boost Beast REST API HTTP Session with Router -> Controller -> Service | Integrates Boost Beast REST API HTTP Session with Router -> Controller -> Service | REST-API-Router-Controller-Service |
9 | AWS S3 Client/Service - S3 Select | Use C++ AWS SDK to perform S3 select operations on AWS S3 Parquet file | REST-API-AWS-S3-Select |
10 | Optional - Airflow + Dask Stock Quotes Stats Generation | Optional - Airflow + Dask Massively Parallel 5200 Stock Quotes Stats Generation | Airflow-Dask-Stock-Stats-Generator |
12 | CMake | Switch Make to CMake | CMake |
13 | Fundamentals Controller | Cache S3 Presigned URLs in Redis | Fundamentals-Controller |
14 | REST API Models | Use Models to send JSON as the REST API Output | REST-API-MODELS |
Golang
ID | Description | Use Case | Page |
---|---|---|---|
1 | Golang Crash Course | Covers important golang topics | Golang Crash Course |
2 | Golang Redis Websockets | Use Golang WebSockets/Redis Client to load realtime ticker plant | Golang Redis Websockets |
Airflow - Dask
ID | Description | Use Case | Page |
---|---|---|---|
1 | Stock Quotes Stats Generation | Airflow + Dask Massively Parallel 5200 Stock Quotes Stats Generation | Airflow-Dask-Stock-Stats-Generator |
2 | Stock Fundamentals uploader | Airflow Task Mapping Usage - Ticker fundamentals upload | Stock Fundamentals Uploader |
3 | ETF Tickers uploader | Airflow Task Mapping Usage - Get list of US ETF tickers | ETF Tickers Uploaders |
4 | ETF historical quotes uploader | Airflow Task Mapping Usage - Uplaod historial ETFs quotes to S3 | ETF Historical Quotes Uploader |
5 | Mutual funds uploader | Airflow Task Mapping Usage - Upload mutual funds fundamentals | Mutual funds fundamentals uploader |
Angular
ID | Description | Use Case | Page |
---|---|---|---|
1 | Angular - Ignite UI - Upgrade v14 - v15 | Update Angular | Angular-Upgade-V14-15 |
2 | Angular - Ignite UI - Upgrade v15 - v16 | Update Angular | Angular-Upgade-V15-16 |
IBKR
ID | Description | Use Case | Page |
---|---|---|---|
1 | IBKR Python API Introduction | Quick introduction to IBKR Python API | IBKR-Python-API |
Docker
ID | Description | Use Case | Page |
---|---|---|---|
1 | Multi Node Docker Swarm Setup | Create docker swarm on multiple Ubuntu nodes | docker-swarm-setup |
Redis
ID | Description | Use Case | Page |
---|---|---|---|
1 | Redis Timeseries introduction | Redis Timeseries introduction | Redis-Timeseries-Introduction |
Rust
ID | Description | Use Case | Page |
---|---|---|---|
1 | Rust NSQ Reader/Writer | Rust application for NSQ Reader/Writer - Historical Ticker Plant | Rust-NSQ-Reader-Writer |
Python
ID | Description | Use Case | Page |
---|---|---|---|
1 | OpenAI | Use OpenAI to Create Q&A Application on Sravz Financial Data | OpenAI Q&A Session |
2 | LangChain | Use LangChain to Create Q&A Application on Sravz Financial Data | LangChain Q&A Session |