Bank of America
| Associate, Quantitative Research & Algorithmic Trading | London, UK | April 2007 – March 2009 |
Bank of America Merrill Lynch – Global Markets Division
Between April 2007 and March 2009, Joerg Osterrieder worked as an Associate in the Global Markets Division at Bank of America Merrill Lynch in London. The role centred on quantitative research, on the development of algorithmic execution strategies, and on the build-out of transaction-cost-analysis frameworks used by the global equities desk. Deliverables combined tick-level empirical research, production-grade code, and real-time monitoring, and fed directly into the execution algorithms that the desk offered to institutional clients across European and global markets. The work sat at the intersection of quantitative finance, statistical modelling, and large-scale software engineering, and the algorithms it produced were deployed into live client flow throughout the 2007–2009 period, including the acute dislocations of the global financial crisis.
Market Microstructure Analysis
Tick-level data analysis of order-book dynamics formed the empirical foundation of the work, capturing spread behaviour, queue position, and limit-order-book resiliency across the equities that the desk traded. The square-root law of market impact was used to estimate the temporary and permanent cost of a given order as a function of participation rate and volatility, which in turn drove adjustments to child-order size and timing as short-term liquidity conditions evolved. Autoregressive models of short-term price impact and transient-impact decay then refined the order-slicing logic, so that participation responded to predicted liquidity rather than to a fixed schedule. The microstructure layer produced parameter estimates — impact coefficients, decay rates, volatility regimes — that were consumed by every downstream execution strategy on the desk.
Advanced Execution Modelling
Volume-profile models built from historical and intraday data forecast the characteristic U-shaped curve of equity trading volume and allowed the execution schedule to track expected liquidity through the day rather than assuming a flat participation rate. An Implementation Shortfall decomposition separated the components of execution cost — delay cost from queue position and time-to-execution, market impact per unit of liquidity taken, and opportunity cost from incomplete fills — and provided a common vocabulary for attributing performance across orders, algorithms, and client types. Those attributions were integrated back into the VWAP and Implementation Shortfall algorithms so that live trading decisions adapted to changing market conditions in real time, rather than relying on stale calibration from prior trading days. The combined layer of volume forecasting and cost attribution tightened execution quality and made performance more predictable for clients using the desk’s core offerings.
Transaction Cost Analysis
A dedicated Transaction Cost Analysis (TCA) framework evaluated fill performance, slippage, and adverse selection for every order routed through the desk’s algorithms, producing consistent metrics that tracked each order from parent through to final fill. Regression-based models controlled for trade size, volatility, and spread so that execution quality could be benchmarked fairly across desks, venues, and client segments — a difficult task without standardised controls, because raw cost numbers are dominated by order difficulty rather than algorithm quality. Python and SQL pipelines automated the collection, cleaning, and processing of execution logs, feeding both real-time monitoring and post-trade reporting to clients on a daily cycle. The output gave portfolio managers a consistent view of cost and quality, and gave algorithm developers a quantitative signal to target when iterating on model parameters and scheduling logic.
Programming and Technology Integration
Analytical prototyping relied on Python with NumPy, Pandas, and SciPy for data handling, model fitting, and scenario analysis, while production components lived in Java and the firm’s proprietary trading frameworks. Close collaboration with technology teams translated research prototypes into deployable modules without loss of numerical fidelity, using disciplined code review and shared test harnesses so that the live algorithm reproduced the research behaviour to machine precision. Real-time monitoring dashboards tracked algorithm performance metrics — slippage, fill rates, and volume participation — and alerted traders and researchers whenever live behaviour drifted from expected ranges, turning performance monitoring into a continuous feedback loop. The engineering investment was as much about reliability under load as about analytical accuracy, because the algorithms had to process thousands of orders per second during peak European trading hours.
Strategy Adaptation and Stress Testing
Stress-testing used historical market data, including 2008 financial-crisis scenarios, to evaluate how the execution algorithms behaved under elevated volatility and reduced liquidity. Dynamic participation-rate logic was built into the algorithms to manage execution risk in thinly traded names or during abrupt volatility spikes, throttling activity when the cost of demanding liquidity rose above an acceptable threshold. The logic drew on the same microstructure parameters used in routine trading, so that stress behaviour was a continuous extension of normal behaviour rather than a special mode triggered only during crises. The combination of historical stress scenarios and adaptive participation rules reduced the desk’s exposure to tail events and gave clients confidence that the same algorithms would hold up across market regimes, which became especially important during the acute dislocations of September and October 2008.
Collaborations (2007–2009)
Close collaboration during this period included several senior practitioners whose work shaped the desk’s quantitative and algorithmic agenda. Jim Gatheral, an authority on volatility modelling and market microstructure, provided the intellectual frame for much of the execution-cost and market-impact analysis then in use on the desk, with his work on impact cost influencing the parameterisation of the algorithms themselves. Michi Botlo, an expert in automated global execution and electronic trading platforms and a co-founder of Quantbot Technologies, contributed deep expertise on the engineering side of algorithmic trading, where reliable infrastructure is a precondition for quantitative research to reach live flow. Brian Schwieger, Managing Director and EMEA Head of Algorithmic Trading at BAML, led strategy design for global and equity-focused execution and set the priorities around which the research programme was built, so that every model had a clear path into a client-facing strategy.
Achievements and Outcomes
The combined research, modelling, and engineering programme reduced average Implementation Shortfall across the desk’s electronic flow by applying microstructure models and adaptive order slicing, and improved VWAP consistency through dynamic volume forecasts and real-time liquidity monitoring. TCA dashboards and risk-adjusted benchmarking raised execution-cost transparency for clients, and sharpened the desk’s internal measurement of algorithmic quality so that improvements could be attributed to specific model changes rather than to market noise. Opportunity-cost analysis quantified the cost of incomplete fills and informed decisions about how aggressively to pursue liquidity in difficult names. Taken together, the period at Bank of America Merrill Lynch built execution capabilities that supported the desk’s European and global equities business through the dislocations of 2007–2009, and informed the quantitative approach carried into later roles at Goldman Sachs and Man AHL.