Table of Contents

Class HistoricalPortfolioReturns

Namespace
Balsam.Portfolio
Assembly
Balsam.Backtester.dll

A class used to calculate historical returns of a portfolio.

public class HistoricalPortfolioReturns
Inheritance
HistoricalPortfolioReturns
Inherited Members
Extension Methods

Constructors

HistoricalPortfolioReturns()

Initializes a new HistoricalPortfolioReturns object.

public HistoricalPortfolioReturns()

HistoricalPortfolioReturns(IBarServer)

Initializes a new HistoricalPortfolioReturns object using the specified price server.

public HistoricalPortfolioReturns(IBarServer priceServer)

Parameters

priceServer IBarServer

Properties

BaseCurrency

Gets/sets the base currency.

public string BaseCurrency { get; set; }

Property Value

string

FXRates

Gets/sets a collection of FX rates.

public TimeSeriesCollection FXRates { get; set; }

Property Value

TimeSeriesCollection

FXServer

Gets/sets the server used to retrieve FX rates.

public FXServer FXServer { get; set; }

Property Value

FXServer

PriceSeries

Gets/sets a collection of BarSeries used for pricing (or cached from the PriceServer).

public BarSeriesCollection PriceSeries { get; set; }

Property Value

BarSeriesCollection

PriceServer

Gets/sets the server used to retrieve historical pricing.

public IBarServer PriceServer { get; set; }

Property Value

IBarServer

Methods

Calculate(IEnumerable<IPortfolioHolding>, double)

Calculates a portfolio return over all available history.

public TimeSeries Calculate(IEnumerable<IPortfolioHolding> positions, double equity)

Parameters

positions IEnumerable<IPortfolioHolding>
equity double

Returns

TimeSeries

Calculate(IEnumerable<IPortfolioHolding>, double, DateTime, DateTime)

Calculates a portfolio return using the specified parameters.

public TimeSeries Calculate(IEnumerable<IPortfolioHolding> positions, double equity, DateTime startDate, DateTime endDate)

Parameters

positions IEnumerable<IPortfolioHolding>
equity double
startDate DateTime
endDate DateTime

Returns

TimeSeries

Calculate(IEnumerable<IPortfolioHolding>, double, DateTime, TimeSpan)

Calculates a portfolio return using the specified paramters.

public TimeSeries Calculate(IEnumerable<IPortfolioHolding> positions, double equity, DateTime currentDate, TimeSpan lookback)

Parameters

positions IEnumerable<IPortfolioHolding>
equity double
currentDate DateTime
lookback TimeSpan

Returns

TimeSeries

OnCalculate(IEnumerable<IPortfolioHolding>, double, DateTime, DateTime)

Core calculation logic.

protected TimeSeries OnCalculate(IEnumerable<IPortfolioHolding> positions, double equity, DateTime startDate, DateTime endDate)

Parameters

positions IEnumerable<IPortfolioHolding>
equity double
startDate DateTime
endDate DateTime

Returns

TimeSeries