I'm Alex Nesovic. Worked first in technology consulting at Accenture Technology, then worked for the Capital Markets division of Deloitte Luxemboug (Alternative Investments sub-division) as a Senior Consultant (Software Developer using Python, Flask, JS). Worked also for one fund manager's technology division as a tech consultant for the front-office and middle-office side of their client's operations.
Click here to see demo of parallelization integrated into financial-portfolio.io
Please switch to 1440p and above to be able to see the logs.
Tech stack: React, Redux, Django, Docker, Celery, Redis
Protocols: WebSocket (ensures real-time component updates and avoids waiting for the entire page to load) & HTTPS
In Production: AWS Beanstalk is provisioned to ensure scalability, thanks to it's auto-scaling capability.
All 4 financial research processes (can scale way up of course) were launched exactly at the same time by a JS command here locally and where handled in parallel (see "About the logs" in the description below).
As you can see, the financial data was fetched almost at the same time. "Almost" because this data was retrieved on a different time depending on where it was located in my DBs. The Financial News data can't appear strictly at the same time for the 4 different tickers because the retrieval time itself varies depending on the complexity of the research that has to be conducted on the Web.
About the logs:
They demonstrate that my application leverages parallelization using Celery's prefork pool, with multiple worker processes (ForkPoolWorker-X) running tasks concurrently, optimizing performance by executing tasks in parallel across different CPU cores.
"Official" version is currently off the grid but demo available here: http://financial-portfolio.eu-central-1.elasticbeanstalk.com/ (not optimized for mobile)
This project gives an overview of my capabilities (full-stack, from server setup on the back end, though front-end design, to cloud deployment with Docker and routing for public availability).
Financial-portfolio.io (AWS cloud-native) is:
- An autonomous market data feeder powered by Python, Jenkins/Cron and Linux. A stock market data platform accessible via a own developed front-end.
- An autonomous signals detector
Development performed on FP :
Second Phase:
(!! The code of the commercial and extended version is private, let's get in touch if you'd like to know more !!)
- Currently migrating the project from Flask/JS (+AJAX, Jquery) to a Django/React tech stack
- Setting up Redux to manage the global state
First Phase:
- Deployed the app (Python Flask application) to the web & the cloud (AWS Route 53, Beanstalk & Docker)
- Implemented the automated & scheduled web crawlers to scan the American stock market on a daily basis (Python Selenium + Jenkins on Linux AWS EC2 VMs)
- Coded the automated technical analysis algorithms (Python)
- Coded the front-end (JS, HTML, CSS, Bootstrap)
- Coded the middleware (AJAX calls <-> Flask API)
- User authentication procedure developement
- AWS RDS MySQL setup
- Connection to different market data API's
Code (first phase): https://github.com/alexnesov/Financial-portfolio-Flask
- (my strong point, using it daily in a professional (Accenture, Deloitte, Axa, Clearstream) and personnal context, since 5 years)
- (basics)
- (basics)
- (basics)
- (using it daily)
- Using Postman and exporting the JSON format configs for API documentation. Used Swagger also a bit.
- (hands-on native CSS flexbox usage, after having sweat with float handling)
- Used AJAX with vanilla JS before, JQuery also, but currently using REST arch with JSON, daily, in the context of React developments
- Learning ThreeJS
- Using Electron for Desktop development
- Daily usage of EC2 (SSHing through Tmux through my Linux personal computer)
- Lambda (used it as Node.js service based to receive user trigger emailing capabilities from a JS static webpage, returns a OK/KO message to static website)
- Combination of AWS API Gateway service with SES (AWS email service) to allow contact Form capabilities within an otherwise static S3 website
- RDS (for MySQL community)
- S3 (stored a static website on it, and using it to store app uploaded user images instead of storing them on a MySQL "traditional" DB --> would be a bad practice)
- Beanstalk (for deploying Docker containers)
- Route 53 (used it to buy several domains and manage HTTP/HTTPS routings)
- IAM (access control when I was collaborating with other users)
- EventBridge (implented "rules" to turn ON/OFF my EC2 instance on schedule, to reduce costs)
- AWS CodePipeline (including CodeBuild) for the CI/CD (both of my side projects are wrapped in it)
(Microsoft Azure certified + experience with Databricks --> used py Koalas in the context of a Spark cluster)
- Cron, SSH, Git, daily usage of linux command line
Workflow and agility:
OS':