Live Portfolio Weights
Join Community

The PNL Portfolio

Systematic multi-strategy allocations, updated daily 15 minutes before market close.
Loading...
Performance
--
CAGR
--
Sharpe Ratio
--
Volatility
--
Max Drawdown
Period Returns
Monthly Returns
Loading...
Portfolio Summary
--
Positions
--
Long
--
Short / Inverse
--
Net Exposure
Current Weights
TickerWeightChangeAllocation
Loading weights...
About

The PNL Portfolio runs 13 independent signal blocks across ~50 liquid ETFs covering equities, bonds, gold, emerging markets, volatility, credit, and macro factors. Each block uses simple rules-based logic to go long, short, or sit in cash depending on conditions.

Fully systematic with no discretionary overrides. No machine learning. Daily rebalancing with 4% drift threshold. Avg pairwise block correlation ~0.16.

How to Use

When do weights update?

Weights are published once per trading day, 15 minutes before market close (3:45 PM ET). Weights reflect intraday prices up to that point.

Rebalancing & drift threshold

The portfolio uses a 4% drift threshold. Positions are only rebalanced when their actual weight drifts more than 4 percentage points from the target weight. This reduces unnecessary turnover and trading costs. If you are replicating manually, you do not need to trade every day — only adjust positions that have drifted significantly from the published weights.

Position sizing

Multiply each weight by your total portfolio value. Example for a $100,000 account:

TickerWeight$ Amount

Execute with MSTS

$ python live.py "The PNL Portfolio" --execute --broker tastytrade
Past performance does not guarantee future results. This portfolio is provided for informational and educational purposes only. It is not financial advice. Always do your own research and consult a qualified financial advisor before making investment decisions.