This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/asf-site by this push: new 26cf5f70ca7 Publishing website 2023/06/26 22:17:27 at commit a845d97 26cf5f70ca7 is described below commit 26cf5f70ca7959f0e267b4b21f2f2afaaf517366 Author: jenkins <bui...@apache.org> AuthorDate: Mon Jun 26 22:17:27 2023 +0000 Publishing website 2023/06/26 22:17:27 at commit a845d97 --- .../generated-content/case-studies/hsbc/index.html | 30 ++++ website/generated-content/case-studies/index.html | 3 +- website/generated-content/case-studies/index.xml | 196 +++++++++++++++++++-- .../images/case-study/hsbc/andrzej_golonka.jpg | Bin 0 -> 40744 bytes .../images/case-study/hsbc/chup_cheng.jpg | Bin 0 -> 114863 bytes .../images/case-study/hsbc/scheme-10.png | Bin 0 -> 150719 bytes .../images/case-study/hsbc/scheme-11.png | Bin 0 -> 34104 bytes .../images/case-study/hsbc/scheme-9.png | Bin 0 -> 39137 bytes .../images/logos/powered-by/hsbc.png | Bin 0 -> 3391 bytes website/generated-content/index.html | 3 +- website/generated-content/sitemap.xml | 2 +- 11 files changed, 218 insertions(+), 16 deletions(-) diff --git a/website/generated-content/case-studies/hsbc/index.html b/website/generated-content/case-studies/hsbc/index.html new file mode 100644 index 00000000000..0c2c503ad2a --- /dev/null +++ b/website/generated-content/case-studies/hsbc/index.html @@ -0,0 +1,30 @@ +<!doctype html><html lang=en class=no-js><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>High-Performance Quantitative Risk Analysis with Apache Beam at HSBC</title><meta name=description content="Apache Beam is an open source, unified model and set of language-specific SDKs for defining and executing data processing workflows, and also data ingestion and integration flows, supporting Ent [...] +<a class=navbar-link href=/get-started/>Get Started</a> +<a class=navbar-link href=/documentation/>Documentation</a> +<button type=button class="navbar-toggle menu-open" aria-expanded=false aria-controls=navbar onclick=openMenu()> +<span class=sr-only>Toggle navigation</span> +<span class=icon-bar></span><span class=icon-bar></span><span class=icon-bar></span></button></div><div class="navbar-mask closed"></div><div id=navbar class="navbar-container closed"><button type=button class=navbar-toggle aria-expanded=false aria-controls=navbar id=closeMenu> +<span class=sr-only>Toggle navigation</span> +<span class=icon-bar></span><span class=icon-bar></span><span class=icon-bar></span></button><ul class="nav navbar-nav"><li><div class=searchBar-mobile><script>(function(){var cx='012923275103528129024:4emlchv9wzi';var gcse=document.createElement('script');gcse.type='text/javascript';gcse.async=true;gcse.src='https://cse.google.com/cse.js?cx='+cx;var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(gcse,s);})();</script><gcse:search></gcse:search></div></li><li><a c [...] + Apache +<span class=arrow-icon><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" fill="#ff6d00"/><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.535 5.28l4.573 4.818-4.573 4.403"/></svg></span></a><ul class="dropdown-menu dropdown-menu-right"><li><a target=_blank href=https://www.apache.org/>ASF Homepage</a></li><li><a target=_blank href=https://www.apache.org/licenses/>License</ [...] +<a class=navbar-link href=/get-started/>Get Started</a><li class="dropdown navbar-dropdown navbar-dropdown-documentation"><a href=# class="dropdown-toggle navbar-link" role=button aria-haspopup=true aria-expanded=false>Documentation +<span><svg xmlns="http://www.w3.org/2000/svg" width="12" height="11" fill="none" viewBox="0 0 12 11"><path stroke="#ff6d00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.666 4.535 5.847 9.108 1.444 4.535"/></svg></span></a><ul class=dropdown-menu><li><a class=navbar-dropdown-menu-link href=/documentation/>General</a></li><li><a class=navbar-dropdown-menu-link href=/documentation/sdks/java/>Languages</a></li><li><a class=navbar-dropdown-menu-link href=/documentati [...] +<a class=navbar-link href=/community/>Community</a> +<a class=navbar-link href=/contribute/>Contribute</a> +<a class=navbar-link href=/blog/>Blog</a> +<a class=navbar-link href=/case-studies/>Case Studies</a></div><div id=iconsBar><a type=button onclick=showSearch()><svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" fill="none" viewBox="0 0 25 24"><path stroke="#ff6d00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.75" d="M10.191 17c3.866.0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zM21.191 21l-6-6"/></svg></a><a target=_blank href=https://github.com/apache/beam/edit/master/website/www/site/content/en [...] + Apache +<span class=arrow-icon><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" fill="#ff6d00"/><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.535 5.28l4.573 4.818-4.573 4.403"/></svg></span></a><ul class=dropdown-menu><li><a class=navbar-dropdown-menu-link target=_blank href=https://www.apache.org/>ASF Homepage</a></li><li><a class=navbar-dropdown-menu-link target=_blank href= [...] +<img class=banner-img-mobile src=/images/banner_mobile.png alt=banner-mobile></a></div><div class=swiper-slide><a href=https://tour.beam.apache.org><img class=banner-img-desktop src=/images/banners/tour-of-beam/tour-of-beam-desktop.png alt="Start Tour of Beam"> +<img class=banner-img-mobile src=/images/banners/tour-of-beam/tour-of-beam-mobile.png alt="Start Tour of Beam"></a></div><div class=swiper-slide><a href=https://beam.apache.org/documentation/ml/overview/><img class=banner-img-desktop src=/images/banners/machine-learning/machine-learning-desktop.jpg alt="Machine Learning"> +<img class=banner-img-mobile src=/images/banners/machine-learning/machine-learning-mobile.jpg alt="Machine Learning"></a></div></div><div class=swiper-pagination></div></div><script src=/js/swiper-bundle.min.min.7254d5540ccfd11a365b2208463211a9711f0a5ec142279e3a8467eaba087a51.js></script><script src=/js/sliders/top-banners.min.23c91b8be0b1fbdeb1377538e4c0de356631d9311eb3daef74f1dc389091e35f.js></script><script>function showSearch(){addPlaceholder();var search=document.querySelector(".sea [...] +function addPlaceholder(){$('input:text').attr('placeholder',"What are you looking for?");} +function endSearch(){var search=document.querySelector(".searchBar");search.classList.add("disappear");var icons=document.querySelector("#iconsBar");icons.classList.remove("disappear");} +function blockScroll(){$("body").toggleClass("fixedPosition");} +function openMenu(){addPlaceholder();blockScroll();}</script><div class="clearfix container-main-content"><nav class="page-nav clearfix" data-offset-top=90 data-offset-bottom=500><nav id=TableOfContents><ul><li><a href=#background>Background</a></li><li><a href=#risk-management-at-scale>Risk Management at Scale</a></li><li><a href=#journey-to-beam>Journey to Beam</a></li><li><a href=#data-distribution-easier-than-before>Data Distribution Easier than Before</a></li><li><a href=#beam-as-a- [...] +<button class="btn case-study-feedback-btn" onclick="sendCaseStudyFeedback(false,'HSBC')">No</button></div></div></div><div class=clear-nav></div></div></div></div></article></div></div><footer class=footer><div class=footer__contained><div class=footer__cols><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col__logo><img src=/images/beam_logo_circle.svg class=footer__logo alt="Beam logo"></div><div class=footer__cols__col__logo><img src=/images/apache_log [...] +<a href=https://www.apache.org>The Apache Software Foundation</a> +| <a href=/privacy_policy>Privacy Policy</a> +| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...] +container.innerHTML='<p class="case-study-feedback-title">Thank you for your feedback!</p>'}</script></body></html> \ No newline at end of file diff --git a/website/generated-content/case-studies/index.html b/website/generated-content/case-studies/index.html index 7a8b81725fa..51cbb13734e 100644 --- a/website/generated-content/case-studies/index.html +++ b/website/generated-content/case-studies/index.html @@ -23,7 +23,8 @@ function addPlaceholder(){$('input:text').attr('placeholder',"What are you looki function endSearch(){var search=document.querySelector(".searchBar");search.classList.add("disappear");var icons=document.querySelector("#iconsBar");icons.classList.remove("disappear");} function blockScroll(){$("body").toggleClass("fixedPosition");} function openMenu(){addPlaceholder();blockScroll();}</script><div class="clearfix container-main-content"><nav class="page-nav clearfix" data-offset-top=90 data-offset-bottom=500><nav id=TableOfContents></nav></nav><div class="body__contained body__section-no-nav--wide case-study-page"><div class=blog-content><h1>Case Studies</h1><p class=case-study-about>Apache Beam powers many of today’s leading projects, industry-specific use cases, and -startups.</p><div class=case-study-list><div class=case-study-card><div class=case-study-card-img><img src=/images/logos/powered-by/project_shield.png loading=lazy></i></div><h3 class=case-study-card-title>Efficient Streaming Analytics: Making the Web a Safer Place with Project Shield</h3><p class=case-study-card-description>Project Shield defends the websites of over 3K vulnerable organizations in >150 countries against DDoS attacks with the mission of protecting freedom of speech. The [...] +startups.</p><div class=case-study-list><div class=case-study-card><div class=case-study-card-img><img src=/images/logos/powered-by/hsbc.png loading=lazy></i></div><h3 class=case-study-card-title>High-Performance Quantitative Risk Analysis with Apache Beam at HSBC</h3><p class=case-study-card-description>HSBC finds Apache Beam to be more than a data processing framework. It is also a computational platform and a risk engine that allowed for 100x scaling and 2x faster performance of HSBC’ [...] +<img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div class=case-study-card><div class=case-study-card-img><img src=/images/logos/powered-by/project_shield.png loading=lazy></i></div><h3 class=case-study-card-title>Efficient Streaming Analytics: Making the Web a Safer Place with Project Shield</h3><p class=case-study-card-description>Project Shield defends the websites of over 3K vulnerable organizations in >150 countries against DDoS attacks with the mission of prot [...] <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div class=case-study-card><div class=case-study-card-img><img src=/images/logos/powered-by/booking.png loading=lazy></i></div><h3 class=case-study-card-title>Mass Ad Bidding With Beam at Booking.com</h3><p class=case-study-card-description>Apache Beam powers Booking.com’s global ads bidding and performance infrastructure, supporting 1M+ queries monthly for workflows across multiple data systems scanning 2 PB+ of analy [...] <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div class=case-study-card><div class=case-study-card-img><img src=/images/logos/powered-by/credit-karma.png loading=lazy></i></div><h3 class=case-study-card-title>Self-service Machine Learning Workflows and Scaling MLOps with Apache Beam</h3><p class=case-study-card-description>Apache Beam has future-proofed Credit Karma’s data and ML platform for scalability and efficiency, enabling MLOps with unified pipelines, proc [...] <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div class=case-study-card><div class=case-study-card-img><img src=/images/logos/powered-by/intuit.png loading=lazy></i></div><h3 class=case-study-card-title>Powering Streaming and Real-time ML at Intuit</h3><p class=case-study-card-description>We feel that the runner agnosticism of Apache Beam affords flexibility and future-proofs our Stream Processing Platform as new runtimes are developed. Apache Beam enabled the de [...] diff --git a/website/generated-content/case-studies/index.xml b/website/generated-content/case-studies/index.xml index a79be11fd83..fb2ed36ef47 100644 --- a/website/generated-content/case-studies/index.xml +++ b/website/generated-content/case-studies/index.xml @@ -1,4 +1,185 @@ -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Beam – Case Studies</title><link>/case-studies/</link><description>Recent content in Case Studies on Apache Beam</description><generator>Hugo -- gohugo.io</generator><atom:link href="/case-studies/index.xml" rel="self" type="application/rss+xml"/><item><title>Case-Studies: Efficient Streaming Analytics: Making the Web a Safer Place with Project Shield</title><link>/case-studies/projectshield/</link><pubDat [...] +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Beam – Case Studies</title><link>/case-studies/</link><description>Recent content in Case Studies on Apache Beam</description><generator>Hugo -- gohugo.io</generator><atom:link href="/case-studies/index.xml" rel="self" type="application/rss+xml"/><item><title>Case-Studies: High-Performance Quantitative Risk Analysis with Apache Beam at HSBC</title><link>/case-studies/hsbc/</link><pubDate>Tue, 20 Jun 2023 0 [...] +<!-- +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> +<div class="case-study-opinion"> +<div class="case-study-opinion-img"> +<img src="/images/logos/powered-by/hsbc.png"/> +</div> +<blockquote class="case-study-quote-block"> +<p class="case-study-quote-text"> +“Our data volume is huge and Apache Beam helps make it manageable. For each of the millions of trades per day, we generate a simulation of their market valuation evolution at granular level of future time increment, then by scanning multiple plausible market scenarios we aggregate this massive data into meaningful statistics. Apache Beam helps harness all of that data and makes data distribution much easier than before.” +</p> +<div class="case-study-quote-author"> +<div class="case-study-quote-author-img"> +<img src="/images/case-study/hsbc/andrzej_golonka.jpg"> +</div> +<div class="case-study-quote-author-info"> +<div class="case-study-quote-author-name"> +Andrzej Golonka +</div> +<div class="case-study-quote-author-position"> +Lead Assistant Vice President @ HSBC +</div> +</div> +</div> +</blockquote> +<blockquote class="case-study-quote-block"> +<p class="case-study-quote-text"> +“The Apache Beam Python SDK brought math to the orchestration level by providing an easy way for HSBC’s model development team to emulate sophisticated mathematical dependencies between nodes of business logic workflow in pipelines written in Python. We used to spend at least 6 months deploying even small changes to a system of equations in production. With the new team structure driven by Apache Beam, we now can deploy changes as quickly as within 1 week.” +</p> +<div class="case-study-quote-author"> +<div class="case-study-quote-author-img"> +<img src="/images/case-study/hsbc/chup_cheng.jpg"> +</div> +<div class="case-study-quote-author-info"> +<div class="case-study-quote-author-name"> +Chup Cheng +</div> +<div class="case-study-quote-author-position"> +VP of XVA and CCR Capital Analytics @ HSBC +</div> +</div> +</div> +</blockquote> +</div> +<div class="case-study-post"> +<h1 id="high-performance-quantitative-risk-analysis-with-apache-beam-at-hsbc">High-Performance Quantitative Risk Analysis with Apache Beam at HSBC</h1> +<h2 id="background">Background</h2> +<p><a href="https://www.hsbc.com/">HSBC Holdings plc</a>, the parent company of HSBC, is headquartered in London. HSBC serves customers worldwide from offices in 62 countries and territories. With assets of $2,990bn as of 31 March 2023, HSBC is one of the world’s largest banking and financial services organisations. HSBC’s <a href="https://www.gbm.hsbc.com/">Global Banking and Markets business</a> provides a wide range of financial services and products to multinational co [...] +<p>HSBC’s Chup Cheng, VP of XVA and CCR Capital Analytics, and Andrzej Golonka, Lead Assistant Vice President, shared how Apache Beam serves as a computation platform and a risk engine that helps HSBC manage counterparty credit risk and XVA across their customer investment portfolios, which arises from the trillions of dollars in trading volumes between numerous of counterparties every day. Apache Beam empowered HSBC to <a href="https://2022.beamsummit.org/sessions/hpc-grid/">integ [...] +<h2 id="risk-management-at-scale">Risk Management at Scale</h2> +<p>To realize the scale and value of the Apache Beam-powered data processing at HSBC, let us delve deeper into why Counterparty credit risk calculations at financial institutions require particularly extreme compute capacity.</p> +<p>The value of an investment portfolio moves along with the financial markets and is impacted by a variety of external factors. To neutralize the risks and determine the capital reserves required by regulations, investment banks need to estimate risk exposure and make corresponding adjustments to the value of individual trades and portfolios. <a href="https://en.wikipedia.org/wiki/XVA">XVA (X-Value Adjustment) model</a> plays a crucial role in analyzing counterparty credit risk [...] +<p>XVA calculations require a vast amount of computational capacity due to the extensive matrix data and long time horizons involved. To calculate MTM matrix for one trade, a valuation function needs to iterate hundreds of thousands of times through multiple SDE matrices that weigh a few megabytes and contain hundreds of thousands of elements each.</p> +<div class="post-scheme"> +<a href="/images/case-study/hsbc/scheme-9.png" target="_blank" title="Click to enlarge"> +<img src="/images/case-study/hsbc/scheme-9.png" alt="Monte Carlo Path"> +</a> +</div> +<p>Calculating XVA on a multi-counterparties portfolio involves much more complex computations in a large system of equations. A valuation function goes through hundreds of GBs of SDE matrices, generates millions of trade-level MTM matrices, aggregates them to counterparty-level matrices, and then calculates the future exposure and XVA for each counterparty.</p> +<div class="post-scheme"> +<a href="/images/case-study/hsbc/scheme-10.png" target="_blank" title="Click to enlarge"> +<img src="/images/case-study/hsbc/scheme-10.png" alt="Calculating XVA"> +</a> +</div> +<p>The technical challenge escalates when dealing with XVA sensitives to numerous market factors. To neutralize all market risks across counterparty portfolios, investment banks need to calculate XVA sensitivity for hundreds of market factors. There are two primary ways to compute XVA sensitivity:</p> +<ol> +<li>analytically through backpropagation to input</li> +<li>numerically through observing how gradients move for XVA</li> +</ol> +<p>To obtain XVA variance, a valuation function must iterate hundreds of billions of times through the enormous system of equations, which is an extremely compute-intensive process.</p> +<p>The XVA model is indispensable for understanding counterparty credit risk in the financial industry, and its accurate computation is vital for assessing all in price of derivatives. With an extensive amount of data and complex calculations involved, efficient and timely execution of these calculations is essential for ensuring that traders can make well-informed decisions.</p> +<h2 id="journey-to-beam">Journey to Beam</h2> +<p>NOLA is HSBC’s internal data infrastructure for XVA computations. Its previous version - NOLA1 - was an on-premise solution that used a 10 TB file server as media, processing several petabytes of data in a single batch, going through a huge network of interdependencies within each system of equations, then repeating the process. HSBC’s model development team was creating new statistical models and building the Quantitative library while their IT team was fetching the necessary data [...] +<p>The 2007 to ‘08 financial crisis highlighted the need for robust and efficient computation of XVAs across the industry, and introduced additional regulations in the financial sector that required an exponentially higher amount of computations. HSBC, therefore, sought a numerical solution for calculating the XVA sensitivities for hundreds of market factors. Processing data in a single batch had become a blocker and a throughput bottleneck. The NOLA1 infrastructure and its intensive [...] +<p>HSBC engineers started looking for a new approach that would allow for scaling their data processing, maximizing throughput, and meeting critical business timelines.</p> +<p>Then, HSBC’s engineering team selected Apache Beam as a risk engine for NOLA for its scalability, flexibility, and ability to process large volumes of data in parallel. They found Apache Beam to be a natural process executor for the transformational, directed acyclic graphing process of XVA computations. The <a href="https://beam.apache.org/documentation/sdks/python/">Apache Beam Python SDK</a> offered a simple API to build new data pipelines in Python, while its abstraction [...] +<h2 id="data-distribution-easier-than-before">Data Distribution Easier than Before</h2> +<p>Apache Beam has greatly simplified data distribution for XVA calculations and allowed for handling the inter-correlated Monte Carlo simulations with distributed processing between workers.</p> +<p>The Apache Beam SDK enables users to build expressive DAGs and easily create stream or batch multi-stage pipelines in which parallel pipelined stages can be brought back together using <a href="/documentation/programming-guide/#side-inputs">side inputs</a> or <a href="/documentation/pipelines/design-your-pipeline/#merging-pcollections">joins</a>. Data movement is handled by the runner, with data expressed as PCollection objects, which are immutable parallel element coll [...] +<p>Apache Beam provides several methods for distributing C++ components:</p> +<ul> +<li>sideloading C++ components to custom worker container images (for example, custom Apache Beam or Cloud Dataflow containers) and then using DoFns to interact with C++ components out-of-the-box</li> +<li>bundling C++ with a JAR file in Apache Beam, where the C++ elements (binaries, configuration, etc.) are extracted to the local disk during the setup/teardown process in DoFn</li> +<li>including the C++ components in a <a href="/documentation/programming-guide/#pcollections">PCollection</a> as a side input, which is then deployed to the local disk</li> +</ul> +<p>The seamless integration of Apache Beam with C++ allowed HSBC’s engineers to reuse the prevalent analytics(relying on <a href="https://www.nag.com/">NAG</a> and <a href="https://en.wikipedia.org/wiki/Math_Kernel_Library">MKL</a> libraries)and select between the logic distribution methods depending on the use case and deployment environment. HSBC found protobufs especially useful for data exchange when PCollections carry the calls and input data to the C++ libraries from [...] +<div class="post-scheme"> +<a href="/images/case-study/hsbc/scheme-11.png" target="_blank" title="Click to enlarge"> +<img src="/images/case-study/hsbc/scheme-11.png" alt="beam DAG"> +</a> +</div> +<p>HSBC migrated their XVA calculations to a batch Apache Beam pipeline. Every day, the XVA pipeline computes over multiple thousands of billions of valuations within just 1 hour, consuming around 2 GB of external input data, processing from 10 to 20 TB of data inside the system of equations, and producing about 4 GB of output reports. Apache Beam distributes XVA calculations into a number of PCollections with tasks, performs the necessary transformations independently and in parallel [...] +<p>Apache Beam provides powerful <a href="/documentation/programming-guide/#transforms">transforms</a> and orchestration capabilities that helped HSBC engineers to optimize the analytical approach to XVA sensitivities calculation and enable the numerical one, which was not possible before. Instead of iterating a valuation function through the whole system of equations, HSBC’s engineers treat the system of equations as a computation graph, breaking it down into clusters with reus [...] +<p>The Apache Beam pipeline that performs analytical and numerical XVA sensitivities calculations runs daily in two separate batches. The first batch pipeline, which runs at midnight, determines the credit line consumption and capital utilisation for traders, directly affecting their trading volume the following day. The second batch, which completes before 8 am, calculates XVA sensitivities that could impact traders&rsquo; risk management and hedging strategies. The pipeline cons [...] +<p>Apache Beam offers HSBC all the traits of a traditional risk engine and more, enabling HSBC to scale the infrastructure and maximize throughput with distributed processing.</p> +<blockquote class="case-study-quote-block case-study-quote-wrapped"> +<p class="case-study-quote-text"> +Apache Beam makes data distribution much easier than before. The Monte Carlo method significantly increases the amount of data to be processed. Apache Beam helped us harness all of that data volume. +</p> +<div class="case-study-quote-author"> +<div class="case-study-quote-author-img"> +<img src="/images/case-study/hsbc/andrzej_golonka.jpg"> +</div> +<div class="case-study-quote-author-info"> +<div class="case-study-quote-author-name"> +Andrzej Golonka +</div> +<div class="case-study-quote-author-position"> +Lead Assistant Vice President @ HSBC +</div> +</div> +</div> +</blockquote> +<h2 id="beam-as-a-platform">Beam as a Platform</h2> +<p>Apache Beam is more than a data processing framework. It is also a computational platform that enables experimentation, accelerates time-to-market for new development, and simplifies deployment.</p> +<p>Apache Beam&rsquo;s dataset abstraction as PCollection increased HSBC’s model development efficiency by providing a way to organize component ownership and reduce organizational dependencies and bottlenecks. The model development team now owns data pipelines: implements new systems of equations, defines the data transfer within a system of equations in a black box mode, and sends it to the IT team. The IT team fetches, controls, and orchestrates the external data required by a [...] +<blockquote class="case-study-quote-block case-study-quote-wrapped"> +<p class="case-study-quote-text"> +In general, we used to spend at least 6 months deploying even small changes to a system of equations in production. With the new team structure driven by Apache Beam, we now can deploy changes as quickly as within 1 week. +</p> +<div class="case-study-quote-author"> +<div class="case-study-quote-author-img"> +<img src="/images/case-study/hsbc/chup_cheng.jpg"> +</div> +<div class="case-study-quote-author-info"> +<div class="case-study-quote-author-name"> +Chup Cheng +</div> +<div class="case-study-quote-author-position"> +VP of XVA and CCR Capital Analytics @ HSBC +</div> +</div> +</div> +</blockquote> +<p>By leveraging the abstractions provided by the Apache Beam unified programming model, HSBC&rsquo;s model development team can seamlessly create new data pipelines, choose an appropriate runner, and conduct experiments on Big Data without the underlying infrastructure. The Apache Beam model rules ensure the high quality of the experimental code and make it very easy to move the production-grade pipelines from experimentation to production.</p> +<blockquote class="case-study-quote-block case-study-quote-wrapped"> +<p class="case-study-quote-text"> +With Apache Beam, it’s easy to experiment with “What if” questions. If we want to know the impact of changing some parameters, we can write a simple Apache Beam code, run the pipeline, and have the answer within minutes. +</p> +<div class="case-study-quote-author"> +<div class="case-study-quote-author-img"> +<img src="/images/case-study/hsbc/andrzej_golonka.jpg"> +</div> +<div class="case-study-quote-author-info"> +<div class="case-study-quote-author-name"> +Andrzej Golonka +</div> +<div class="case-study-quote-author-position"> +Lead Assistant Vice President @ HSBC +</div> +</div> +</div> +</blockquote> +<p>One of the key advantages of Apache Beam for Monte Carlo simulations and counterparty credit risk analysis is its ability to run the same complex simulation logic in various environments, on-premise or in the cloud, with different runners. This flexibility is especially critical in situations requiring local risk analysis in different countries and compliance zones, where sensitive financial data and information cannot be transferred beyond the local perimeter. With Apache Beam, HS [...] +<h2 id="results">Results</h2> +<p>Apache Beam harnesses enormous volumes of financial market data and metrics, generates billions of trade valuations to scan plausible future scenarios reaching out around 70 years, and aggregates them into meaningful statistics, enabling HSBC to model their future scenarios and quantitatively account for risk in forecasting and decision-making.</p> +<p>With Apache Beam, HSBC’s engineers achieved a 2x increase in data processing performance and scaled their XVA batch pipeline by 100x compared to the original solution. The Apache Beam abstraction opened up a way to implement a numerical approach to XVA sensitivity calculation in production, which was not possible before. The batch Apache Beam pipeline calculates XVA sensitivities for hundreds of market factors, processing about 400 TB of internal data every day and up to 5 PB of da [...] +<p>Apache Beam portability enabled HSBC to use different runners in different regions depending on local data processing requirements and future-proof their data processing for regulatory changes.</p> +<p>Apache Beam provides seamless integration and out-of-the-box interaction with highly optimized computational components in C++, which saved HSBC the effort needed to rewrite the C++ analytics accumulated for years into Python.</p> +<p>The Apache Beam Python SDK brought math to the orchestration level by providing an easy way for HSBC’s model development team to build new Python pipelines. The new work structure driven by Apache Beam accelerated time-to-market by 24x, enabling HSBC’s teams to deploy changes and new models to production within just a few weeks.</p> +<p>By leveraging the versatile and scalable nature of Apache Beam for computing direct acyclic graphs that process large differential equations systems and Monte Carlo simulations, financial institutions can assess and manage counterparty credit risk efficiently, even in situations that demand localized analysis and strict compliance with data security regulations.</p> +<h2 id="learn-more">Learn More</h2> +<iframe class="video video--medium-size" width="560" height="315" src="https://www.youtube.com/embed/QoKWdOXyBw4" frameborder="0" allowfullscreen></iframe> +<br><br> +<div class="case-study-feedback" id="case-study-feedback"> +<p class="case-study-feedback-title">Was this information useful?</p> +<div> +<button class="btn case-study-feedback-btn" onclick="sendCaseStudyFeedback(true, 'HSBC')">Yes</button> +<button class="btn case-study-feedback-btn" onclick="sendCaseStudyFeedback(false, 'HSBC')">No</button> +</div> +</div> +</div> +<div class="clear-nav"></div></description></item><item><title>Case-Studies: Efficient Streaming Analytics: Making the Web a Safer Place with Project Shield</title><link>/case-studies/projectshield/</link><pubDate>Thu, 08 Jun 2023 00:12:00 +0000</pubDate><guid>/case-studies/projectshield/</guid><description> <!-- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -2169,15 +2350,4 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> -<p>Developed at Spotify and built on top of Apache Beam for Python, Klio is an open source framework that lets researchers and engineers build smarter data pipelines for processing audio and other media files, easily and at scale.</p></description></item><item><title>Case-Studies: Linkedin</title><link>/case-studies/linkedin/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/case-studies/linkedin/</guid><description> -<!-- -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at -http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---></description></item></channel></rss> \ No newline at end of file +<p>Developed at Spotify and built on top of Apache Beam for Python, Klio is an open source framework that lets researchers and engineers build smarter data pipelines for processing audio and other media files, easily and at scale.</p></description></item></channel></rss> \ No newline at end of file diff --git a/website/generated-content/images/case-study/hsbc/andrzej_golonka.jpg b/website/generated-content/images/case-study/hsbc/andrzej_golonka.jpg new file mode 100644 index 00000000000..8e44fa6ed94 Binary files /dev/null and b/website/generated-content/images/case-study/hsbc/andrzej_golonka.jpg differ diff --git a/website/generated-content/images/case-study/hsbc/chup_cheng.jpg b/website/generated-content/images/case-study/hsbc/chup_cheng.jpg new file mode 100644 index 00000000000..8fbb8043352 Binary files /dev/null and b/website/generated-content/images/case-study/hsbc/chup_cheng.jpg differ diff --git a/website/generated-content/images/case-study/hsbc/scheme-10.png b/website/generated-content/images/case-study/hsbc/scheme-10.png new file mode 100644 index 00000000000..941559f44b5 Binary files /dev/null and b/website/generated-content/images/case-study/hsbc/scheme-10.png differ diff --git a/website/generated-content/images/case-study/hsbc/scheme-11.png b/website/generated-content/images/case-study/hsbc/scheme-11.png new file mode 100644 index 00000000000..354c99b444e Binary files /dev/null and b/website/generated-content/images/case-study/hsbc/scheme-11.png differ diff --git a/website/generated-content/images/case-study/hsbc/scheme-9.png b/website/generated-content/images/case-study/hsbc/scheme-9.png new file mode 100644 index 00000000000..15b95c45470 Binary files /dev/null and b/website/generated-content/images/case-study/hsbc/scheme-9.png differ diff --git a/website/generated-content/images/logos/powered-by/hsbc.png b/website/generated-content/images/logos/powered-by/hsbc.png new file mode 100644 index 00000000000..b6cc7d369e3 Binary files /dev/null and b/website/generated-content/images/logos/powered-by/hsbc.png differ diff --git a/website/generated-content/index.html b/website/generated-content/index.html index 0a59247b813..15732981e28 100644 --- a/website/generated-content/index.html +++ b/website/generated-content/index.html @@ -24,7 +24,8 @@ function endSearch(){var search=document.querySelector(".searchBar");search.clas function blockScroll(){$("body").toggleClass("fixedPosition");} function openMenu(){addPlaceholder();blockScroll();}</script><div class="body__contained no__padding"><div id=hero-desktop class=hero-desktop><div class=hero-content><h3>Introducing Apache Beam</h3><h1>The Unified Apache Beam Model</h1><h2>The easiest way to do batch and streaming data processing. Write once, run anywhere data processing for mission-critical production workloads.</h2><a href=https://github.com/apache/beam><button><svg xmlns="http://www.w3.org/2000/svg" width="16" height= [...] <span>Link to GitHub Repo</span></button></a></div></div><div id=hero-mobile class=hero-mobile><div class=hero-content><h3>Introducing Apache Beam</h3><h1>The Unified Apache Beam Model</h1><h2>The easiest way to do batch and streaming data processing. Write once, run anywhere data processing for mission-critical production workloads.</h2></div></div><div class=ctas><div class=ctas_row><a class=ctas_button href=/get-started/beam-overview/><img src=images/info_icon.svg> Learn more</a></div [...] -You can try the Apache Beam examples at <a href=https://play.beam.apache.org/>Beam Playground (Beta)</a>.</p><br><br><div class=playground_or_image><a class=playground__mobile href=https://play.beam.apache.org/><img src=images/playground.png alt="beam playground"></a><div class=playground-wrapper><div class=playground-snippets><div class="language-java playground-snippet" data-sdk=java></div><div class="language-py playground-snippet" data-sdk=python></div><div class="language-go playgro [...] +You can try the Apache Beam examples at <a href=https://play.beam.apache.org/>Beam Playground (Beta)</a>.</p><br><br><div class=playground_or_image><a class=playground__mobile href=https://play.beam.apache.org/><img src=images/playground.png alt="beam playground"></a><div class=playground-wrapper><div class=playground-snippets><div class="language-java playground-snippet" data-sdk=java></div><div class="language-py playground-snippet" data-sdk=python></div><div class="language-go playgro [...] +<img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div class=case-study-row-button-container><a href=https://github.com/apache/beam/blob/master/website/ADD_CASE_STUDY.md class=case-study-primary-button target=_blank rel="noopener noreferrer">Share your story</a></div><div class=quote-img-container><div class=quote-img><img src=images/logos/powered-by/hsbc.png alt="Quote Logo"></div></div></div></div></div><div class=swiper-slide><div class=wrap-slide><div class=quote- [...] <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div class=case-study-row-button-container><a href=https://github.com/apache/beam/blob/master/website/ADD_CASE_STUDY.md class=case-study-primary-button target=_blank rel="noopener noreferrer">Share your story</a></div><div class=quote-img-container><div class=quote-img><img src=images/logos/powered-by/project_shield.png alt="Quote Logo"></div></div></div></div></div><div class=swiper-slide><div class=wrap-slide><div cl [...] <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div class=case-study-row-button-container><a href=https://github.com/apache/beam/blob/master/website/ADD_CASE_STUDY.md class=case-study-primary-button target=_blank rel="noopener noreferrer">Share your story</a></div><div class=quote-img-container><div class=quote-img><img src=images/logos/powered-by/booking.png alt="Quote Logo"></div></div></div></div></div><div class=swiper-slide><div class=wrap-slide><div class=quo [...] <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div class=case-study-row-button-container><a href=https://github.com/apache/beam/blob/master/website/ADD_CASE_STUDY.md class=case-study-primary-button target=_blank rel="noopener noreferrer">Share your story</a></div><div class=quote-img-container><div class=quote-img><img src=images/logos/powered-by/credit-karma.png alt="Quote Logo"></div></div></div></div></div><div class=swiper-slide><div class=wrap-slide><div clas [...] diff --git a/website/generated-content/sitemap.xml b/website/generated-content/sitemap.xml index ee9ed18eec6..ce9b348bcc1 100644 --- a/website/generated-content/sitemap.xml +++ b/website/generated-content/sitemap.xml @@ -1 +1 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/categories/blog/</loc><lastmod>2023-06-26T16:29:09+02:00</lastmod></url><url><loc>/blog/</loc><lastmod>2023-06-26T16:29:09+02:00</lastmod></url><url><loc>/categories/</loc><lastmod>2023-06-26T16:29:09+02:00</lastmod></url><url><loc>/blog/managing-beam-dependencies-in-java/</loc><lastmod>2023-06-26T16:29:09+02:00</lastmod> [...] \ No newline at end of file +<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/categories/blog/</loc><lastmod>2023-06-26T17:41:21-04:00</lastmod></url><url><loc>/blog/</loc><lastmod>2023-06-26T17:41:21-04:00</lastmod></url><url><loc>/categories/</loc><lastmod>2023-06-26T17:41:21-04:00</lastmod></url><url><loc>/blog/managing-beam-dependencies-in-java/</loc><lastmod>2023-06-26T17:41:21-04:00</lastmod> [...] \ No newline at end of file