<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects | Sebastian Stöckl</title><link>https://www.sebastianstoeckl.com/projects/</link><atom:link href="https://www.sebastianstoeckl.com/projects/index.xml" rel="self" type="application/rss+xml"/><description>Projects</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 19 May 2024 00:00:00 +0000</lastBuildDate><image><url>https://www.sebastianstoeckl.com/media/icon_hu_a85ee383f5bc4b9a.png</url><title>Projects</title><link>https://www.sebastianstoeckl.com/projects/</link></image><item><title>Risk-adjusted Forecast Performance</title><link>https://www.sebastianstoeckl.com/projects/risk-adjusted-forecast-performance/</link><pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate><guid>https://www.sebastianstoeckl.com/projects/risk-adjusted-forecast-performance/</guid><description>&lt;h1 id="when-forecast-accuracy-fails-to-translate-into-performance"&gt;When Forecast Accuracy Fails to Translate into Performance&lt;/h1&gt;
&lt;p&gt;Financial forecasting models are typically evaluated using statistical metrics such as RMSE or out-of-sample R². However, investors ultimately care about economic performance — e.g., Sharpe ratios, portfolio efficiency, and risk-adjusted returns.&lt;/p&gt;
&lt;p&gt;This project studies the disconnect between statistical forecast accuracy and economic value.&lt;/p&gt;
&lt;h1 id="core-contribution"&gt;Core Contribution&lt;/h1&gt;
&lt;p&gt;In
(Journal of Forecasting, forthcoming), we:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Derive the Sharpe-ratio gap between perfect foresight and estimated portfolios&lt;/li&gt;
&lt;li&gt;Decompose it into:
&lt;ul&gt;
&lt;li&gt;Risk-Adjusted Mean Forecast Error (RAFE)&lt;/li&gt;
&lt;li&gt;Risk-Adjusted Covariance Forecast Error (C-RAFE)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Show that the widely used RMSE is a special case of a risk-adjusted loss function under highly restrictive assumptions&lt;/li&gt;
&lt;li&gt;Demonstrate that RMSE explains little of the performance shortfall&lt;/li&gt;
&lt;li&gt;Show that risk-adjusted error measures explain the Sharpe-ratio gap across a wide range of portfolio strategies&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="key-insight"&gt;Key Insight&lt;/h1&gt;
&lt;p&gt;Forecast models optimized using MSE-based criteria are not aligned with the investor’s objective function.&lt;/p&gt;
&lt;p&gt;Improving statistical fit does not necessarily improve economic performance.&lt;/p&gt;
&lt;h1 id="ongoing-research"&gt;Ongoing Research&lt;/h1&gt;
&lt;p&gt;This project extends toward:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Risk-adjusted loss functions in regression and machine learning&lt;/li&gt;
&lt;li&gt;Portfolio-aware model selection&lt;/li&gt;
&lt;li&gt;Utility-consistent forecast evaluation&lt;/li&gt;
&lt;li&gt;AI-based asset allocation with economically aligned objectives&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Decision Methods and Tools in the Context of Pension Finance</title><link>https://www.sebastianstoeckl.com/projects/pension-finance-liechtenstein/</link><pubDate>Fri, 04 Dec 2020 00:00:00 +0000</pubDate><guid>https://www.sebastianstoeckl.com/projects/pension-finance-liechtenstein/</guid><description>&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;In this project we developed an R-package (available on GitHub at
) to optimize decisions individuals in Liechtenstein&amp;rsquo;s pension system have to take. The package contains several optimizers as well as full documentation (available via &lt;code&gt;vignette(&amp;quot;model&amp;quot;)&lt;/code&gt; once installed). We determined the most relevant drivers of optimal pension decisions using large-scale optimization, then trained three machine learning models — a hyperparameter-tuned random forest performs best — to allow individuals to receive fast, near-optimal decisions. Results are publicly available at
.&lt;/p&gt;
&lt;h1 id="step-by-step-project-description"&gt;Step-by-Step Project Description&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Built the R-package &lt;em&gt;pensionfinanceLi&lt;/em&gt; (&lt;code&gt;devtools::install_github(&amp;quot;sstoeckl/pensionfinanceLi&amp;quot;)&lt;/code&gt;), carefully validated to avoid counter-intuitive results.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provided detailed documentation of the package and Liechtenstein pension system (also available as &lt;code&gt;vignette(&amp;quot;model&amp;quot;)&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Determined plausibility checks for all input parameters, drew preliminary conclusions on parameter dependencies, and reduced undesired outcomes (e.g. moral hazard).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Compiled a final grid of 3,110,400 feasible parameter combinations for large-scale optimization.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Due to the time-consuming full-parameter optimization (~25 min/run), optimized 3 key decision variables: consumption share &lt;code&gt;c&lt;/code&gt;, retained wealth share &lt;code&gt;alpha&lt;/code&gt;, and optimal asset allocation &lt;code&gt;w&lt;/code&gt;. Parallelized across Amazon AWS clusters (3 × 96 CPU cores) and continued on an in-house 40-CPU cluster.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ran one- and two-dimensional comparative static analyses to identify the most relevant drivers of optimal pension decisions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Trained three machine learning models in Python (linear regression, k-nearest neighbors, tuned random forest). The random forest achieves surprisingly good out-of-sample performance.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deployed a public
where anyone can input their individual situation and retrieve near-optimal pension decisions from the trained heuristics.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;figure&gt;&lt;img src="https://www.sebastianstoeckl.com/projects/pension-finance-liechtenstein/workflow.png"&gt;&lt;figcaption&gt;
&lt;h4&gt;Graphical description of the project workflow.&lt;/h4&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;</description></item><item><title>Macro-Financial Uncertainty</title><link>https://www.sebastianstoeckl.com/projects/macro-financial-uncertainty/</link><pubDate>Thu, 12 Dec 2019 00:00:00 +0000</pubDate><guid>https://www.sebastianstoeckl.com/projects/macro-financial-uncertainty/</guid><description/></item><item><title>Political Event Portfolios</title><link>https://www.sebastianstoeckl.com/projects/political-event-portfolios/</link><pubDate>Thu, 12 Dec 2019 00:00:00 +0000</pubDate><guid>https://www.sebastianstoeckl.com/projects/political-event-portfolios/</guid><description/></item><item><title>Understanding Saving in Europe</title><link>https://www.sebastianstoeckl.com/projects/understanding-saving-in-europe/</link><pubDate>Sun, 01 Sep 2019 00:00:00 +0000</pubDate><guid>https://www.sebastianstoeckl.com/projects/understanding-saving-in-europe/</guid><description>&lt;ul&gt;
&lt;li&gt;Apply for free online courses at
&lt;/li&gt;
&lt;li&gt;Official link to
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Understanding Pensions in Europe</title><link>https://www.sebastianstoeckl.com/projects/understanding-pensions-in-europe/</link><pubDate>Fri, 01 Sep 2017 00:00:00 +0000</pubDate><guid>https://www.sebastianstoeckl.com/projects/understanding-pensions-in-europe/</guid><description>&lt;ul&gt;
&lt;li&gt;Apply for free online courses at
&lt;/li&gt;
&lt;li&gt;Official link to
&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>