WU Trading Library 0.2.0
A backtesting and trading strategy library
Loading...
Searching...
No Matches
WU_PortfolioStats Struct Reference

WU_PortfolioStats tracks portfolio state, positions, and trading statistics. More...

#include <stats.h>

Data Fields

void(* update )(struct WU_PortfolioStats_ *stats, double cash, double portfolio_value, WU_TimeStamp timestamp)
void(* record_trade )(struct WU_PortfolioStats_ *stats, double pnl, WU_CloseReason reason)
void(* update_position )(struct WU_PortfolioStats_ *stats, int asset_index, const char *symbol, double quantity, double value, double last_price)
char *(* to_keyvalue )(struct WU_PortfolioStats_ *stats)
char *(* to_json )(struct WU_PortfolioStats_ *stats, bool pretty)
void(* reset )(struct WU_PortfolioStats_ *stats)
void(* delete )(struct WU_PortfolioStats_ *stats)
double initial_cash
double current_cash
double portfolio_value
WU_TimeStamp last_update
double accum_tx_fees
double accum_borrow_interest
int64_t total_trades
int64_t winning_trades
int64_t losing_trades
int64_t stop_loss_exits
int64_t take_profit_exits
double total_profit
double total_loss
double max_win
double max_loss
double accum_pnl
char ** symbols
double * quantities
double * values
double * last_prices
int num_assets
int capacity
WU_MaxDrawdown max_drawdown
WU_SharpeRatio sharpe_ratio
WU_SortinoRatio sortino_ratio
WU_CalmarRatio calmar_ratio
WU_Mean mean
WU_StDev stdev

Detailed Description

WU_PortfolioStats tracks portfolio state, positions, and trading statistics.

This is the central source of knowledge about portfolio performance and holdings.

Performance metrics (MaxDrawdown, Sharpe, Sortino, Calmar) are maintained as indicators that update sequentially with each portfolio value change.

Definition at line 68 of file stats.h.

Field Documentation

◆ accum_borrow_interest

double WU_PortfolioStats::accum_borrow_interest

Definition at line 88 of file stats.h.

◆ accum_pnl

double WU_PortfolioStats::accum_pnl

Definition at line 100 of file stats.h.

◆ accum_tx_fees

double WU_PortfolioStats::accum_tx_fees

Definition at line 87 of file stats.h.

◆ calmar_ratio

WU_CalmarRatio WU_PortfolioStats::calmar_ratio

Definition at line 114 of file stats.h.

◆ capacity

int WU_PortfolioStats::capacity

Definition at line 108 of file stats.h.

◆ current_cash

double WU_PortfolioStats::current_cash

Definition at line 82 of file stats.h.

◆ delete

void(* WU_PortfolioStats::delete) (struct WU_PortfolioStats_ *stats)

Definition at line 78 of file stats.h.

◆ initial_cash

double WU_PortfolioStats::initial_cash

Definition at line 81 of file stats.h.

◆ last_prices

double* WU_PortfolioStats::last_prices

Definition at line 106 of file stats.h.

◆ last_update

WU_TimeStamp WU_PortfolioStats::last_update

Definition at line 84 of file stats.h.

◆ losing_trades

int64_t WU_PortfolioStats::losing_trades

Definition at line 93 of file stats.h.

◆ max_drawdown

WU_MaxDrawdown WU_PortfolioStats::max_drawdown

Definition at line 111 of file stats.h.

◆ max_loss

double WU_PortfolioStats::max_loss

Definition at line 99 of file stats.h.

◆ max_win

double WU_PortfolioStats::max_win

Definition at line 98 of file stats.h.

◆ mean

WU_Mean WU_PortfolioStats::mean

Definition at line 115 of file stats.h.

◆ num_assets

int WU_PortfolioStats::num_assets

Definition at line 107 of file stats.h.

◆ portfolio_value

double WU_PortfolioStats::portfolio_value

Definition at line 83 of file stats.h.

◆ quantities

double* WU_PortfolioStats::quantities

Definition at line 104 of file stats.h.

◆ record_trade

void(* WU_PortfolioStats::record_trade) (struct WU_PortfolioStats_ *stats, double pnl, WU_CloseReason reason)

Definition at line 71 of file stats.h.

◆ reset

void(* WU_PortfolioStats::reset) (struct WU_PortfolioStats_ *stats)

Definition at line 77 of file stats.h.

◆ sharpe_ratio

WU_SharpeRatio WU_PortfolioStats::sharpe_ratio

Definition at line 112 of file stats.h.

◆ sortino_ratio

WU_SortinoRatio WU_PortfolioStats::sortino_ratio

Definition at line 113 of file stats.h.

◆ stdev

WU_StDev WU_PortfolioStats::stdev

Definition at line 116 of file stats.h.

◆ stop_loss_exits

int64_t WU_PortfolioStats::stop_loss_exits

Definition at line 94 of file stats.h.

◆ symbols

char** WU_PortfolioStats::symbols

Definition at line 103 of file stats.h.

◆ take_profit_exits

int64_t WU_PortfolioStats::take_profit_exits

Definition at line 95 of file stats.h.

◆ to_json

char *(* WU_PortfolioStats::to_json) (struct WU_PortfolioStats_ *stats, bool pretty)

Definition at line 76 of file stats.h.

◆ to_keyvalue

char *(* WU_PortfolioStats::to_keyvalue) (struct WU_PortfolioStats_ *stats)

Definition at line 75 of file stats.h.

◆ total_loss

double WU_PortfolioStats::total_loss

Definition at line 97 of file stats.h.

◆ total_profit

double WU_PortfolioStats::total_profit

Definition at line 96 of file stats.h.

◆ total_trades

int64_t WU_PortfolioStats::total_trades

Definition at line 91 of file stats.h.

◆ update

void(* WU_PortfolioStats::update) (struct WU_PortfolioStats_ *stats, double cash, double portfolio_value, WU_TimeStamp timestamp)

Definition at line 69 of file stats.h.

◆ update_position

void(* WU_PortfolioStats::update_position) (struct WU_PortfolioStats_ *stats, int asset_index, const char *symbol, double quantity, double value, double last_price)

Definition at line 73 of file stats.h.

◆ values

double* WU_PortfolioStats::values

Definition at line 105 of file stats.h.

◆ winning_trades

int64_t WU_PortfolioStats::winning_trades

Definition at line 92 of file stats.h.


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