|
WU Trading Library 0.2.0
A backtesting and trading strategy library
|
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 |
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.
| void(* WU_PortfolioStats::delete) (struct WU_PortfolioStats_ *stats) |
| WU_TimeStamp WU_PortfolioStats::last_update |
| void(* WU_PortfolioStats::record_trade) (struct WU_PortfolioStats_ *stats, double pnl, WU_CloseReason reason) |
| void(* WU_PortfolioStats::reset) (struct WU_PortfolioStats_ *stats) |
| char *(* WU_PortfolioStats::to_json) (struct WU_PortfolioStats_ *stats, bool pretty) |
| char *(* WU_PortfolioStats::to_keyvalue) (struct WU_PortfolioStats_ *stats) |
| void(* WU_PortfolioStats::update) (struct WU_PortfolioStats_ *stats, double cash, double portfolio_value, WU_TimeStamp timestamp) |
| void(* WU_PortfolioStats::update_position) (struct WU_PortfolioStats_ *stats, int asset_index, const char *symbol, double quantity, double value, double last_price) |