Systematic Equity/ Quantitative Research/ Applied ML

Fan Zhu

Associate Portfolio Manager at a leading asset management firm. I work on systematic equity SMAs — portfolio construction, rebalancing, and Python-based investment analytics.

About

Between the model and the trade.

An optimizer result only becomes a portfolio once it clears tax lots, client restrictions, corporate actions and a transaction cost budget. Closing that gap is most of my job, and it is why I spend about as much time writing code as running analysis.

Portfolio Construction

Building and rebalancing custom core SMAs against client-specific benchmarks, balancing tracking error, tax impact and transaction costs against the constraints in each mandate. Scenario analysis on flows, rebalances and benchmark changes, written up so advisors can act on it.

Quantitative Research

Network analysis and machine learning applied to market structure. My undergraduate honors thesis forecast bull/bear regimes from the topology of industry correlation networks. The habit stuck: look for the structure first, then test carefully whether it predicts anything.

Systems & AI

Python applications used in daily PM workflows, plus the data-integrity checks behind the benchmark feeds. Selected as an AI Ambassador at work, where I help colleagues adopt AI tools and build their own.

Experience

From risk analytics to portfolio construction.

I started where risk numbers are produced, learned what breaks them, and moved to the desk that has to act on them. Each step has taken me closer to the investment decision itself — from measuring exposure, to building the portfolios that carry it, toward the quantitative research and systematic trading.

May 2025 — Present Atlanta, GA

Associate Portfolio Manager

Asset Management

Construct and rebalance systematic equity custom core SMAs against client-specific benchmarks, trading tracking error against tax and transaction costs. Build the PM-facing Python analytics and the benchmark data-integrity layer underneath them.

Jun 2024 — May 2025 New York, NY

Associate

Risk Management

Daily Rates and FX sensitivity analysis: risk-engine output aggregated under a delta–gamma approximation to estimate scenario PnL across market environments. Built the Python and SQL pipelines that monitored those sensitivities against limits.

Jun 2022 — May 2024 New York, NY

Analyst

Risk Management

Portfolio analytics and reporting across the corporate lending book in SQL, Python, R and VBA.

Research

Market structure, and what actually predicts.

Work on market structure, machine learning and portfolio construction. The honors thesis below asked whether the topology of an industry correlation network carries a forecastable signal about the market regime that follows it — at short horizons it appears to, over longer ones the signal largely disappears.

Honors Thesis · UNC Chapel Hill Economics · May 2020

Market Regime Forecasting using Correlation Networks and Machine Learning Classifiers

Prof. Michael Aguilar & Fan Zhu  ·  Graduated with Highest Honors

Can industry correlation networks help forecast bull and bear markets? My honors thesis tested network features across 16 forecasting configurations, with the strongest reported result at a one-week horizon and generally weaker results at longer horizons.

  • 91.7% accuracy
  • One-week horizon
  • 10-fold cross-validation
  • 48 evaluated regimes

Small-sample result. The 48 evaluated regimes leave wide uncertainty around the headline accuracy, so the pattern matters more than the point estimate. These historical academic classification results do not measure investment returns or assure future predictive accuracy.

01 Method Five steps from returns to classification

STEP 01

Partition the regimes

Hanna's top-down turning-point algorithm over daily S&P 500 prices, 1978–2019: 30 bull, 26 bear, 5 rallies, 7 corrections.

STEP 02

Correlate the industries

Within each regime window, the Pearson correlation matrix over daily log returns of the 49 Fama–French industry portfolios.

STEP 03

Build the tree

Correlations become Euclidean distances, dij = √(2(1−Cij)), reduced to a minimum spanning tree scored by Kruskal stress-1.

STEP 04

Extract topology

Degree distribution, in-component degree, stress and density per network — plus the standard deviation, kurtosis and range of market returns.

STEP 05

Classify & validate

Trees, KNN, SVM, ensembles and Naive Bayes across 16 window×lag combinations, each under 10-fold cross-validation.

02 Results and data Metrics, model comparison and full tables
91.7%
Best accuracy
1 week ahead
0.92
AUC
Fine Tree model
53
Correlation networks
constructed
41 yrs
Daily data
1978–2019

Forecast accuracy by estimation window and lag

Sixteen model configurations, best classifier per cell. The signal is concentrated: only the shortest horizon breaks meaningfully away from chance.

52% 92% accuracy
Data table
Forecast accuracy and best classifier by estimation window and forecast lag
WindowLagAccuracyBest model
1 month1 week91.7%Fine Tree
1 month2 weeks77.1%Cosine KNN
1 month3 weeks62.5%Subspace Discriminant
1 month4 weeks62.5%Naive Bayes
3 months1 month62.5%Fine Tree
3 months3 months52.1%Boosted Tree
3 months6 months58.3%Linear Discriminant
3 months12 months66.7%Kernel Naive Bayes
6 months1 month64.2%Linear Discriminant
6 months3 months54.7%Cubic SVM
6 months6 months58.3%Fine Tree
6 months12 months52.1%Coarse KNN
12 months1 month54.7%Coarse Gaussian SVM
12 months3 months52.8%Coarse KNN
12 months6 months54.2%RUSBoosted Tree
12 months12 months52.1%Coarse KNN

Accuracy under 10-fold cross-validation. Rallies and corrections were excluded from training — too few observations for a valid sample — so the task is a bull/bear binary.

Where the winning model gets it right

Fine Tree, 1-month window, 1-week lag. Four misclassifications out of 48 regimes, split evenly between the two error types.

Data table
Confusion matrix counts for the Fine Tree model
ActualPredicted bearPredicted bull
Bear212
Bull223

For context, Kole & Dijk (2010) forecast the same one-week-ahead bull/bear call with Markovian logit models at 89.3%. This model reaches 91.7% with an AUC of 0.92 — on 48 regime observations, so the difference sits well inside the noise.

03 Detailed limitations Convergence, regime definitions and sample size

The MST minimisation criterion did not fully converge, so the trees may not be the most efficient representation of each network; and several algorithm-partitioned regimes are only days long — artefacts of black-swan events sitting too close to the following rally to be separately forecastable. Both are named in the paper as the first things to fix. With 48 regimes in the sample, the accuracy figures carry wide error bars either way.

Scenario summarisation for PM–advisor communication

Recurring trade and portfolio-analysis scenarios summarized with an LLM copilot and clustered into a categorised template library.

LLM Summarisation Scenario Taxonomy PM ↔ Advisor Comms

LLM framework for fundamental credit risk

Co-authored at an internal, firmwide GenAI hackathon at work: generate text embeddings from 10-K filings, surface the fundamentals that matter to a credit view, and automate the first draft of the credit memo. Drafting time fell by about 70% in the hackathon evaluation.

LLM Embeddings 10-K Filings Credit Memos

Teaching & research assistantships

Teaching Assistant for data science courses at Duke's Fuqua School of Business and the Department of Statistical Science. Research Assistant at Duke's Center for Advanced Hindsight, a behavioural economics lab.

Duke Fuqua Statistical Science Behavioural Economics

Building

Analytical systems for the daily workflow.

I have built analytical tools and systems used daily across departments, connecting systematic analysis, reliable data, and coordinated workflows to support decisions and execution.

01 / Systems

Systematic analytics

Analytical frameworks

Reusable frameworks translate complex questions into structured inputs, consistent calculations, and interpretable results.

Structured AnalysisReusabilityInterpretation

Decision support

Integrated analytical views support comparison, prioritisation, and informed decisions within a common framework for daily work.

AnalysisDecision SupportPrioritisation

02 / Systems

Data foundations

Data quality

Validation and reconciliation frameworks check consistency across data sources and make exceptions visible for review.

ValidationReconciliationConsistency

Data pipelines

Structured pipelines organise and prepare data for analysis, monitoring, and reporting, connecting source information with downstream workflows.

Data IntegrationMonitoringReporting

03 / Systems

Operational systems

Workflow automation

Reusable automation connects recurring processes and supports coordinated work across teams, from information preparation through communication and follow-up.

AutomationCoordination

Operational visibility

Shared reporting systems surface process status and exceptions, helping teams stay aligned and identify where attention is needed throughout daily operations.

ReportingShared VisibilityReview

Toolkit

What I reach for.

Languages
PythonSQLR MATLABVBACSS
Portfolio & Risk
Portfolio OptimizationTracking Error Tax-Loss HarvestingTransaction Cost Analysis Delta–Gamma SensitivitiesScenario PnL Benchmark Reconstitution
ML & Statistics
ClassificationEnsemble Methods Network AnalysisCross-Validation LLM EmbeddingsTime Series Deep LearningQuadratic Programming
Data & Platforms
BloombergFactSetRefinitiv Git / GitHubExcel TableauPower BI

Education

Statistics, Economics, and a Psychology habit.

Duke University

MS, Statistical Science

/ MAY 2022

Teaching Assistant for data science courses at the Fuqua School of Business and the Department of Statistical Science. Research Assistant at the Center for Advanced Hindsight.

Off the desk

Endurance, mostly.

2025
NYC Marathonfinisher
2024
Spartan RaceTrifecta medalist
2023
Savage RaceSyndicate medalist

Contact

Let's talk.

Happy to talk about systematic equity, quantitative research, or the engineering behind either. Email is the fastest way to reach me.