Configuring Trend and Carry Forecasts for a Diversified Futures Portfolio
Summary
This configuration defines a futures system that combines exponentially weighted moving-average crossover forecasts at several speeds with a carry forecast smoothed over 90 days. It assigns forecast scalars to the rules, caps combined forecasts, and specifies weights for selected trend horizons and carry. It also sets forecast-diversification adjustment, volatility targeting, trading capital, instrument weights, and diversification adjustment for portfolio construction.
The portfolio spans interest-rate contracts, European equity and volatility contracts, a currency contract, and corn, grouped by rule speed, style, country, and asset class. Carry receives half of the listed forecast weight, while the remaining weight is split across three slower trend rules. The file is an implementation configuration rather than a research report: it gives no sample period, backtest results, transaction-cost assumptions, or explanation for why these parameters and allocations were chosen. The values therefore describe one system setup, not evidence that the portfolio is robust or suitable for live trading.
Key ideas
- The configuration combines multiple-speed EWMAC trend forecasts with a smoothed carry forecast.
- It caps forecasts and assigns weights to selected rules before portfolio construction.
- The system specifies volatility targeting, notional capital, and instrument-level portfolio weights.
- Instruments are organized into trend-speed, style, country, and asset-class groups.
- The file provides parameter choices but no performance evidence or rationale for those choices.
Tags
Full text
# futuresconfig.yaml
```yaml
#YAML
#
# Raw data
#
#
# Trading rules
#
#
trading_rules:
ewmac2_8:
function: systems.provided.rules.ewmac.ewmac
data:
- "rawdata.get_daily_prices"
- "rawdata.daily_returns_volatility"
other_args:
Lfast: 2
Lslow: 8
forecast_scalar: 10.6
ewmac4_16:
function: systems.provided.rules.ewmac.ewmac
data:
- "rawdata.get_daily_prices"
- "rawdata.daily_returns_volatility"
other_args:
Lfast: 4
Lslow: 16
forecast_scalar: 7.5
ewmac8_32:
function: systems.provided.rules.ewmac.ewmac
data:
- "rawdata.get_daily_prices"
- "rawdata.daily_returns_volatility"
other_args:
Lfast: 8
Lslow: 32
forecast_scalar: 5.3
ewmac16_64:
function: systems.provided.rules.ewmac.ewmac
data:
- "rawdata.get_daily_prices"
- "rawdata.daily_returns_volatility"
other_args:
Lfast: 16
Lslow: 64
forecast_scalar: 3.75
ewmac32_128:
function: systems.provided.rules.ewmac.ewmac
data:
- "rawdata.get_daily_prices"
- "rawdata.daily_returns_volatility"
other_args:
Lfast: 32
Lslow: 128
forecast_scalar: 2.65
ewmac64_256:
function: systems.provided.rules.ewmac.ewmac
data:
- "rawdata.get_daily_prices"
- "rawdata.daily_returns_volatility"
other_args:
Lfast: 64
Lslow: 256
forecast_scalar: 1.87
carry:
function: systems.provided.rules.carry.carry
data:
- "rawdata.raw_carry"
other_args:
smooth_days: 90
forecast_scalar: 30
forecast_cap: 20.0
#
# forecast combination
#
forecast_weights:
ewmac16_64: 0.21
ewmac32_128: 0.08
ewmac64_256: 0.21
carry: 0.50
forecast_div_multiplier: 1.31
#
# Capital correction
#
percentage_vol_target: 20.0
notional_trading_capital: 250000
base_currency: "USD"
#
# Portfolio creation
#
instrument_weights:
SOFR: 0.117
US10: 0.117
EUROSTX: 0.20
V2X: 0.098
MXP: 0.233
CORN: 0.233
instrument_div_multiplier: 1.89
rule_groups:
ewmac_fast:
- ewmac2_8
- ewmac4_16
ewmac_medium:
- ewmac8_32
- ewmac16_64
ewmac_slow:
- ewmac32_128
- ewmac64_256
carry:
- carry
style_groups:
trend:
- ewmac_fast
- ewmac_medium
- ewmac_slow
carry:
- carry
countries:
US:
- SOFR
- US10
Europe:
- EUROSTX
- V2X
Other:
- MXP
- CORN
asset_classes:
Rates:
- SOFR
- US10
Risky:
- EUROSTX
- V2X
- MXP
Other:
- CORN
```Shown in full with attribution under the source's licence. Licence: GPL-3.0
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.