| name | alphagbm-marks-cycle |
| description | Howard Marks-style market cycle position 0-100, with 0 = panic bottom (hard
offense) and 100 = euphoric top (hard defense). Blends VIX (40%) + SPY IV Rank
(25%) + Put/Call ratio (20%) + valuation percentile (15%) into a single number
and maps to an offense-vs-defense posture. Free endpoint, no auth, 5-min cache
โ the goal is to make "where are we in the cycle" a one-call lookup.
Triggers: "where is the market in the cycle", "Howard Marks style cycle read",
"am I supposed to be offensive or defensive", "is this a buying cycle", "cycle
position right now", "Marks cycle score", "sentiment read for SPY"
|
| globs | ["mock-data/marks-cycle/**"] |
AlphaGBM Howard Marks Cycle
"Cycles are real โ the shape just isn't predictable." Howard Marks's framework
rejects forecasting and replaces it with cycle-position awareness: offense when
others are pessimistic, defense when others are optimistic.
This skill gives you the one number Marks's entire philosophy implies: where
are we right now.
The Cycle Score
Each signal is mapped to its own cycle component 0-100, then weighted:
| Signal | Weight | Interpretation |
|---|
| VIX | 40% | Low VIX โ complacency โ late cycle (high score). High VIX โ fear โ early cycle (low score) |
| IV Rank (SPY) | 25% | High IV rank โ fear โ early cycle |
| Put/Call ratio | 20% | Low P/C โ complacent โ late cycle |
| Valuation percentile | 15% | Higher PE percentile โ later cycle |
Weights renormalize when data points are missing (e.g., P/C not available).
Posture Bands
- 0-24 โ
OFFENSE_HARD โ extreme fear is opportunity. Buy aggressively.
- 25-39 โ
OFFENSE โ add, sell vol (short premium).
- 40-59 โ
NEUTRAL โ maintain positions, watch for shifts.
- 60-74 โ
DEFENSE โ don't add, brace for volatility.
- 75-100 โ
DEFENSE_HARD โ trim, buy protection (long puts / collars).
Why This Is a Separate Skill
alphagbm-vix-status gives just a VIX tier. alphagbm-market-sentiment gives a
sentiment dashboard. This skill is the one-call Marks-specific read:
"given everything I know about sentiment + valuation, what's the posture?"
How to Use
Input: none (market-level, no ticker)
Output:
cycle_score: integer 0-100
posture: one of OFFENSE_HARD / OFFENSE / NEUTRAL / DEFENSE / DEFENSE_HARD
posture_zh, posture_en: natural-language prescription
components: per-signal {value, cycle_component} breakdown
Example Queries
where are we in the cycle right now โ headline cycle number + posture
should I be playing offense or defense โ posture directly answers
Howard Marks read on the market โ same data, framed as Marks would
is this a buying cycle โ cycle < 30 โ yes; cycle > 60 โ no
current sentiment across VIX and IV rank โ components breakdown
Mock Data
Mock data in mock-data/marks-cycle/ โ sample showing NEUTRAL position.
API Endpoint
GET /api/masters/marks-cycle
No body, no auth required.
Response shape:
{
"success": true,
"cycle_score": 47,
"posture": "NEUTRAL",
"posture_zh": "ไธญๆง โ ็ปดๆๆขๅฎไปไฝ,่งๅฏๆ
็ปชๅๅ",
"posture_en": "Neutral โ maintain positions, watch sentiment",
"components": {
"vix": {"value": 22.5, "cycle_component": 48},
"iv_rank": {"value": 55, "cycle_component": 45}
},
"timestamp": "2026-04-24T08:00:00"
}
Pricing: free โ no auth, no credit deduction. 5-min cache.
Related Skills
Powered by AlphaGBM โ Real-data options & research intelligence. 10K+ users.