| algotradelib | |
| src | |
| analytics | |
| conversion.hpp | Conversions between exact Decimal64 values and the analytics Scalar |
| frame.hpp | |
| indicators.hpp | Named technical indicators: z-score, Bollinger bands, RSI, ATR, MACD, and trailing covariance, correlation and beta |
| metrics.hpp | Performance metrics: maximum drawdown, Sharpe and Sortino ratios, annualization, turnover |
| numeric.hpp | Re-exports math::Scalar, math::missing and math::observed into analytics |
| panel.hpp | |
| returns.hpp | Simple, log and cumulative returns of a price series |
| rolling.hpp | Trailing-window statistics: sums, means, deviations, extremes and moving averages |
| series_buffer.hpp | |
| time_index.hpp | |
| backtest | |
| clock.hpp | Bar-interval arithmetic and the replay clock |
| cost.hpp | Trading costs for a backtest: commission (CommissionModel, CommissionPolicy), slippage (SlippageModel) and how a limit order's fill price is chosen (LimitFillPrice) |
| engine.hpp | The backtest engine: Backtester replays bars (and quotes) through the same Runner a live session uses |
| fill.hpp | The backtest fill model: whether a queued order trades against the next bar, and at what price and cost |
| ledger.hpp | The replay ledger: positions, cash and realized profit a backtest keeps, in exact decimals |
| report.hpp | The backtest report: performance figures, costs, and every assumption and limitation of the run as a field (ReportCaveats) |
| brokers | |
| kis | |
| auth.hpp | |
| client.hpp | |
| config.hpp | |
| network.hpp | |
| traits.hpp | |
| kiwoom | |
| auth.hpp | |
| client.hpp | |
| config.hpp | |
| errors.hpp | |
| network.hpp | |
| traits.hpp | |
| tossinvest | |
| auth.hpp | |
| client.hpp | |
| config.hpp | |
| network.hpp | |
| traits.hpp | |
| common.hpp | |
| core | |
| broker_caps.hpp | |
| broker_session.hpp | |
| broker_traits.hpp | |
| broker_verbs.hpp | |
| calendar.hpp | |
| data_only_traits.hpp | |
| enum_values.hpp | A compile-time check that a list names every value of an enum, and a parser over the list |
| instrument.hpp | |
| market_data.hpp | |
| types.hpp | |
| live | |
| bind.hpp | Factories that bind a strategy to a broker session in one call: bind, bind_journaled and bind_observer |
| session_executor.hpp | |
| session_source.hpp | |
| math | |
| eigen.hpp | The math types and decompositions, implemented with Eigen |
| matrix.hpp | The linear algebra types of the math module: Matrix, Vector, SeriesView, MutableSeriesView, MatrixView and Index |
| scalar.hpp | |
| network | |
| http_client.hpp | |
| oauth.hpp | |
| rate_limit.hpp | |
| ws_session.hpp | |
| ws_session_base.hpp | |
| wss_session.hpp | |
| runner | |
| clock.hpp | |
| context.hpp | |
| dispatch.hpp | |
| execution.hpp | |
| file_journal.hpp | |
| journal.hpp | |
| loop.hpp | |
| order_updates.hpp | |
| reconcile_orders.hpp | |
| runner.hpp | |
| signal_stop.hpp | |
| stop.hpp | |
| strategy | |
| vanilla | |
| buy_and_hold.hpp | |
| crossover.hpp | |
| reversion.hpp | |
| signal.hpp | Helpers for the vanilla strategies that compute indicators |
| sizing.hpp | |
| timed_liquidation.hpp | |
| concept.hpp | What a strategy is, how a runner calls its handlers, and ATL_ASSERT_STRATEGY |
| event.hpp | The events a runner delivers to a strategy's handlers, and the market phase |
| intent.hpp | What a strategy asks the runner for: orders (OrderIntent), target positions (TargetPosition) and cancellations (CancelIntent) |
| portfolio.hpp | |
| reconcile.hpp | Reconciliation: turning a strategy's intents and targets into the orders and cancellations to send |
| risk.hpp | |
| sellable_convention.hpp | |
| version.hpp | The library's version macros |
| examples | |
| example-analytics-offline.cpp | |
| example-backtest-broker.cpp | |
| example-backtest-compare.cpp | |
| example-backtest-offline.cpp | |
| example-inverse-fund.cpp | |
| example-kis-account.cpp | |
| example-kis-auth.cpp | |
| example-kis-orders.cpp | |
| example-kis-place-order.cpp | |
| example-kis-quote.cpp | |
| example-kiwoom-account.cpp | |
| example-kiwoom-auth.cpp | |
| example-kiwoom-quote.cpp | |
| example-live-loop.cpp | A live runner loop with no broker, no credentials and no network |
| example-live-program.cpp | The live program to copy: KIS, Kiwoom or Toss, journalled, recoverable, stoppable |
| example-order-journal.cpp | |
| example-portable-holdings.cpp | |
| example-portable-market-data.cpp | |
| example-rate-limit-stats.cpp | |
| example-strategy-dryrun.cpp | |
| example-strategy-live.cpp | |
| example-tossinvest-account.cpp | |
| example-tossinvest-auth.cpp | |
| example-tossinvest-orders.cpp | |
| example-tossinvest-quote.cpp | |
| kis_credentials.hpp | The examples' KIS credentials: one JSON file per account, or the environment |
| kiwoom_credentials.hpp | The examples' Kiwoom credentials: one JSON file per key, or the environment |
| live_program.hpp | The production wiring of a live run, with no broker named: the part of example-live-program a consumer keeps |