AQAI QuantAI research lab for systematic strategies

Case study · Backtest

Paired Price-Learning versus Fixed-Belief Stock-and-Cash Allocation

BAYESIAN_PRICE_OBSERVER_VS_FIXED_BELIEF
bayesian-allocationprice-only-learningfixed-belief-comparisonstock-and-cashscenario-conditional-utilitydailyus-stocks

🗓 Backtest period: 2020-01-01..2024-07-01

Jan 2020Total 152.8%Jul 2024
Max DD -57.4%

Backtest metrics

Sharpe
1.07
Total Return
152.8%
Max Drawdown
-57.4%
CAGR
23.0%
Volatility
31.8%
Beta vs SPY
1.22
Trades
10,280

Strategy Card

Paired Price-Learning versus Fixed-Belief Stock-and-Cash Allocation — strategy card

Spec ID: spec-bayesian-price-learning-liquid-us-stocks-1791975692 · Generated: 2026-10-14 11:25 UTC

Cluster: Bayesian Allocation · Sub Cluster: Price Learning Versus Fixed Belief

One-line description

A long-only stock-and-cash portfolio updates its return beliefs from daily prices and adjusts stock holdings accordingly. A fixed-belief policy on the same eligible stocks serves as a paired research comparator; the reported trade blotter is the price-observer portfolio.

Why this trade exists

An investor uncertain about a stock's drift can use subsequent prices to refine that belief. The price observer (PO) changes its target holding as evidence accumulates, while the naive investor (NI) retains its entry-date belief. In the source model, learning has positive ex ante value but can have negative value under particular true drifts. This daily, clipped and cost-bearing implementation tests a related empirical policy, not the paper's frictionless identities.

Algorithm

[code omitted from public view] The specification calls for orders decided after a close to execute at the next session's actual adjusted open, skipping missing opens. The platform cost record instead labels the reported blotter as daily MOC; that execution discrepancy is unresolved.

Parameters

Param Value Notes
Universe Ten highest-volume non-ADR STOCK records per calendar year Annual screening-table refresh; same eligible names for PO and NI.
Backtest window 2020-01-01..2024-07-01 Daily bars; model horizon ends 2024-07-01 or the preceding executable session.
Prior and volatility 252 and 126 preceding return sessions; 252 annualization sessions Entry-date estimates; empirical prior variance v = sigma².
Cash rate Latest DFF observation strictly before stock entry, divided by 100 Frozen per stock through its horizon.
Risk aversion gamma = 0.02 per USD 1 million Illustrative paper value, not an empirical estimate.
Capital and exposure $1,000,000 initial; $100,000 initial sleeve per stock; 10% position cap; 4.0 maximum leverage Long-only dollar targets clipped to each sleeve; unused capital remains cash.
Rebalance and execution Daily close decisions; next-session adjusted-open fills specified The platform's charged-cost record instead says daily bars, MOC (market-on-close).
Commissions $0.0040 per share, minimum $1.00 per order, capped at 1.00% of trade value Charged per fill by the results module; all metrics are net of them
Slippage 0 bps — not applied Not an omission — MOC (market-on-close) fills at the auction print the backtest uses
Costs not modelled short borrow fees / rebate, margin financing on leverage, market impact, exchange/regulatory/clearing pass-through fees, taxes Excluded deliberately, not unknown

Look-ahead audit

# Concern Status
1 Prior calibration uses only pre-entry returns. ✓ Required by the rules; incumbent priors remain fixed.
2 PO filter uses completed closes, not future opens or scenario drifts. ✓ Required by the rules; trade-level verification is not supplied.
3 DFF and annual universe membership are available by their decision dates. ⚠ DFF must be strictly pre-entry; screening-table point-in-time availability is not evidenced here.
4 Decision observations and execution fills have the specified chronology. ⚠ Rules specify next-open fills, but the platform records MOC execution; the reported blotter cannot establish next-open compliance. A completed close used for a same-day open would violate chronology.
5 Charged costs match the reported backtest. ✓ commissions $0.0040/share (min $1.00/order); slippage 0 bps — not applied

Caveats / known limitations

Results

The reported PO blotter returned 152.81% over the stated backtest, with a 1.07 Sharpe ratio, 31.77% annualized volatility and a −57.39% maximum drawdown. These figures are net of the platform's charged commissions. Without matched NI results—and with the execution and cost-record discrepancy—they do not show whether price learning outperformed fixed belief.

Run diagnostics

Recomputed here from the run's stored daily returns, because every annualized figure in the table above is derived from the LENGTH of that array from its first active row (years = n / 252, counted from the first trade). Only total return and max drawdown do not depend on the row count, so when the recomputed and stored values differ by a common factor, those two are the numbers to trust.

Check From the run's own returns Note
Daily-return rows 1,131 1.00x the 1,134 trading days in 2020-01-01..2024-07-01
Annualized from 2020-01-03 1 leading flat row(s) before the first trade are excluded from Sharpe, volatility and CAGR (1,130 rows count)
Distinct dates 1,131 one row per date
Date span 2020-01-02 .. 2024-07-01
Sum of daily returns 152.81% matches the reported total return
Sharpe from these rows 1.07 stored 1.07
Volatility from these rows 31.77% stored 31.77%
Max drawdown from these rows -57.39% stored -57.39%
Lowest the book stood -17.14% low-water mark, in units of starting capital
CAGR from these rows 22.98% stored 22.98%

Backtest metrics snapshot

Metric Value
Total Return 152.81%
Sharpe 1.07
Sortino 1.41
Calmar 0.40
Max Drawdown -57.39%
Volatility 31.77%
Beta vs SPY 1.22
Annualized from 2020-01-03
Win Rate 78.36%
Profit Factor 3.93
Total Trades 10280
Symbols 10 (AAPL, AMD, AMZN, AVGO, GOOGL, META, MSFT, NFLX, NVDA, TSLA)