View khrapovs's full-sized avatar

Block or report khrapovs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khrapovs/README.md

Stanislav Khrapov

LinkedIn

Full Resume

My name is Stanislav Khrapov. I am a full stack Machine Learning engineer with many years of experience building data science applications starting from data ingestion, modelling, and finishing with cloud deployment and monitoring services. I am passionate about data, automation, code quality, visualisation, and communicating with both technical and non-technical stakeholders.

Currently, I work as a lead data scientist at a small consulting company M2hycon. In this role I have led a cross-functional team of data scientists and data engineers designing and implementing a dynamic pricing application based on Bayesian methods. I have also taken over a project with a lot of legacy code and replaced an existing failure detection model that was using a neural network with a much simpler, faster, and more accurate classification algorithm.

In the past I was a senior data scientist at the FinTech startup Chintai based in Frankfurt am Main, Germany. My main project is the development of trade surveillance system based on unsupervised time series classification machine learning models. In the absence of comprehensive training data we have built realistic exchange market simulation with heterogeneous traders. One part of it is the fast Python-based order book matching engine (OrderBookMatchingEngine). To tie all pieces together we have designed a fully automated and reproducible pipeline to simulate market data, train and evaluate ML models catching illegal trading behaviour. As in any startup I also did a little bit of everything IT-related. This includes building GitHub actions based CI/CD pipelines to release Node.js web applications interacting with the blockchain, check code quality, unit and integration tests, search for code vulnerabilities, deploy to Kubernetes cluster running in the cloud. I have also organized processes across the company to streamline and speed up development and release activities starting from a PR and finishing with deployment to the production environment.

I started my career in data science at DB Schenker also based in Frankfurt. There I designed new time series models for forecasting of market freight prices and volumes, company internal financial indicators (EBIT, revenue, receivables, payables, etc.). My responsibilities also included writing end-to-end data ingestion, processing, forecasting, and delivery software mainly in Python and using such tools as web scraping, SQL, pandas, scikit, GitLab, Docker, AWS, Azure, Airflow, etc. I performed research on model comparison in terms of forecasting performance. On top of that I love doing sophisticated visualizations (Seaborn, Dash) for presentation to internal business clients. Finally, I regularly worked as an instructor for the internal AI Training Workshop.

Even before that, as I was working as Assistant Professor of Finance at the New Economic School in Moscow, Russia. My area of specialization was financial econometrics, option pricing, volatility modeling. During graduate education and work experience that includes both academic and industry positions I wrote research papers individually and in collaboration.

On the personal level I run and swim a lot, bike occasionally (no triathlon, please!). You can join me in this passion on Strava.

Pinned Loading

  1. OrderBookMatchingEngineOrderBookMatchingEnginePublic

    Forked from LeifKingston/OrderBookMatchingEngine

    Simple Python implementation of order book matching engine

    Python 10 3

  2. echoloop-multiagent-flashcardsecholoop-multiagent-flashcardsPublic

    A multi-agent language learning application that utilizes collaborative LLM agents to dynamically generate contextual, visual, and adaptive flashcards powered by spaced repetition.

    Python

  3. bekkbekkPublic

    Estimate parameters of BEKK model

    Python 13 8

  4. diffusionsdiffusionsPublic

    Simulation and estimation of Stochastic Diffusion models

    Python 1 1

  5. finmetrixfinmetrixPublic

    FinMetrix Examples

    Jupyter Notebook 5 2

  6. vixvixPublic

    Compute VIX and related volatility indices

    Jupyter Notebook 108 35

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
View khrapovs's full-sized avatar

Block or report khrapovs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khrapovs/README.md

Stanislav Khrapov

LinkedIn

Full Resume

My name is Stanislav Khrapov. I am a full stack Machine Learning engineer with many years of experience building data science applications starting from data ingestion, modelling, and finishing with cloud deployment and monitoring services. I am passionate about data, automation, code quality, visualisation, and communicating with both technical and non-technical stakeholders.

Currently, I work as a lead data scientist at a small consulting company M2hycon. In this role I have led a cross-functional team of data scientists and data engineers designing and implementing a dynamic pricing application based on Bayesian methods. I have also taken over a project with a lot of legacy code and replaced an existing failure detection model that was using a neural network with a much simpler, faster, and more accurate classification algorithm.

In the past I was a senior data scientist at the FinTech startup Chintai based in Frankfurt am Main, Germany. My main project is the development of trade surveillance system based on unsupervised time series classification machine learning models. In the absence of comprehensive training data we have built realistic exchange market simulation with heterogeneous traders. One part of it is the fast Python-based order book matching engine (OrderBookMatchingEngine). To tie all pieces together we have designed a fully automated and reproducible pipeline to simulate market data, train and evaluate ML models catching illegal trading behaviour. As in any startup I also did a little bit of everything IT-related. This includes building GitHub actions based CI/CD pipelines to release Node.js web applications interacting with the blockchain, check code quality, unit and integration tests, search for code vulnerabilities, deploy to Kubernetes cluster running in the cloud. I have also organized processes across the company to streamline and speed up development and release activities starting from a PR and finishing with deployment to the production environment.

I started my career in data science at DB Schenker also based in Frankfurt. There I designed new time series models for forecasting of market freight prices and volumes, company internal financial indicators (EBIT, revenue, receivables, payables, etc.). My responsibilities also included writing end-to-end data ingestion, processing, forecasting, and delivery software mainly in Python and using such tools as web scraping, SQL, pandas, scikit, GitLab, Docker, AWS, Azure, Airflow, etc. I performed research on model comparison in terms of forecasting performance. On top of that I love doing sophisticated visualizations (Seaborn, Dash) for presentation to internal business clients. Finally, I regularly worked as an instructor for the internal AI Training Workshop.

Even before that, as I was working as Assistant Professor of Finance at the New Economic School in Moscow, Russia. My area of specialization was financial econometrics, option pricing, volatility modeling. During graduate education and work experience that includes both academic and industry positions I wrote research papers individually and in collaboration.

On the personal level I run and swim a lot, bike occasionally (no triathlon, please!). You can join me in this passion on Strava.

Pinned Loading

  1. OrderBookMatchingEngineOrderBookMatchingEnginePublic

    Forked from LeifKingston/OrderBookMatchingEngine

    Simple Python implementation of order book matching engine

    Python 10 3

  2. echoloop-multiagent-flashcardsecholoop-multiagent-flashcardsPublic

    A multi-agent language learning application that utilizes collaborative LLM agents to dynamically generate contextual, visual, and adaptive flashcards powered by spaced repetition.

    Python

  3. bekkbekkPublic

    Estimate parameters of BEKK model

    Python 13 8

  4. diffusionsdiffusionsPublic

    Simulation and estimation of Stochastic Diffusion models

    Python 1 1

  5. finmetrixfinmetrixPublic

    FinMetrix Examples

    Jupyter Notebook 5 2

  6. vixvixPublic

    Compute VIX and related volatility indices

    Jupyter Notebook 108 35

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View khrapovs's full-sized avatar

Block or report khrapovs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khrapovs/README.md

Stanislav Khrapov

LinkedIn

Full Resume

My name is Stanislav Khrapov. I am a full stack Machine Learning engineer with many years of experience building data science applications starting from data ingestion, modelling, and finishing with cloud deployment and monitoring services. I am passionate about data, automation, code quality, visualisation, and communicating with both technical and non-technical stakeholders.

Currently, I work as a lead data scientist at a small consulting company M2hycon. In this role I have led a cross-functional team of data scientists and data engineers designing and implementing a dynamic pricing application based on Bayesian methods. I have also taken over a project with a lot of legacy code and replaced an existing failure detection model that was using a neural network with a much simpler, faster, and more accurate classification algorithm.

In the past I was a senior data scientist at the FinTech startup Chintai based in Frankfurt am Main, Germany. My main project is the development of trade surveillance system based on unsupervised time series classification machine learning models. In the absence of comprehensive training data we have built realistic exchange market simulation with heterogeneous traders. One part of it is the fast Python-based order book matching engine (OrderBookMatchingEngine). To tie all pieces together we have designed a fully automated and reproducible pipeline to simulate market data, train and evaluate ML models catching illegal trading behaviour. As in any startup I also did a little bit of everything IT-related. This includes building GitHub actions based CI/CD pipelines to release Node.js web applications interacting with the blockchain, check code quality, unit and integration tests, search for code vulnerabilities, deploy to Kubernetes cluster running in the cloud. I have also organized processes across the company to streamline and speed up development and release activities starting from a PR and finishing with deployment to the production environment.

I started my career in data science at DB Schenker also based in Frankfurt. There I designed new time series models for forecasting of market freight prices and volumes, company internal financial indicators (EBIT, revenue, receivables, payables, etc.). My responsibilities also included writing end-to-end data ingestion, processing, forecasting, and delivery software mainly in Python and using such tools as web scraping, SQL, pandas, scikit, GitLab, Docker, AWS, Azure, Airflow, etc. I performed research on model comparison in terms of forecasting performance. On top of that I love doing sophisticated visualizations (Seaborn, Dash) for presentation to internal business clients. Finally, I regularly worked as an instructor for the internal AI Training Workshop.

Even before that, as I was working as Assistant Professor of Finance at the New Economic School in Moscow, Russia. My area of specialization was financial econometrics, option pricing, volatility modeling. During graduate education and work experience that includes both academic and industry positions I wrote research papers individually and in collaboration.

On the personal level I run and swim a lot, bike occasionally (no triathlon, please!). You can join me in this passion on Strava.

Pinned Loading

  1. OrderBookMatchingEngineOrderBookMatchingEnginePublic

    Forked from LeifKingston/OrderBookMatchingEngine

    Simple Python implementation of order book matching engine

    Python 10 3

  2. echoloop-multiagent-flashcardsecholoop-multiagent-flashcardsPublic

    A multi-agent language learning application that utilizes collaborative LLM agents to dynamically generate contextual, visual, and adaptive flashcards powered by spaced repetition.

    Python

  3. bekkbekkPublic

    Estimate parameters of BEKK model

    Python 13 8

  4. diffusionsdiffusionsPublic

    Simulation and estimation of Stochastic Diffusion models

    Python 1 1

  5. finmetrixfinmetrixPublic

    FinMetrix Examples

    Jupyter Notebook 5 2

  6. vixvixPublic

    Compute VIX and related volatility indices

    Jupyter Notebook 108 35

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View khrapovs's full-sized avatar

Block or report khrapovs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khrapovs/README.md

Stanislav Khrapov

LinkedIn

Full Resume

My name is Stanislav Khrapov. I am a full stack Machine Learning engineer with many years of experience building data science applications starting from data ingestion, modelling, and finishing with cloud deployment and monitoring services. I am passionate about data, automation, code quality, visualisation, and communicating with both technical and non-technical stakeholders.

Currently, I work as a lead data scientist at a small consulting company M2hycon. In this role I have led a cross-functional team of data scientists and data engineers designing and implementing a dynamic pricing application based on Bayesian methods. I have also taken over a project with a lot of legacy code and replaced an existing failure detection model that was using a neural network with a much simpler, faster, and more accurate classification algorithm.

In the past I was a senior data scientist at the FinTech startup Chintai based in Frankfurt am Main, Germany. My main project is the development of trade surveillance system based on unsupervised time series classification machine learning models. In the absence of comprehensive training data we have built realistic exchange market simulation with heterogeneous traders. One part of it is the fast Python-based order book matching engine (OrderBookMatchingEngine). To tie all pieces together we have designed a fully automated and reproducible pipeline to simulate market data, train and evaluate ML models catching illegal trading behaviour. As in any startup I also did a little bit of everything IT-related. This includes building GitHub actions based CI/CD pipelines to release Node.js web applications interacting with the blockchain, check code quality, unit and integration tests, search for code vulnerabilities, deploy to Kubernetes cluster running in the cloud. I have also organized processes across the company to streamline and speed up development and release activities starting from a PR and finishing with deployment to the production environment.

I started my career in data science at DB Schenker also based in Frankfurt. There I designed new time series models for forecasting of market freight prices and volumes, company internal financial indicators (EBIT, revenue, receivables, payables, etc.). My responsibilities also included writing end-to-end data ingestion, processing, forecasting, and delivery software mainly in Python and using such tools as web scraping, SQL, pandas, scikit, GitLab, Docker, AWS, Azure, Airflow, etc. I performed research on model comparison in terms of forecasting performance. On top of that I love doing sophisticated visualizations (Seaborn, Dash) for presentation to internal business clients. Finally, I regularly worked as an instructor for the internal AI Training Workshop.

Even before that, as I was working as Assistant Professor of Finance at the New Economic School in Moscow, Russia. My area of specialization was financial econometrics, option pricing, volatility modeling. During graduate education and work experience that includes both academic and industry positions I wrote research papers individually and in collaboration.

On the personal level I run and swim a lot, bike occasionally (no triathlon, please!). You can join me in this passion on Strava.

Pinned Loading

  1. OrderBookMatchingEngineOrderBookMatchingEnginePublic

    Forked from LeifKingston/OrderBookMatchingEngine

    Simple Python implementation of order book matching engine

    Python 10 3

  2. echoloop-multiagent-flashcardsecholoop-multiagent-flashcardsPublic

    A multi-agent language learning application that utilizes collaborative LLM agents to dynamically generate contextual, visual, and adaptive flashcards powered by spaced repetition.

    Python

  3. bekkbekkPublic

    Estimate parameters of BEKK model

    Python 13 8

  4. diffusionsdiffusionsPublic

    Simulation and estimation of Stochastic Diffusion models

    Python 1 1

  5. finmetrixfinmetrixPublic

    FinMetrix Examples

    Jupyter Notebook 5 2

  6. vixvixPublic

    Compute VIX and related volatility indices

    Jupyter Notebook 108 35

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
View khrapovs's full-sized avatar

Block or report khrapovs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khrapovs/README.md

Stanislav Khrapov

LinkedIn

Full Resume

My name is Stanislav Khrapov. I am a full stack Machine Learning engineer with many years of experience building data science applications starting from data ingestion, modelling, and finishing with cloud deployment and monitoring services. I am passionate about data, automation, code quality, visualisation, and communicating with both technical and non-technical stakeholders.

Currently, I work as a lead data scientist at a small consulting company M2hycon. In this role I have led a cross-functional team of data scientists and data engineers designing and implementing a dynamic pricing application based on Bayesian methods. I have also taken over a project with a lot of legacy code and replaced an existing failure detection model that was using a neural network with a much simpler, faster, and more accurate classification algorithm.

In the past I was a senior data scientist at the FinTech startup Chintai based in Frankfurt am Main, Germany. My main project is the development of trade surveillance system based on unsupervised time series classification machine learning models. In the absence of comprehensive training data we have built realistic exchange market simulation with heterogeneous traders. One part of it is the fast Python-based order book matching engine (OrderBookMatchingEngine). To tie all pieces together we have designed a fully automated and reproducible pipeline to simulate market data, train and evaluate ML models catching illegal trading behaviour. As in any startup I also did a little bit of everything IT-related. This includes building GitHub actions based CI/CD pipelines to release Node.js web applications interacting with the blockchain, check code quality, unit and integration tests, search for code vulnerabilities, deploy to Kubernetes cluster running in the cloud. I have also organized processes across the company to streamline and speed up development and release activities starting from a PR and finishing with deployment to the production environment.

I started my career in data science at DB Schenker also based in Frankfurt. There I designed new time series models for forecasting of market freight prices and volumes, company internal financial indicators (EBIT, revenue, receivables, payables, etc.). My responsibilities also included writing end-to-end data ingestion, processing, forecasting, and delivery software mainly in Python and using such tools as web scraping, SQL, pandas, scikit, GitLab, Docker, AWS, Azure, Airflow, etc. I performed research on model comparison in terms of forecasting performance. On top of that I love doing sophisticated visualizations (Seaborn, Dash) for presentation to internal business clients. Finally, I regularly worked as an instructor for the internal AI Training Workshop.

Even before that, as I was working as Assistant Professor of Finance at the New Economic School in Moscow, Russia. My area of specialization was financial econometrics, option pricing, volatility modeling. During graduate education and work experience that includes both academic and industry positions I wrote research papers individually and in collaboration.

On the personal level I run and swim a lot, bike occasionally (no triathlon, please!). You can join me in this passion on Strava.

Pinned Loading

  1. OrderBookMatchingEngineOrderBookMatchingEnginePublic

    Forked from LeifKingston/OrderBookMatchingEngine

    Simple Python implementation of order book matching engine

    Python 10 3

  2. echoloop-multiagent-flashcardsecholoop-multiagent-flashcardsPublic

    A multi-agent language learning application that utilizes collaborative LLM agents to dynamically generate contextual, visual, and adaptive flashcards powered by spaced repetition.

    Python

  3. bekkbekkPublic

    Estimate parameters of BEKK model

    Python 13 8

  4. diffusionsdiffusionsPublic

    Simulation and estimation of Stochastic Diffusion models

    Python 1 1

  5. finmetrixfinmetrixPublic

    FinMetrix Examples

    Jupyter Notebook 5 2

  6. vixvixPublic

    Compute VIX and related volatility indices

    Jupyter Notebook 108 35

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View khrapovs's full-sized avatar

Block or report khrapovs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khrapovs/README.md

Stanislav Khrapov

LinkedIn

Full Resume

My name is Stanislav Khrapov. I am a full stack Machine Learning engineer with many years of experience building data science applications starting from data ingestion, modelling, and finishing with cloud deployment and monitoring services. I am passionate about data, automation, code quality, visualisation, and communicating with both technical and non-technical stakeholders.

Currently, I work as a lead data scientist at a small consulting company M2hycon. In this role I have led a cross-functional team of data scientists and data engineers designing and implementing a dynamic pricing application based on Bayesian methods. I have also taken over a project with a lot of legacy code and replaced an existing failure detection model that was using a neural network with a much simpler, faster, and more accurate classification algorithm.

In the past I was a senior data scientist at the FinTech startup Chintai based in Frankfurt am Main, Germany. My main project is the development of trade surveillance system based on unsupervised time series classification machine learning models. In the absence of comprehensive training data we have built realistic exchange market simulation with heterogeneous traders. One part of it is the fast Python-based order book matching engine (OrderBookMatchingEngine). To tie all pieces together we have designed a fully automated and reproducible pipeline to simulate market data, train and evaluate ML models catching illegal trading behaviour. As in any startup I also did a little bit of everything IT-related. This includes building GitHub actions based CI/CD pipelines to release Node.js web applications interacting with the blockchain, check code quality, unit and integration tests, search for code vulnerabilities, deploy to Kubernetes cluster running in the cloud. I have also organized processes across the company to streamline and speed up development and release activities starting from a PR and finishing with deployment to the production environment.

I started my career in data science at DB Schenker also based in Frankfurt. There I designed new time series models for forecasting of market freight prices and volumes, company internal financial indicators (EBIT, revenue, receivables, payables, etc.). My responsibilities also included writing end-to-end data ingestion, processing, forecasting, and delivery software mainly in Python and using such tools as web scraping, SQL, pandas, scikit, GitLab, Docker, AWS, Azure, Airflow, etc. I performed research on model comparison in terms of forecasting performance. On top of that I love doing sophisticated visualizations (Seaborn, Dash) for presentation to internal business clients. Finally, I regularly worked as an instructor for the internal AI Training Workshop.

Even before that, as I was working as Assistant Professor of Finance at the New Economic School in Moscow, Russia. My area of specialization was financial econometrics, option pricing, volatility modeling. During graduate education and work experience that includes both academic and industry positions I wrote research papers individually and in collaboration.

On the personal level I run and swim a lot, bike occasionally (no triathlon, please!). You can join me in this passion on Strava.

Pinned Loading

  1. OrderBookMatchingEngineOrderBookMatchingEnginePublic

    Forked from LeifKingston/OrderBookMatchingEngine

    Simple Python implementation of order book matching engine

    Python 10 3

  2. echoloop-multiagent-flashcardsecholoop-multiagent-flashcardsPublic

    A multi-agent language learning application that utilizes collaborative LLM agents to dynamically generate contextual, visual, and adaptive flashcards powered by spaced repetition.

    Python

  3. bekkbekkPublic

    Estimate parameters of BEKK model

    Python 13 8

  4. diffusionsdiffusionsPublic

    Simulation and estimation of Stochastic Diffusion models

    Python 1 1

  5. finmetrixfinmetrixPublic

    FinMetrix Examples

    Jupyter Notebook 5 2

  6. vixvixPublic

    Compute VIX and related volatility indices

    Jupyter Notebook 108 35

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
View khrapovs's full-sized avatar

Block or report khrapovs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khrapovs/README.md

Stanislav Khrapov

LinkedIn

Full Resume

My name is Stanislav Khrapov. I am a full stack Machine Learning engineer with many years of experience building data science applications starting from data ingestion, modelling, and finishing with cloud deployment and monitoring services. I am passionate about data, automation, code quality, visualisation, and communicating with both technical and non-technical stakeholders.

Currently, I work as a lead data scientist at a small consulting company M2hycon. In this role I have led a cross-functional team of data scientists and data engineers designing and implementing a dynamic pricing application based on Bayesian methods. I have also taken over a project with a lot of legacy code and replaced an existing failure detection model that was using a neural network with a much simpler, faster, and more accurate classification algorithm.

In the past I was a senior data scientist at the FinTech startup Chintai based in Frankfurt am Main, Germany. My main project is the development of trade surveillance system based on unsupervised time series classification machine learning models. In the absence of comprehensive training data we have built realistic exchange market simulation with heterogeneous traders. One part of it is the fast Python-based order book matching engine (OrderBookMatchingEngine). To tie all pieces together we have designed a fully automated and reproducible pipeline to simulate market data, train and evaluate ML models catching illegal trading behaviour. As in any startup I also did a little bit of everything IT-related. This includes building GitHub actions based CI/CD pipelines to release Node.js web applications interacting with the blockchain, check code quality, unit and integration tests, search for code vulnerabilities, deploy to Kubernetes cluster running in the cloud. I have also organized processes across the company to streamline and speed up development and release activities starting from a PR and finishing with deployment to the production environment.

I started my career in data science at DB Schenker also based in Frankfurt. There I designed new time series models for forecasting of market freight prices and volumes, company internal financial indicators (EBIT, revenue, receivables, payables, etc.). My responsibilities also included writing end-to-end data ingestion, processing, forecasting, and delivery software mainly in Python and using such tools as web scraping, SQL, pandas, scikit, GitLab, Docker, AWS, Azure, Airflow, etc. I performed research on model comparison in terms of forecasting performance. On top of that I love doing sophisticated visualizations (Seaborn, Dash) for presentation to internal business clients. Finally, I regularly worked as an instructor for the internal AI Training Workshop.

Even before that, as I was working as Assistant Professor of Finance at the New Economic School in Moscow, Russia. My area of specialization was financial econometrics, option pricing, volatility modeling. During graduate education and work experience that includes both academic and industry positions I wrote research papers individually and in collaboration.

On the personal level I run and swim a lot, bike occasionally (no triathlon, please!). You can join me in this passion on Strava.

Pinned Loading

  1. OrderBookMatchingEngineOrderBookMatchingEnginePublic

    Forked from LeifKingston/OrderBookMatchingEngine

    Simple Python implementation of order book matching engine

    Python 10 3

  2. echoloop-multiagent-flashcardsecholoop-multiagent-flashcardsPublic

    A multi-agent language learning application that utilizes collaborative LLM agents to dynamically generate contextual, visual, and adaptive flashcards powered by spaced repetition.

    Python

  3. bekkbekkPublic

    Estimate parameters of BEKK model

    Python 13 8

  4. diffusionsdiffusionsPublic

    Simulation and estimation of Stochastic Diffusion models

    Python 1 1

  5. finmetrixfinmetrixPublic

    FinMetrix Examples

    Jupyter Notebook 5 2

  6. vixvixPublic

    Compute VIX and related volatility indices

    Jupyter Notebook 108 35

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
View khrapovs's full-sized avatar

Block or report khrapovs

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khrapovs/README.md

Stanislav Khrapov

LinkedIn

Full Resume

My name is Stanislav Khrapov. I am a full stack Machine Learning engineer with many years of experience building data science applications starting from data ingestion, modelling, and finishing with cloud deployment and monitoring services. I am passionate about data, automation, code quality, visualisation, and communicating with both technical and non-technical stakeholders.

Currently, I work as a lead data scientist at a small consulting company M2hycon. In this role I have led a cross-functional team of data scientists and data engineers designing and implementing a dynamic pricing application based on Bayesian methods. I have also taken over a project with a lot of legacy code and replaced an existing failure detection model that was using a neural network with a much simpler, faster, and more accurate classification algorithm.

In the past I was a senior data scientist at the FinTech startup Chintai based in Frankfurt am Main, Germany. My main project is the development of trade surveillance system based on unsupervised time series classification machine learning models. In the absence of comprehensive training data we have built realistic exchange market simulation with heterogeneous traders. One part of it is the fast Python-based order book matching engine (OrderBookMatchingEngine). To tie all pieces together we have designed a fully automated and reproducible pipeline to simulate market data, train and evaluate ML models catching illegal trading behaviour. As in any startup I also did a little bit of everything IT-related. This includes building GitHub actions based CI/CD pipelines to release Node.js web applications interacting with the blockchain, check code quality, unit and integration tests, search for code vulnerabilities, deploy to Kubernetes cluster running in the cloud. I have also organized processes across the company to streamline and speed up development and release activities starting from a PR and finishing with deployment to the production environment.

I started my career in data science at DB Schenker also based in Frankfurt. There I designed new time series models for forecasting of market freight prices and volumes, company internal financial indicators (EBIT, revenue, receivables, payables, etc.). My responsibilities also included writing end-to-end data ingestion, processing, forecasting, and delivery software mainly in Python and using such tools as web scraping, SQL, pandas, scikit, GitLab, Docker, AWS, Azure, Airflow, etc. I performed research on model comparison in terms of forecasting performance. On top of that I love doing sophisticated visualizations (Seaborn, Dash) for presentation to internal business clients. Finally, I regularly worked as an instructor for the internal AI Training Workshop.

Even before that, as I was working as Assistant Professor of Finance at the New Economic School in Moscow, Russia. My area of specialization was financial econometrics, option pricing, volatility modeling. During graduate education and work experience that includes both academic and industry positions I wrote research papers individually and in collaboration.

On the personal level I run and swim a lot, bike occasionally (no triathlon, please!). You can join me in this passion on Strava.

Pinned Loading

  1. OrderBookMatchingEngineOrderBookMatchingEnginePublic

    Forked from LeifKingston/OrderBookMatchingEngine

    Simple Python implementation of order book matching engine

    Python 10 3

  2. echoloop-multiagent-flashcardsecholoop-multiagent-flashcardsPublic

    A multi-agent language learning application that utilizes collaborative LLM agents to dynamically generate contextual, visual, and adaptive flashcards powered by spaced repetition.

    Python

  3. bekkbekkPublic

    Estimate parameters of BEKK model

    Python 13 8

  4. diffusionsdiffusionsPublic

    Simulation and estimation of Stochastic Diffusion models

    Python 1 1

  5. finmetrixfinmetrixPublic

    FinMetrix Examples

    Jupyter Notebook 5 2

  6. vixvixPublic

    Compute VIX and related volatility indices

    Jupyter Notebook 108 35