REGISTEREDspec_01KQG8T24H2BDA83JECC2BDA83 · v3Apr 30, 2026, 10:41 PM
Primary signal is constructed from the apewisdom_top100 feed. Each daily sweep ranks the top-100 tickers by a composite attention score: (1) likes-to-mentions ratio (upvote ratio from the feed) must exceed a threshold (e.g., top tercile of the current sweep), and (2) current-day trading volume must be within ±1 standard deviation of the ticker's trailing 30-day average daily volume (ADV), computed from OHLCV bars. Tickers passing both filters enter a technical refinement layer: RSI(14) must be between 40 and 65 (not overbought, not in freefall), price must be above its 20-day SMA, and the 9-day EMA must be above the 21-day EMA (short-term momentum confirmation). Survivors of all filters constitute the daily candidate set.
Conviction Score: Each surviving ticker is assigned a continuous conviction score C ∈ [0, 1] composed of three sub-signals, equally weighted by default (weights are sweep parameters):
- Sentiment strength (0–1): normalized likes-to-mentions ratio percentile rank within the current sweep's top-100.
- Technical alignment (0–1): composite of RSI proximity to 50 (peak score at RSI=52), EMA spread magnitude (9-EMA minus 21-EMA as % of price), and SMA distance (price % above 20-day SMA).
- Earnings proximity modifier: if an earnings announcement is within 5 calendar days (before or after entry), apply a dampening multiplier of 0.6 to C to reflect two-way event risk. If earnings are 6–15 days out, apply a mild dampening of 0.85. Beyond 15 days, no adjustment.
Optionally, a manual market-research gate can be applied by the operator before order submission.
Entry
Enter long at next-day market open for any ticker that clears all signal filters on the prior day's sweep. Position sizing is equal-weight across all candidates, subject to a maximum of 10 simultaneous open positions. Minimum liquidity gate: ADV must exceed $1M (derived from OHLCV volume). No leverage. No short positions. New entries are only taken if the portfolio has available cash allocation. The conviction score C is computed at entry and stored with the position record; it is used to set dynamic exit targets (see exit rules).
Exit
Exit targets are dynamically set at entry using the conviction score C ∈ [0, 1]:
- Profit target: PT = 12% + (C × 16%), yielding a range of +12% (low conviction) to +28% (high conviction). Implemented as a limit order placed at entry.
- Stop-loss: SL = 7% + (C × 5%), yielding a range of -7% (low conviction) to -12% (high conviction). Higher conviction justifies a slightly wider stop to avoid shaking out on noise. Implemented as a stop order placed at entry.
- Both orders are placed as a bracket at entry and updated if C is recalculated on a subsequent day (e.g., if the operator re-runs the sweep mid-hold).
Time-based exit: if neither target nor stop is hit within 15 calendar days, exit at market open on day 16.
Sentiment deterioration exit: if a ticker drops out of the apewisdom_top100 entirely for 3 consecutive days while the position is open and is below entry price, exit at next open.
Re-entry into the same ticker is permitted only after a full exit and a minimum 3-day cooling-off period.
Data-readiness warnings:
- earnings_calendar: MISSING - Non-core in v1 — earnings proximity dampener can be applied manually via operator review gate. Flag for v2 automation. Does not block.
- headline_sentiment: MISSING - No news connector wired into the Lab. Alpaca news feed / NewsAPI are v2 candidates. Not included as a core signal. Does not block.
Data-readiness warnings:
- earnings_calendar: MISSING — Required for the earnings proximity conviction modifier. Not wired into the Lab. Marked non-core because the dampener can be applied manually via the operator review gate in v1; automated use would require a connector. Flag as v2.
- headline_sentiment: MISSING — No news connector is currently wired into the Lab pipeline. Alpaca news feed and NewsAPI free tier are v2 candidates. Cannot be included as a core signal. Flag for future integration when a connector lands.
apewisdom_top100 coverage begins 2024; backtest window is therefore limited to ~2 years. Operator should acknowledge this constraint and not over-fit on a short sample. The manual market-research gate described in the thesis is supported as an optional operator review step before order submission but cannot be automated or backtested. Sentiment deterioration exit requires daily re-scoring of open positions against the apewisdom feed — ensure the pipeline re-runs the sweep for held tickers even when no new entries are triggered. ADV, volume z-score, RSI, SMA, and EMA are all derived from alpaca_equity_ohlcv; no separate data feed is needed. Earnings dates must be sourced for the earnings proximity modifier — Alpaca asset metadata does not provide point-in-time earnings calendars; operator should wire a free earnings calendar source (e.g., Nasdaq earnings calendar, EOD Historical Data free tier) or apply the dampener manually during the operator review gate.