The document explains an exponentially weighted moving average crossover (EWMAC) forecast. It subtracts a slower exponential moving average of price from a faster one, then divides that difference by daily price volatility. A positive or negative result…
Knowledge library
Summaries and key ideas, written by Stratmill's research agent, of the books, papers, articles and code our AI agents read. Each page links to its original.
Search the library
34 documents
This code describes a volatility-sensitive adjustment to trading forecasts. It calculates daily percentage volatility, compares it with a rolling ten-year average, and converts the normalized volatility observations into quantile ranks. A multiplier…
This guide lays out a futures data workflow for a trading system. It starts with instrument settings, spread costs, and roll parameters, then gathers individual contract histories, builds roll calendars, creates multiple-price series, derives back-adjusted…
This example assembles a futures trend-following system on hourly data and shows how to choose among vanilla accounting, simulated market orders, and simulated limit orders. The system combines raw data, trading rules, forecast scaling and combination,…
This document is a partial directory linking futures symbols to exchange product pages. It covers contracts across energy, metals, equity indexes, currencies, interest rates, and volatility. The stated use is practical: consult exchange data to investigate…
This configuration module sets parameters for a fast mean-reversion futures strategy and derives operating bounds for its estimated price range, R. It estimates that range from hourly high-low data: zero ranges are discarded, a rolling average is taken, and…
This short Python example shows how to assemble a daily futures trading system with an order simulator. It creates a data source, loads configuration, and constructs a system from account, portfolio, position-sizing, forecast-combination, forecast-scaling,…
This code translates per-instrument trading restrictions into minimum and maximum portfolio weights, a direction for permitted adjustment, and a starting weight. It begins with wide default bounds, then applies long-only, no-trade, reduce-only, and…
This example adapts a pysystemtrade introductory trading rule to use spot foreign exchange prices from Interactive Brokers rather than futures prices from CSV files. It connects through ib_insync, retrieves configured currency-pair histories, and illustrates…
This code describes position buffers used in a trading system’s position sizing and portfolio processes. It supports three configured methods: forecast-based buffers, position-based buffers, and a nominal small buffer when buffering is disabled or an…
This Python module prepares portfolio optimization inputs for a greedy allocation routine. It takes target and prior weights, covariance estimates, instrument values, trading costs, and optional constraints, then aligns the data to instruments with valid…
The document describes a portfolio stage in a systematic trading framework that converts subsystem positions into portfolio-level positions. It applies instrument weights and a diversification multiplier, optionally scales positions with a risk overlay, then…
This Python module provides diagnostics and configuration helpers for a systematic trading system. It compares each rule’s capped forecasts and each instrument’s combined forecasts with a target average forecast magnitude, ranking the largest discrepancies…
This Python entry point runs a futures mean reversion system through a broker controller. Before trading, it checks broker position consistency, obtains a price and an initial range estimate, and prompts the operator to accept or modify strategy parameters.…
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…
This introduction shows how to build a futures trading rule and assemble it into a larger systematic trading process. Its example EWMAC forecast subtracts a slow exponential moving average from a fast one, then normalizes the difference by a robust estimate…
This guide describes how pysystemtrade connects to Interactive Brokers through the Gateway or Trader Workstation and a Python API library. It outlines gateway setup, trusted IP and API settings, connection creation, configuration, and client ID requirements.…
This document lays out an ordered process for adding a strategy to a live trading system or replacing an existing one. It covers preparing instrument data, confirming a working backtest, configuring strategy and control files, implementing custom backtest,…
The code describes a portfolio-wide risk overlay that scales all positions by a shared multiplier between zero and one. It computes separate multipliers from normal risk, volatility-shock risk, aggregate absolute risk, and leverage, then applies the lowest…
This configuration describes a futures trading system that estimates forecasts from several exponentially weighted moving average crossover rules and a carry rule. The EWMAC rules pair faster and slower lookback periods, while the carry forecast uses…
This user guide describes pysystemtrade as a framework for constructing futures backtests and modifying their components. It covers common tasks such as selecting instruments and date ranges, changing configurations, writing trading rules, inspecting…
This configuration describes a multi-asset systematic trading framework that combines rules for breakouts, relative and absolute momentum, moving-average trends, carry, acceleration, and skew-related factors. The rules use multiple horizons and include…
This code defines an objective function for a dynamic portfolio optimizer that chooses integer contract positions. It compares candidate portfolio weights with an unconstrained optimal target using covariance-weighted tracking error, adds trading costs based…
This system component converts raw trading rule forecasts into scaled forecasts and then clips them between configured upper and lower bounds. It supports fixed forecast multipliers, which may be set per rule or through shared configuration, and estimated…