Skip to content

Work

Portfolio construction · Case study

Index ETF portfolio management

Current work in index equity portfolio construction: benchmark tracking, fund constraints, and order generation for ETF portfolios.
Current role
Organization
BlackRock
Context
Quantitative Portfolio Management, Index Equity
Period
Aug 2026 – Present
Methods
Constraint-based portfolio logic · Benchmark-tracking analysis · Basket construction · Order generation
Tools
Python · Aladdin

US → Munich

ETF onboarding led, extending the order-generation workflow

Aladdin

portfolio-management workflows

Note Current role since August 2026. This page describes the class of problem and a textbook formulation only; it contains no proprietary BlackRock methodology, thresholds, fund data, holdings, orders, or system details.

01Context

Index equity funds and ETFs are managed to track a benchmark while satisfying fund-specific rules. Much of the work is repeatable: find where a portfolio has drifted, decide what to trade, check the trades against constraints, and send proposed orders to a portfolio manager. The judgment sits in the constraints: what counts as a breach, which trades fix it at least cost, and what each fund's rules allow.

I work with Index Equity portfolio managers, translating their methodology and constraints into Aladdin portfolio-management workflows.

02Responsibilities

  • ETF onboarding. Led the onboarding of Munich ETFs, extending the existing US ETF order-generation workflow with fund-specific basket construction and constraint checks.
  • Tracking deviations. Apply constraint-based portfolio logic to find where holdings deviate from benchmark and to formulate proposed orders for PM review.
  • Methodology to workflow. Encode investment methodology and constraints so that low-touch processes run systematically, with the portfolio manager kept as the decision-maker.

03The problem class

A textbook version of deviation-driven rebalancing. Current weights are w0w^0, benchmark weights are bb, and each position has a tolerance δi\delta_i. Choose trades t=t+−t−t = t^+ - t^- that bring every position back within tolerance with minimum turnover:

min⁡t+, t−≥0  ∑ici (ti++ti−)\min_{t^+,\,t^- \ge 0} \; \sum_i c_i\,(t_i^+ + t_i^-)
(1)
s.t.∣ wi0+ti+−ti−−bi ∣≤δi∀i∑i(ti+−ti−)=0G (w0+t+−t−)≤h\begin{aligned} \text{s.t.}\quad \big|\,w_i^0 + t_i^+ - t_i^- - b_i\,\big| &\le \delta_i && \forall i \\ \textstyle\sum_i (t_i^+ - t_i^-) &= 0 \\ G\,(w^0 + t^+ - t^-) &\le h \end{aligned}
(2)
cic_i
Trading cost per unit of weight in security ii
δi\delta_i
Allowed deviation from benchmark weight
G,hG, h
Fund-specific linear constraints, e.g. concentration or eligibility limits

The absolute value splits into two linear inequalities, so (1)–(2) is a linear program. Real workflows add integer lot sizes, cash and flow handling, and basket rules. Those are exactly the fund-specific details that onboarding a new fund range requires.

Illustrative · synthetic data
Illustrative active weights against a tolerance bandTwelve synthetic positions; 3 breach the ±15 bps band (S03 at 22 bps, trade -7 bps; S06 at -26 bps, trade 11 bps; S10 at 19 bps, trade -4 bps). Trades sum to zero.tolerance ±15 bps−30−150+15+30Active weight (bps)S01S02−7S03S04S05+11S06S07S08S09−4S10S11S12Breach (label = proposed trade, bps)Post-trade active weightWithin tolerance
Active weights for a synthetic 12-security portfolio. Positions outside the tolerance band (shaded) are flagged, and proposed trades return them to the edge of the band.

04Tools

Python for portfolio logic and validation; Aladdin for portfolio-management workflows and order generation.