“Buy above the average and sell below it.” Lin gives this instruction to two AI assistants. One spends all the cash and leaves a negative balance after fees; the other buys slightly less. Both claim to have followed the instruction. Why are the accounts different?
A signal specifies a desired state. Execution also needs a time, price, quantity, and stopping point when evidence is missing. Write these as a natural-language specification and test the boundaries before asking an assistant to implement them.
What you will be able to do
- Connect the research question, signal, target holding, and execution policy in a T05 specification.
- Determine expected behavior for equality, missing data, closed markets, and fee constraints.
- Manage ambiguity through versions and unresolved items rather than let software silently choose the rules.
Make the result decidable
A strategy specification is an operating agreement for research: given particular inputs, what decisions and records should result? Completeness makes the object testable. It neither promises profit nor authorizes automatic orders in a real account.
CFA Institute's public overview connects backtesting with evaluation of specified rules in a historical environment.[1] When a tool invents inputs, fills, and exception policies, you may end up evaluating its defaults instead of your intended idea.
Name the specification and record author, date, version, and question. A changed window, cost, execution time, or missing-data policy is a changed version. Altering only an implementation while leaving the old name in the report hides the change from a reviewer.
Put C2-A's scope on the page
Use the established C2-A baseline rather than invent a more profitable rule. Ask how a fixed low-frequency trend rule changes returns and drawdowns after costs in the specified asset and period, and whether further observation is worthwhile. Lower drawdown does not by itself establish alpha.
The only assets are SPY and cash. The teaching period is January 1, 2007 through December 31, 2024, with sufficient warmup obtained from 2006 onward. These are retrospective teaching choices, not a prospective experiment covering every possible security.
Initial strategy-subaccount capital is $10,000, long-only and unleveraged. The baseline permits fractional shares and assumes zero cash return. That capital is not a recommended household contribution. Zero account cash return also does not automatically set the risk-free reference used by performance statistics to zero.
Keep the time divisions: 2007–2014 for rule understanding and development, 2015–2019 for validation, and 2020–2024 as the frozen teaching holdout. The author knows this history. Using the holdout to select a rule contaminates it; a new label does not make the period unseen.
Inputs include regular-session raw opens and closes, cash dividends, splits, and the trading calendar. Construct and check the total-return signal series separately. If using a vendor-adjusted series, document definition and historical availability before combining fields. Include permissions, missing data, and versions in T05.
Give signal, target, and actual holdings separate fields
After the last normal trading day's close each month, compare the available total-return index with the simple average of its latest ten valid month-end values, including that month. A valid current value and sufficient history are required. Strictly above produces the holding target; otherwise, including equality, the valid target is cash.
The holding target applies to the subaccount's resources after the relevant costs. Cash target means no risky-asset holding. There is no stop-loss, short position, or additional asset in this baseline. Discussing exceptions does not authorize adding a protective rule.
Record the target before calculating the adjustment from actual cash and shares. If the target is already satisfied and there is no cash requiring adjustment, a monthly review does not require an artificial sale and repurchase.
Attempt execution at the next normal trading day's open under the teaching fill model. A total-return index point is not SPY's tradable dollar opening price. Do not use a completed month-end close to create a transaction supposedly executed before the information existed.
Budget for both slippage and commission
Baseline commission is 5 basis points of each executed trade's value. Another 5 basis points of directional slippage affects the price. One basis point is 0.01 percentage points; 5 basis points is 0.05%, or 0.0005. These are teaching assumptions, not broker rates, and returns exclude personal taxes.
For reference open P, the model's buy price is P times 1.0005 and sell price P times 0.9995. Commission is then calculated on the corresponding traded amount. Once slippage is reflected in price, do not deduct the same amount again from return.
Use an independent boundary example: $100 cash, no shares, a valid holding target, $10 reference open, fractional shares, and no minimum commission. Slippage makes the buy price $10.005. Budgeting for commission as well gives a quantity ceiling of approximately 9.9900075 shares, rather than ten.
With the unrounded ceiling, traded value is about $99.950025 and commission about $0.049975, totaling $100. Ten shares would exceed available cash. Compute quantity from the inclusive budget instead of overspending and allowing negative cash to keep the simulation running.
The supplement rounds buys down to a millionth of a share. The actual order is therefore 9.990007 shares, with total cost $99.9999950450175 and a small positive balance remaining. Displaying cents does not erase that balance from the ledger. A whole-share comparison is a separate scenario, not an unannounced replacement for the fractional baseline.
Corporate actions do not create new signals
Apply splits to actual holdings and units. Record dividend cash according to event entitlement and cash timing; include that cash in the target holding at the next scheduled rebalance. Use the same reinvestment timing for the buy-and-hold benchmark.
The signal's total-return series already reflects its stated return treatment. Do not add its changes directly to account profit and then add the same dividend again. The trading ledger needs raw tradable prices, actual shares, and events, while the signal series serves its own purpose.
A closed market is a calendar condition, not a corporate action. Locate the next normal session and then check its opening data. Do not manufacture a $10 quote on a holiday. Implementers need the same calendar and time basis rather than group one dataset by UTC date and another by an unrelated session date.
Save boundary expectations before implementing
These independent synthetic cases are behavior checks, not historical SPY events.
| Input condition | Expected behavior |
|---|---|
| Ten valid values all equal 104 | Average 104; valid cash target |
| Current value missing, or only nine inputs with no earlier eligible history | Insufficient inputs; no valid new target |
| The day after a signal is closed | No fill that day; find the next normal session |
| Valid holding target, but opening price missing or execution impossible | Preserve actual cash and holdings; log and follow the retry policy |
| $100 cash, $10 reference price, baseline costs | Ceiling about 9.9900075 shares; order 9.990007; cash remains nonnegative |
| Current index 109 exceeds its valid average | Holding target, not a $109 execution quote |
Equality is an economic-condition result; insufficient data is not. They cannot both be translated as sell. Likewise, preserving actual shares during an unavailable fill leaves their market exposure in place. A target cannot substitute for the transaction.
Where a policy remains undefined, mark T05 incomplete and pause the affected implementation. The original C2 description did not fully define pending-target validity after an invalid new signal. The following supplement makes that choice explicit rather than letting an assistant choose after observing prices.
Register the missing policy as a new specification
The October 29, 2026 supplement first expires the prior pending simulated target at each month-end decision. Then it checks current inputs. An invalid current value or fewer than ten eligible month-ends produces no new target; actual cash and holdings remain, awaiting the next valid scheduled month-end.
A valid target can be retried on normal sessions when an opening price is unavailable, but does not survive the next month-end decision unchanged. Expiration does not reverse simulated fills already made earlier that day. Newly obtained data is saved as a revision, not rewritten as earlier knowledge.
This policy maintains actual exposure when inputs are insufficient; it does not move the account into safe cash. Continuing an old pending buy indefinitely or forcing liquidation on missing inputs would be different economic rules requiring separate versions. Actual broker cancellations require confirmed status; simulated target expiry is not a cancellation receipt.
Numerically, compare verified signal inputs strictly without display rounding. Use 28 significant decimal digits with round-half-even arithmetic. Round buy quantities down to 0.000001 shares, then recalculate inclusive cost and verify that cash is nonnegative.
If a split creates a remainder the share unit cannot represent, pause and register a fractional-share or cash-substitution policy. Do not discard ownership to make the numbers fit. Missing event information similarly blocks that path instead of authorizing a fabricated action.
These are explicitly added teaching conventions, not terms that were always present in the original description. A defined boundary answer does not establish that complete real inputs, implementation, or performance have been validated. Knowing historical results today also prevents calling today's registration an original historical preregistration.
Define the comparison and the endpoint
Compare with buy-and-hold in the same asset, using the same initial capital, dates, valuation, dividend-reinvestment timing, entry costs, and endpoint policy. Preserve additional costs genuinely caused by the strategy's turnover. Do not invent trades for the benchmark merely to equalize counts.
At the endpoint, value holdings at the available close without forcing a sale. A supplemental liquidation scenario charges the appropriate selling costs to both accounts. Valuation is not an executed exit, and prices beyond the research endpoint cannot quietly fill an unavailable trade.
Retain zero commission/zero slippage as an idealized comparison, 5/5 basis points as baseline, 15/15 as stress, and an additional one-valid-trading-day delay as a separate scenario. Changing cost and delay together cannot be reported as only an improved signal.
Investor.gov notes that a market order's execution price need not match the last quoted trade.[2] An opening quote plus assumed slippage is a teaching model, not proof that a real account can reproduce each fill. Implementation and account conditions need separate verification.
Check the specification yourself
Explanation question: Why does “monthly review, target holding” fail to define a checkable trade?
Application question: A tool buys when ten values equal 104, then liquidates everything when data is insufficient. How do those two decisions need checking? Write answers before continuing.
The first task still needs information time, execution day, price, quantity, cost, and actual status. Equality explicitly produces cash, so buying contradicts the rule. Insufficiency produces no valid new signal; it cannot automatically become a cash target. Check the missing-input policy rather than use one answer for both situations.
Change cash and price together
A separate example has $200 cash, no shares, a valid holding target, and a $20 reference open on the next normal session. Keep 5/5-basis-point costs, fractional shares, and no minimum commission. An assistant says, “Ten shares cost exactly $200; any dividend that day can be reinvested immediately.” Identify two corrections.
The buy price is $20.01. Inclusive commission budgeting again gives a ceiling near 9.9900075 shares, with the order rounded down to 9.990007. Cost is approximately $199.99999009, leaving about $0.00000991, nonnegative. Use unrounded internal values for the cash check.
The quantity matches the earlier example because cash and price doubled together, not because C2 always buys that amount. Ten shares at the unadjusted $20 ignore costs. Dividends also need entitlement and actual receipt before the next scheduled reinvestment; do not invent an event or bypass C2's timing.
Save T05 and its behavior table
Include question, assets and dates, data and versions, signal inputs and timing, target, orders and fills, cash and costs, corporate actions, exceptions, benchmark, endpoint, and stress scenarios. Attach at least five input-to-expected-behavior cases and preserve the first version.
Mark each item decided, data awaiting verification, or rule awaiting clarification. Ask another person or AI to explain behavior before implementing. Different answers should return to the relevant condition and a recorded revision, not become competing implementations presented as one strategy.
Choose one proposed order and trace its known signal, price input, cash, and costs. A broken link is a stopping point. T05 makes disagreements discoverable; it does not sign off real data, independent reproduction, research validity, or investment action.
Replace defaults with checkable choices
Separate signal, target, order, and fill, then connect cash, corporate actions, and the benchmark. The same holding instruction can produce different accounts under different cost, unit, calendar, and exception policies.
Test the boundaries and distinguish missing inputs from equality. An attractive result does not repair an undefined rule. Versions let you later explain what changed rather than merely observe a different return curve.
References
- CFA Institute: Backtesting & Simulation. Public 2026 overview and summary, not the paid curriculum.
- Investor.gov: Types of Orders. Execution-price conditions. C2's costs, fills, and exceptions are teaching conventions, not market guarantees.
The case contract and C2-A-spec-20261029 supplement govern this baseline; C2-B is a separately registered variant. Complete real-data backtesting remains unverified. Sources checked October 30, 2026. AI-assisted draft; independent AI full-text and bilingual review is complete. Human financial review and target-reader testing have not been conducted and are not scheduled for this production round.