Quant Science Profile picture
Jul 4, 2025 18 tweets 5 min read Read on X
Quants use principal component analysis to find alpha.

Blackrock uses it to manage $100s of billions in factor funds.

Northfield uses it to earn $10s of millions selling factors to investors.

Here’s how it’s done.

In a few lines of Python: Image
By reading this thread, you’ll be able to:

1. Get stock data
2. Fit a PCA model
3. Visualize the components
4. Isolate the alpha factors

But first, a quick primer on PCA if you’re unfamiliar:
PCA is used in many ways including signal processing, image recognition, and of course quant finance.

PCA:

• Isolates factors that drive returns
• Explains the variance in a dataset
• Used for factor investing and risk management

Let’s dig in!
Start by importing the libraries.

sklearn is a package used to build statistical models for data analysis. Image
Next, build a portfolio. You can pick any stocks you want. Image
sklearn makes it easy to fit a PCA model and get the components.

Fit the model with the portfolio returns and the algorithm will look for the top three components that explain most of the variance in the returns. Image
After you fit the model, grab the explained variance and components (remember the underscore). Image
If the description of PCA is unclear, a chart should help.

But first, build it. Image
The left shows the contribution of the components toward the total variance.

The first explains 54.9%.

This is usually driven by the overall market movement.

The right is the cumulative sum of the contribution of each component which explains 84.7% of total portfolio returns. Image
The forces that move stock prices are isolated as the principal components.

The market, interest rates, and the pandemic drive returns.

PCA lets you isolate these statistical factors to get an idea of how much the portfolio’s returns come from these unobserved features. Image
Similar stocks will be driven by similar factors.

PCA makes it easy to visualize it. Image
You can see the tech stocks and the gold stocks clustered together.

This component is more strongly driving the gold stocks.

Another great way to visualize this is with a scatter plot. Image
Another great way to visualize this is with a scatter plot. Image
You can see how the stocks are driven by the first two principal components.

Gold stocks were largely driven by factor one and tech stocks were negatively driven by factor two. Image
This analysis covered the time period during covid.

Gold stocks were bid up strongly as a hedge against inflation and uncertainty.

Tech stocks crashed as worries about economic health began.

These factors are hidden in the data.

PCA helps you find them.
Want to learn how to build algorithmic trading strategies in Python (that actually work)?

👉 Join us live for our free training (500 seats): learn.quantscience.io/become-a-pro-q…
That's a wrap! Over the next 24 days, I'm sharing my top 24 algorithmic trading concepts to help you get started.

If you enjoyed this thread:

1. Follow me @quantscience_ for more of these
2. RT the tweet below to share this thread with your audience
P.S. - Want to learn Algorithmic Trading Strategies that actually work?

I'm hosting a live workshop. Join here: learn.quantscience.io/qs-register

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Quant Science

Quant Science Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @quantscience_

Feb 12
No one made more money in trading than Jim Simons.

Not Buffett. Not Soros. Not Dalio.

His hedge fund was so powerful that he shut it down to outsiders.

$100 in 1988 grew to $400M in 30 years.

Here’s how a mathematician became the world’s greatest trader: Image
Jim Simons was no ordinary investor.

Before conquering Wall Street, he was:

• A math professor at MIT and Harvard
• A Cold War code-breaker for the NSA
• A pioneer in quantum computing

But none of this satisfied him.

"Some people like to paint, others like to cook. I like to make money."Image
At 40 years old, Simons left his prestigious academic career to start a hedge fund.

He had no finance experience. No Wall Street background.

His secret weapon? Mathematics. Image
Read 17 tweets
Feb 10
A strategy with a Sharpe of 0.94 (and 513.8% cumulative return): Image
A strategy only Goldman Sachs can trade?

Nope.

It's a VIX-based futures strategy that demolishes the benchmark just like the pros.

Here's how:
SigTech.

Here's a primer in case you're unfamiliar with SigTech:

• Quant tech for institutional investors
• Provides data and tools to hedge funds
• Customers with $5 trillion in assets under management

SigTech was built for institutions. Now you can have it too:
Read 14 tweets
Feb 6
How to make your own algorithmic trading system in Python (a complete roadmap): Image
Step 1: Learn Python

- Pandas: Data Analysis
- Scikit Learn: Machine Learning
- SQLAlchemy: Databases
Step 2: Set up your financial database

Financial Data:
- Price: Yahoo Finance (free)
- Fundamentals: Financial Modeling Prep (paid)

Database:
- DuckDB (free) Image
Read 10 tweets
Feb 2
Automate your trading strategies in Python

How to build your first trading bot:

(a thread) Image
1. What is a trading bot?

A trading bot is a software program that automates buying and selling financial assets like stocks and cryptocurrencies based on pre-defined strategies and rules.

These automated systems can manage portfolios without human intervention, operating 24/7.
2. Let's make a Bitcoin Trading bot

We'll use investing-algorithm-framework in Python Image
Read 12 tweets
Feb 1
How to make a simple algorithmic trading strategy with a 472% return using Python.

A thread. 🧵 Image
This strategy takes advantage of "flow effects", which is how certain points in time influence the value of an asset.

This strategy uses a simple temporal shift to determine when trades should exit relative to their entry for monthly boundary conditions. Image
The signals for when to go short, when to cover shorts, when to go long, and when to close longs are all linked to these recurring monthly cycles.

This periodic "flow" of signals—month-in, month-out—creates a systematic pattern. Image
Read 11 tweets
Feb 1
12 Python libraries for free market data everyone should know: Image
yfinance

Data for stocks (historic, intraday, fundamental), FX, crypto, and options. Uses Yahoo Finance so any data available through Yahoo is available through yfinance.

github.com/ranaroussi/yfi…
pandas-datareader

pandas-datareader used to be part of the pandas project. Now an independent project. Includes data for stocks, FX, economic indicators, Fama-French factors, and many others.

pandas-datareader.readthedocs.io/en/latest/
Read 17 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(