Principle:Avhz RustQuant Portfolio Optimization
| Knowledge Sources | |
|---|---|
| Domains | Portfolio_Management, Quantitative_Finance |
| Last Updated | 2026-02-07 21:00 GMT |
Overview
Portfolio construction, position management, and portfolio-level metrics for collections of financial instruments.
Description
Portfolio Optimization in RustQuant provides a structured approach to managing collections of financial positions. A Portfolio is modeled as a named collection of Position objects, where each position combines an instrument (implementing the Instrument trait), a quantity, a purchase price, a current price, and an optional currency denomination.
The library uses a generic Portfolio<I: Instrument> struct backed by a HashMap<String, Position>, allowing portfolios to hold any instrument type that implements the Instrument trait, such as Black-Scholes-Merton options. Each position tracks both the original purchase price and the current market price, enabling real-time profit-and-loss calculations.
Key portfolio-level operations include:
- Value computation -- summing the current value across all positions (
quantity * current_price). - Cost computation -- summing the original cost across all positions (
quantity * purchase_price). - Profit computation -- the difference between current value and total cost.
- Position weights -- computing each position's proportion of total portfolio value as a
HashMap<String, f32>. - Price and quantity updates -- modifying individual position attributes by instrument name.
Usage
Use the Portfolio Optimization principle when building systems that need to track multiple financial instruments together, compute aggregate metrics like total value and profit/loss, or determine position weightings within a portfolio. It is particularly relevant for options portfolio management, as the library's examples demonstrate portfolios of Black-Scholes-Merton call and put options.
Theoretical Basis
Portfolio theory, introduced by Harry Markowitz (1952), provides the foundation for portfolio construction. The total portfolio value is:
where is the quantity of position and is its current price. The weight of each position is:
Portfolio profit is computed as:
where is the purchase cost per unit of position .