feat: us_momentum_qqq_trend; alpha-vs-QQQ research across new data sources
Register us_momentum_qqq_trend: half overnight_recovery_top10, half a QQQ trend sleeve (strategies/qqq_trend.py: 200-day switch times a 30% vol target, held as TQQQ + SHY). Mixed stock+ETF, US only (extra tickers QQQ, SHY, TQQQ). Research (research/lab/): alpha against QQQ with a 2006-16 design / 2017-26 holdout split (alpha.py, qqq_scan.py, beat_qqq.py); leverage and drawdown frontier (levered_book.py, us_target50.py); synthetic 3x ETFs from 1990 and TrendRider/QQQ-trend stress tests (fetch_long_history.py, letf_history.py, vol_trend.py); short-horizon sleeves, diversifiers, industry momentum, earnings-announcement returns; new point-in-time data sources: SEC Form 4 insider trades (fetch_insider.py, insider.py), 10-K/10-Q text similarity, 8-K earnings dates and SIC codes (fetch_lazy_prices.py, lazy_prices.py), and an S&P 400/600 universe from iShares holdings (fetch_us_mid.py, panel_mid.py). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,7 +58,8 @@ from strategies.permanent import (
|
||||
)
|
||||
from strategies.recovery_momentum import RecoveryMomentumStrategy
|
||||
from strategies.robust_momentum import RobustMomentumStrategy
|
||||
from strategies.sleeve_portfolio import us_three_sleeve
|
||||
from strategies.sleeve_portfolio import (MOMENTUM_QQQ_TREND_ETFS, us_momentum_qqq_trend,
|
||||
us_three_sleeve)
|
||||
from strategies.trend_following import TrendFollowingStrategy
|
||||
from strategies.trend_rider_v5 import TrendRiderV5
|
||||
from strategies.trend_rider_voltgt import (
|
||||
@@ -298,6 +299,8 @@ STRATEGY_REGISTRY = {
|
||||
# 1/3 each of overnight_recovery_top10, lowrisk_top20 and trend_rider_v7_vt24
|
||||
# in one account (strategies/sleeve_portfolio.py)
|
||||
"us_three_sleeve": lambda **kw: us_three_sleeve(),
|
||||
# half overnight_recovery_top10, half QQQ 200-day trend with a 30% vol target (TQQQ + SHY)
|
||||
"us_momentum_qqq_trend": lambda **kw: us_momentum_qqq_trend(),
|
||||
# --- TrendRiderV6: stock-picking + V5 regime engine ---
|
||||
"trend_rider_v6": lambda **kw: TrendRiderV6(),
|
||||
"trend_rider_v6_top10": lambda **kw: TrendRiderV6(top_n=10),
|
||||
@@ -328,6 +331,7 @@ MIXED_STRATEGY_EXTRA_TICKERS = {
|
||||
"trend_rider_v6": sorted(set(ETF_UNIVERSE)),
|
||||
"trend_rider_v6_top10": sorted(set(ETF_UNIVERSE)),
|
||||
"us_three_sleeve": sorted(set(ETF_UNIVERSE)),
|
||||
"us_momentum_qqq_trend": MOMENTUM_QQQ_TREND_ETFS,
|
||||
}
|
||||
|
||||
# Registered strategies the live monitor does not run, with the reason.
|
||||
|
||||
Reference in New Issue
Block a user