The document distinguishes four common quantitative finance roles: quantitative trader, quantitative researcher, financial engineer, and quantitative developer. Traders search for profitable signals and build trading algorithms. Researchers develop…
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
58 documents
The article compares Windows, macOS, and Ubuntu/Linux as environments for quantitative trading research and deployment. It frames the choice around the user's research workload, preferred tools, need for automation, and comfort with command-line work.…
The article explains an event-driven backtesting design that separates a lean Portfolio class from a PortfolioHandler. The Portfolio stores cash and positions, updates position values after transactions, and calculates portfolio cash, equity, and realized…
The diary entry describes an early event-driven forex system and its roadmap toward more realistic trading and backtesting. It identifies components already present, including price streaming, signal generation, order execution, local portfolio replication,…
The document explains why no single programming language is best for every algorithmic trading system. Language choice follows system requirements: research and backtesting, signal generation, portfolio construction, risk management, and order execution have…
This article describes how QSTrader represents brokerage charges in a backtesting system through a FeeModel class hierarchy. An abstract base interface separates commission, tax, and total-cost calculations, allowing implementations to account for asset…
This tutorial explains how to configure SLURM on a Raspberry Pi cluster so researchers can submit parallel workloads from a login node. It outlines the roles of the control node and computational nodes, shared configuration through NFS, resource allocation…
This article presents a simplified interface for configuring a forex backtest and extending it to multiple currency pairs. A Backtest object is assembled from price data, strategy, portfolio, and simulated execution components, with strategy settings passed…
This introduction to electronic market microstructure explains how market orders and limit orders interact. Limit orders specify a price and quantity, rest in the limit order book, may fill partially, and can be cancelled. Market orders seek immediate…
This article compares retail algorithmic traders with institutional quantitative funds across capacity, crowding, market impact, leverage, liquidity, information access, risk oversight, investor relations, and technology. It argues that smaller accounts can…
This brief update explains why a planned trading-strategy book shifted toward using a more realistic backtesting framework. The author found that transaction costs could materially change the apparent profitability of strategies assessed with simpler…
The article outlines a proposed end-to-end system for researching, backtesting, and operating automated trades, initially focused on US equities and ETFs through a brokerage interface. Its architecture separates data ingestion and validation, price and…
The article describes a daily directional forecasting strategy for the S&P 500, with trades placed in SPY. A quadratic discriminant analysis model uses the prior two daily index returns to predict whether the market will rise or fall. The strategy takes a…
The article describes updates to an event-driven forex backtesting system: generating format-compatible simulated tick files, processing daily files sequentially, supporting multiple currency pairs, and plotting equity, returns, and drawdowns. Loading one…
The document explains why futures backtests need a method for joining prices from contracts with different expiration dates. Contango and backwardation can create price gaps at the splice, so the article compares three approaches: additive Panama…
This article explains the pricing developer’s role in a systematic hedge fund and how market data is prepared for research and trading. It divides the trading pipeline into pricing and feeds, signal research, and execution, then focuses on building the…
The article outlines a process for finding, screening, and preparing algorithmic trading ideas for backtesting. It begins with practical fit: a trader’s discipline, available time, research commitment, capital, programming skills, and income needs all affect…
This article surveys career paths in systematic trading and explains how roles differ across buy-side and sell-side firms. Buy-side organizations invest on behalf of clients or their own accounts, with analysts, traders, and portfolio managers contributing…
This introductory guide organizes quantitative trading into four connected areas: finding strategies, testing them on historical data, executing trades through a broker, and managing capital and risk. It sketches mean-reversion and momentum approaches,…
The article describes a Python workflow for retrieving historical intraday US equity data from an IQFeed service. It assumes the local IQLink server is running, then connects to its socket, sends a historical-data request specifying a ticker, bar interval,…
This article proposes a staged reading path for people entering quantitative and algorithmic trading. It recommends first learning how a trading system fits together, including alpha generation, risk controls, automated execution, and common momentum and…
The document describes building a small distributed computer cluster to run independent parameter variations for systematic trading backtests in parallel. It presents four Raspberry Pi computers connected by Ethernet, with SLURM as the workload manager, and…
The document explains how an event queue can pass information among the components of an event-driven trading system. A market event marks a new data update and prompts strategy evaluation. Strategies emit signal events with a symbol, time, and direction;…
The document presents a templated C++ array class for managing data in CUDA device memory. Its interface supports allocation at construction, resizing, querying the array length, and accessing the device pointer. Separate methods copy data from host memory…