analyze-investment-clock-rotation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<essential_principles>
<principle name="quadrant_model">
**四象限模型核心**
投資時鐘將市場狀態簡化為四個象限:
金融環境支持(寬鬆)
↑
Q3 │ Q1
修復過渡 │ 理想象限
────────────┼────────────→ 獲利成長
Q4 │ Q2
最差象限 │ 好壞混合
│
金融環境不支持(緊縮)| 象限 | 獲利 | 金融環境 | 含義 | 配置建議 |
|---|---|---|---|---|
| Q1 理想象限 | ↑ | 支持↑ | 風險資產友善 | 偏多、順風配置 |
| Q2 好壞混合 | ↑ | 不支持↓ | 估值壓力、波動 | 波動管理、估值敏感 |
| Q3 修復過渡 | ↓ | 支持↑ | 寬鬆救市、基本面未回 | 勿誤判為全面牛市 |
| Q4 最差象限 | ↓ | 不支持↓ | 風險資產易受傷 | 風險控管、降槓桿 |
不同來源的投資時鐘圖可能有不同的軸向定義。本 skill 預設:
-
X 軸:金融環境(Financial Conditions)
- 左側 = 寬鬆(支持性高)
- 右側 = 緊縮(支持性低)
-
Y 軸:獲利成長(Earnings Growth)
- 上方 = 正成長
- 下方 = 負成長
若你的圖表定義不同,請在輸入參數中調整 和 。
</principle>
<principle name="clock_hour">
**時鐘點位計算**
axis_mappingclock_convention透過 計算角度,再轉換成 12 小時制:
atan2(y, x)- 12 點:正上方(獲利最高、金融環境中性)
- 3 點:右側(金融環境最緊)
- 6 點:正下方(獲利最低)
- 9 點:左側(金融環境最寬鬆)
旋轉方向:
- 順時針:典型景氣循環路徑(Q1 → Q2 → Q4 → Q3 → Q1)
- 逆時針:政策干預或非典型事件 </principle>
本 skill 使用無需 API key 的資料來源:
- FRED CSV:
https://fred.stlouisfed.org/graph/fredgraph.csv?id={SERIES_ID}- 金融環境:NFCI(Chicago Fed)、STLFSI4(St. Louis Fed)
- 獲利代理:CP(企業利潤)、GDP 相關指標
腳本位於 目錄,可直接執行。
</principle>
scripts/</essential_principles>
<objective>
實作投資時鐘分析:
- 建構座標:從 FRED 數據計算獲利成長與金融環境 Z-score
- 判定象限:識別當前落在哪個象限
- 計算點位:轉換為 12 小時制時鐘點位
- 分析旋轉:判斷旋轉方向與幅度
- 循環比較:與前一輪循環比較(可選)
輸出:當前象限、時鐘點位、旋轉摘要、配置建議。
</objective>
<quick_start>
最快的方式:執行預設分析
bash
cd skills/analyze-investment-clock-rotation
pip install pandas numpy requests # 首次使用
python scripts/investment_clock.py --quick輸出範例:
json
{
"as_of": "2026-01-15",
"current_position": {
"clock_hour": 10,
"quadrant": "Q1_ideal",
"earnings_growth": 0.052,
"financial_conditions_zscore": -0.35
},
"interpretation": "理想象限,風險資產相對順風"
}完整分析:
bash
python scripts/investment_clock.py \
--start 2022-01-01 \
--end 2026-01-19 \
--compare-cycle 2020-01-01 2022-12-31 \
--output result.json</quick_start>
<intake>
需要進行什麼操作?
- 快速檢查 - 查看目前的投資時鐘位置與象限
- 完整分析 - 分析時間區間內的旋轉路徑與方向
- 循環比較 - 與前一輪循環比較旋轉特徵
- 視覺化圖表 - 生成投資時鐘視覺化圖表
- 方法論學習 - 了解投資時鐘模型的邏輯
請選擇或直接提供分析參數。
</intake>
<routing>
| Response | Action |
|--------------------------------|----------------------------------------------------|
| 1, "快速", "quick", "check" | 執行 `python scripts/investment_clock.py --quick` |
| 2, "完整", "分析", "full" | 閱讀 `workflows/analyze.md` 並執行 |
| 3, "比較", "循環", "compare" | 閱讀 `workflows/compare-cycle.md` 並執行 |
| 4, "視覺化", "chart", "plot" | 閱讀 `workflows/visualize.md` 並執行 |
| 5, "學習", "方法論", "why" | 閱讀 `references/methodology.md` |
| 提供參數 (如日期範圍) | 閱讀 `workflows/analyze.md` 並使用參數執行 |
路由後,閱讀對應文件並執行。
</routing>
<directory_structure>
analyze-investment-clock-rotation/
├── SKILL.md # 本文件(路由器)
├── skill.yaml # 前端展示元數據
├── manifest.json # 技能元數據
├── workflows/
│ ├── analyze.md # 完整分析工作流
│ ├── compare-cycle.md # 循環比較工作流
│ └── visualize.md # 視覺化工作流
├── references/
│ ├── methodology.md # 投資時鐘方法論
│ ├── data-sources.md # FRED 系列代碼與資料來源
│ └── input-schema.md # 完整輸入參數定義
├── templates/
│ ├── output-json.md # JSON 輸出模板
│ └── output-markdown.md # Markdown 報告模板
└── scripts/
├── investment_clock.py # 主分析腳本
├── fetch_data.py # 數據抓取工具
└── visualize.py # 視覺化繪圖工具</directory_structure>
<reference_index>
方法論: references/methodology.md
- 投資時鐘概念與歷史
- 四象限定義與配置含義
- 旋轉方向解讀
資料來源: references/data-sources.md
- FRED 系列代碼(金融環境/獲利代理)
- 數據頻率與對齊方法
輸入參數: references/input-schema.md
- 完整參數定義
- 預設值與建議範圍
</reference_index>
<workflows_index>
| Workflow | Purpose | 使用時機 |
|---|---|---|
| analyze.md | 完整分析 | 需要詳細象限與旋轉分析 |
| compare-cycle.md | 循環比較 | 比較不同循環的特徵 |
| visualize.md | 生成視覺化圖表 | 需要圖表展示 |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| output-json.md | JSON 輸出結構定義 |
| output-markdown.md | Markdown 報告模板 |
| </templates_index> |
<scripts_index>
| Script | Command | Purpose |
|---|---|---|
| investment_clock.py | | 快速檢查當前位置 |
| investment_clock.py | | 完整分析 |
| investment_clock.py | | 循環比較 |
| fetch_data.py | | 抓取 FRED 資料 |
| visualize.py | | 生成視覺化圖表 |
| </scripts_index> |
<input_schema_summary>
核心參數
| 參數 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| market | string | US_EQUITY | 分析標的 |
| start_date | string | 2022-01-01 | 分析起點 |
| end_date | string | today | 分析終點 |
| freq | string | weekly | 頻率(weekly/monthly) |
資料來源參數
| 參數 | 類型 | 說明 |
|---|---|---|
| earnings_series.source | string | fred / api / csv / manual |
| earnings_series.series_id | string | FRED 序列 ID(如 CP) |
| earnings_series.growth_method | string | yoy / qoq_annualized |
| financial_conditions_series.source | string | fred / api / csv |
| financial_conditions_series.series_id | string | NFCI / STLFSI4 |
| financial_conditions_series.transform | string | level / zscore / inverse |
軸向參數
| 參數 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| axis_mapping.x | string | financial_conditions | X 軸定義 |
| axis_mapping.y | string | earnings_growth | Y 軸定義 |
| clock_convention.financial_loose_is_left | bool | true | 寬鬆在左側 |
完整參數定義見 。
references/input-schema.md</input_schema_summary>
<output_schema_summary>
json
{
"skill": "analyze-investment-clock-rotation",
"as_of": "2026-01-19",
"market": "US_EQUITY",
"current_state": {
"clock_hour": 10,
"quadrant": "Q1_ideal",
"quadrant_name": "理想象限",
"x_value": -0.35,
"y_value": 0.052
},
"rotation_summary": {
"from_hour": 2,
"to_hour": 10,
"direction": "clockwise",
"magnitude_degrees": 240
},
"interpretation": "獲利成長為正,金融環境偏支持,屬於風險資產相對順風的象限"
}完整輸出結構見 。
</output_schema_summary>
templates/output-json.md<success_criteria>
執行成功時應產出:
- 當前象限(Q1/Q2/Q3/Q4)
- 時鐘點位(1-12 點)
- 獲利成長值與金融環境 Z-score
- 旋轉方向(順時針/逆時針)
- 旋轉幅度(度數)
- 配置建議(依象限)
- 循環比較摘要(若有啟用)
- 視覺化圖表(可選,輸出至 目錄) </success_criteria>
output/
<essential_principles>
<principle name="quadrant_model">
**Core of the Four-Quadrant Model**
The Investment Clock simplifies market conditions into four quadrants:
Supportive Financial Conditions (Loose)
↑
Q3 │ Q1
Recovery Transition │ Ideal Quadrant
────────────┼────────────→ Profit Growth
Q4 │ Q2
Worst Quadrant │ Mixed Prospects
│
Unsupportive Financial Conditions (Tight)| Quadrant | Profit | Financial Conditions | Implication | Allocation Recommendation |
|---|---|---|---|---|
| Q1 Ideal Quadrant | ↑ | Supportive ↑ | Risk Asset Friendly | Overweight, Tailwind Allocation |
| Q2 Mixed Prospects | ↑ | Unsupportive ↓ | Valuation Pressure, Volatility | Volatility Management, Valuation Sensitivity |
| Q3 Recovery Transition | ↓ | Supportive ↑ | Loose Policy Rescue, Fundamentals Unrecovered | Do Not Misjudge as a Full Bull Market |
| Q4 Worst Quadrant | ↓ | Unsupportive ↓ | Risk Assets Vulnerable | Risk Control, Deleveraging |
Investment Clock diagrams from different sources may have different axis definitions. This skill defaults to:
-
X-axis: Financial Conditions
- Left = Loose (Highly Supportive)
- Right = Tight (Low Support)
-
Y-axis: Earnings Growth
- Top = Positive Growth
- Bottom = Negative Growth
If your diagram uses a different definition, adjust and in the input parameters.
</principle>
<principle name="clock_hour">
**Clock Position Calculation**
axis_mappingclock_conventionCalculate the angle using , then convert to a 12-hour format:
atan2(y, x)- 12 o'clock: Top (Highest Profit, Neutral Financial Conditions)
- 3 o'clock: Right (Tightest Financial Conditions)
- 6 o'clock: Bottom (Lowest Profit)
- 9 o'clock: Left (Loosest Financial Conditions)
Rotation Direction:
- Clockwise: Typical Business Cycle Path (Q1 → Q2 → Q4 → Q3 → Q1)
- Counterclockwise: Policy Intervention or Atypical Events </principle>
This skill uses data sources that do not require an API key:
- FRED CSV:
https://fred.stlouisfed.org/graph/fredgraph.csv?id={SERIES_ID}- Financial Conditions: NFCI (Chicago Fed), STLFSI4 (St. Louis Fed)
- Profit Proxies: CP (Corporate Profits), GDP-related Indicators
Scripts are located in the directory and can be executed directly.
</principle>
scripts/</essential_principles>
<objective>
Implement Investment Clock Analysis:
- Construct Coordinates: Calculate Z-scores for Earnings Growth and Financial Conditions from FRED data
- Determine Quadrant: Identify the current quadrant
- Calculate Position: Convert to 12-hour clock position
- Analyze Rotation: Determine rotation direction and magnitude
- Cycle Comparison: Compare with the previous cycle (Optional)
Output: Current Quadrant, Clock Position, Rotation Summary, Allocation Recommendation.
</objective>
<quick_start>
Fastest Way: Run the Default Analysis
bash
cd skills/analyze-investment-clock-rotation
pip install pandas numpy requests # First-time use
python scripts/investment_clock.py --quickSample Output:
json
{
"as_of": "2026-01-15",
"current_position": {
"clock_hour": 10,
"quadrant": "Q1_ideal",
"earnings_growth": 0.052,
"financial_conditions_zscore": -0.35
},
"interpretation": "Ideal Quadrant, Risk Assets in a Relative Tailwind"
}Full Analysis:
bash
python scripts/investment_clock.py \
--start 2022-01-01 \
--end 2026-01-19 \
--compare-cycle 2020-01-01 2022-12-31 \
--output result.json</quick_start>
<intake>
What operation do you need to perform?
- Quick Check - View the current Investment Clock position and quadrant
- Full Analysis - Analyze rotation path and direction within a time interval
- Cycle Comparison - Compare rotation characteristics with the previous cycle
- Visualization Chart - Generate Investment Clock visualization chart
- Methodology Learning - Understand the logic of the Investment Clock model
Please select or provide analysis parameters directly.
</intake>
<routing>
| Response | Action |
|--------------------------------|----------------------------------------------------|
| 1, "快速", "quick", "check" | Execute `python scripts/investment_clock.py --quick` |
| 2, "完整", "分析", "full" | Read `workflows/analyze.md` and execute |
| 3, "比較", "循環", "compare" | Read `workflows/compare-cycle.md` and execute |
| 4, "視覺化", "chart", "plot" | Read `workflows/visualize.md` and execute |
| 5, "學習", "方法論", "why" | Read `references/methodology.md` |
| Provide parameters (e.g., date range) | Read `workflows/analyze.md` and execute with parameters |
After routing, read the corresponding file and execute.
</routing>
<directory_structure>
analyze-investment-clock-rotation/
├── SKILL.md # This file (Router)
├── skill.yaml # Frontend Display Metadata
├── manifest.json # Skill Metadata
├── workflows/
│ ├── analyze.md # Full Analysis Workflow
│ ├── compare-cycle.md # Cycle Comparison Workflow
│ └── visualize.md # Visualization Workflow
├── references/
│ ├── methodology.md # Investment Clock Methodology
│ ├── data-sources.md # FRED Series Codes and Data Sources
│ └── input-schema.md # Complete Input Parameter Definitions
├── templates/
│ ├── output-json.md # JSON Output Template
│ └── output-markdown.md # Markdown Report Template
└── scripts/
├── investment_clock.py # Main Analysis Script
├── fetch_data.py # Data Fetching Tool
└── visualize.py # Visualization Plotting Tool</directory_structure>
<reference_index>
Methodology: references/methodology.md
- Investment Clock Concepts and History
- Four-Quadrant Definitions and Allocation Implications
- Rotation Direction Interpretation
Data Sources: references/data-sources.md
- FRED Series Codes (Financial Conditions/Profit Proxies)
- Data Frequency and Alignment Methods
Input Parameters: references/input-schema.md
- Complete Parameter Definitions
- Default Values and Recommended Ranges
</reference_index>
<workflows_index>
| Workflow | Purpose | Usage Scenario |
|---|---|---|
| analyze.md | Full Analysis | Requires detailed quadrant and rotation analysis |
| compare-cycle.md | Cycle Comparison | Compare characteristics of different cycles |
| visualize.md | Generate Visualization Chart | Needs chart display |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| output-json.md | JSON Output Structure Definition |
| output-markdown.md | Markdown Report Template |
| </templates_index> |
<scripts_index>
| Script | Command | Purpose |
|---|---|---|
| investment_clock.py | | Quickly check current position |
| investment_clock.py | | Full Analysis |
| investment_clock.py | | Cycle Comparison |
| fetch_data.py | | Fetch FRED Data |
| visualize.py | | Generate Visualization Chart |
| </scripts_index> |
<input_schema_summary>
Core Parameters
| Parameter | Type | Default Value | Description |
|---|---|---|---|
| market | string | US_EQUITY | Analysis Target |
| start_date | string | 2022-01-01 | Analysis Start Date |
| end_date | string | today | Analysis End Date |
| freq | string | weekly | Frequency (weekly/monthly) |
Data Source Parameters
| Parameter | Type | Description |
|---|---|---|
| earnings_series.source | string | fred / api / csv / manual |
| earnings_series.series_id | string | FRED Series ID (e.g., CP) |
| earnings_series.growth_method | string | yoy / qoq_annualized |
| financial_conditions_series.source | string | fred / api / csv |
| financial_conditions_series.series_id | string | NFCI / STLFSI4 |
| financial_conditions_series.transform | string | level / zscore / inverse |
Axis Parameters
| Parameter | Type | Default Value | Description |
|---|---|---|---|
| axis_mapping.x | string | financial_conditions | X-axis Definition |
| axis_mapping.y | string | earnings_growth | Y-axis Definition |
| clock_convention.financial_loose_is_left | bool | true | Loose Conditions on Left |
Complete parameter definitions can be found in .
references/input-schema.md</input_schema_summary>
<output_schema_summary>
json
{
"skill": "analyze-investment-clock-rotation",
"as_of": "2026-01-19",
"market": "US_EQUITY",
"current_state": {
"clock_hour": 10,
"quadrant": "Q1_ideal",
"quadrant_name": "Ideal Quadrant",
"x_value": -0.35,
"y_value": 0.052
},
"rotation_summary": {
"from_hour": 2,
"to_hour": 10,
"direction": "clockwise",
"magnitude_degrees": 240
},
"interpretation": "Earnings growth is positive, financial conditions are relatively supportive, belonging to a quadrant favorable for risk assets"
}Complete output structure can be found in .
</output_schema_summary>
templates/output-json.md<success_criteria>
Successful execution should produce:
- Current Quadrant (Q1/Q2/Q3/Q4)
- Clock Position (1-12 o'clock)
- Earnings Growth Value and Financial Conditions Z-score
- Rotation Direction (Clockwise/Counterclockwise)
- Rotation Magnitude (Degrees)
- Allocation Recommendation (Based on Quadrant)
- Cycle Comparison Summary (If Enabled)
- Visualization Chart (Optional, Output to Directory) </success_criteria>
output/