algotradelib 0.0.0.9000
C++ header-only library for algorithmic trading
Loading...
Searching...
No Matches
algotradelib::strategy::ReconcileInputs Struct Reference

What reconciliation needs besides the intent and the portfolio; the runner fills it in. More...

#include <algotradelib/src/strategy/reconcile.hpp>

Collaboration diagram for algotradelib::strategy::ReconcileInputs:

Public Attributes

const Instrument * instrument_ {nullptr}
 The instrument's reference data (tick grid, lot size, currency); required.
std::optional< Decimal64 > reference_price_
 A price to size a notional or weight against, such as the last trade.
std::optional< PriceLimits > limits_
 The day's price band, if the broker publishes one.
std::optional< Decimal64 > portfolio_value_
 The total portfolio value, for weight sizing.
TradeTolerance tolerance_
 How small a drift from a target is not worth an order.
std::optional< Currency > portfolio_value_currency_
 The currency of portfolio_value_; absent means the instrument's currency.
bool reserved_rows_are_unconfirmed_ {false}
 Whether the portfolio's reserved rows (WorkingOrder::reserved_) are orders this runner sent that the holdings may not reflect yet, and which may already have filled.

Detailed Description

What reconciliation needs besides the intent and the portfolio; the runner fills it in.

A missing input refuses the instructions that need it, with a RejectReason that names it.

Definition at line 259 of file reconcile.hpp.

Member Data Documentation

◆ instrument_

const Instrument* algotradelib::strategy::ReconcileInputs::instrument_ {nullptr}

The instrument's reference data (tick grid, lot size, currency); required.

Definition at line 261 of file reconcile.hpp.

Referenced by algotradelib::strategy::reconcile(), algotradelib::strategy::reconcile(), and algotradelib::strategy::weight_target().

◆ limits_

std::optional<PriceLimits> algotradelib::strategy::ReconcileInputs::limits_

The day's price band, if the broker publishes one.

Definition at line 265 of file reconcile.hpp.

Referenced by algotradelib::strategy::reconcile(), and algotradelib::strategy::reconcile().

◆ portfolio_value_

std::optional<Decimal64> algotradelib::strategy::ReconcileInputs::portfolio_value_

The total portfolio value, for weight sizing.

Definition at line 267 of file reconcile.hpp.

Referenced by algotradelib::strategy::reconcile(), and algotradelib::strategy::weight_target().

◆ portfolio_value_currency_

std::optional<Currency> algotradelib::strategy::ReconcileInputs::portfolio_value_currency_

The currency of portfolio_value_; absent means the instrument's currency.

A weight on an instrument in another currency is refused (NO_PORTFOLIO_VALUE).

Definition at line 276 of file reconcile.hpp.

Referenced by algotradelib::strategy::weight_target().

◆ reference_price_

std::optional<Decimal64> algotradelib::strategy::ReconcileInputs::reference_price_

A price to size a notional or weight against, such as the last trade.

Definition at line 263 of file reconcile.hpp.

Referenced by algotradelib::strategy::reconcile(), and algotradelib::strategy::weight_target().

◆ reserved_rows_are_unconfirmed_

bool algotradelib::strategy::ReconcileInputs::reserved_rows_are_unconfirmed_ {false}

Whether the portfolio's reserved rows (WorkingOrder::reserved_) are orders this runner sent that the holdings may not reflect yet, and which may already have filled.

When set, a target that finds too much working cancels that side and sizes its replacement net of those rows, so a filled reservation is not traded twice.

Definition at line 284 of file reconcile.hpp.

Referenced by algotradelib::strategy::reconcile().

◆ tolerance_

TradeTolerance algotradelib::strategy::ReconcileInputs::tolerance_

How small a drift from a target is not worth an order.

Definition at line 270 of file reconcile.hpp.

Referenced by algotradelib::strategy::reconcile().


The documentation for this struct was generated from the following file: