Advanced QuantLesson 5
Multi-Asset Algorithms: Going Global
Build strategies that trade stocks, options, futures, crypto, and more together.
14 minute read
4 key takeaways
Multi-Asset Algorithmic Trading
Extend your algorithms beyond stocks. Options, futures, crypto, commodities—all follow the same principles.
Asset Classes & Their Characteristics
| Asset | Hours | Leverage | Liquidity | Costs | Use Case |
|---|---|---|---|---|---|
| Stocks | 6.5h/day | 2:1 | High | Low | Core holdings |
| Options | 6.5h/day | 5:1+ | Medium | Spreads | Income/hedges |
| Futures | 23h/day | 10:1+ | Very High | Commissions | Macro, hedges |
| Crypto | 24/7 | 100:1+ | Very High | Spreads | Risk-on, corr-1 |
| Forex | 24/5 | 50:1+ | Super High | Spreads | Global macro |
Universe Construction Across Assets
- Stocks: 500+ liquid large-cap names
- Options: ATM and slightly OTM options on liquid stocks
- Futures: Index, commodity, and bond futures
- Crypto: BTC, ETH, and major altcoins
- Forex: Major pairs (EURUSD, GBPUSD) + minors
The Strategy: Trend-Following Across All Assets
python
class MultiAssetTrendFollower:
def __init__(self):
self.positions = {}
def generate_signals(self):
signals = {}
# Stocks: SMA crossover
for stock in stock_universe:
if sma_20[stock] > sma_50[stock]:
signals[stock] = {'asset': 'stock', 'signal': 'LONG'}
# Futures: ATR breakout
for future in futures_universe:
if price[future] > donchian_high[future]:
signals[future] = {'asset': 'future', 'signal': 'LONG'}
# Crypto: Momentum
for ticker in crypto_universe:
if return_7d[ticker] > 0:
signals[ticker] = {'asset': 'crypto', 'signal': 'LONG'}
return signals
def execute(self, signals):
for ticker, signal_info in signals.items():
asset_type = signal_info['asset']
if asset_type == 'stock':
place_stock_order(ticker, signal_info['signal'])
elif asset_type == 'future':
place_futures_order(ticker, signal_info['signal'])
elif asset_type == 'crypto':
place_crypto_order(ticker, signal_info['signal'])
Cross-Asset Correlations
In risk-off regimes, everything falls together. In normal times, assets are diversified.
- VIX spikes → stocks down, bonds up (flight to safety)
- Growth stocks and growth crypto highly correlated
- Commodities often move opposite to equities
- Cryptoused as risk-on trade (goes down in crashes)
Execution Complexity
- Different settlement times (T+2 for stocks, instant for crypto)
- Different hours of operation (stocks close at 4pm ET, futures 24/5)
- Different costs (stocks have commissions, crypto has spreads)
- Coordination: If you buy ES futures and sell QQQ, are you market-neutral?
The Advantage: True Diversification
Stocks, bonds, commodities, crypto as a portfolio have lower correlation than stocks alone. This means lower volatility for the same return. Multi-asset = true risk reduction.
Key Takeaways
- Same principles apply across assets (stocks, options, futures, crypto)
- Different asset classes have different liquidity & costs
- Global diversification provides true diversification
- Execution complexity increases with more assets