Loading…
Public trading strategy

Treasury market is exhausted and bets are skewed — buy bonds if jobs data disapp

Created

Thesis

Bond traders are bracing for higher interest rates, but the market is extremely oversold right now. If the new jobs data shows weaker employment, it will instantly kill expectations for a rate hike. When rate hike expectations die, existing bonds become much more valuable. This creates a perfect setup for a sharp rebound in Treasury bond prices as traders are forced to reverse their bets.

Strategy approach

Build a long strategy for 20+ Year Treasury Bonds (TLT). Use the Daily timeframe. Enter long if the RSI(14) drops below 30 and the last daily candle has a long lower wick. Use a wide 5% stop loss to account for volatility, and target a 10% take profit.

Markets and timeframes

TLT1D

Entry and exit at a glance

These are the named rules in the shared configuration. Review the full conditions below before using a strategy.

  • Entry: Oversold RSI/BB Long (TLT@1d) (4 conditions)
  • Exit: TP: Near Resistance[1] (TLT@1d) (1 condition)
  • Exit: SL: Below Support[1] (TLT@1d) (1 condition)

Shared strategy rules

Rule configuration

{
  "data_dependencies": [
    {
      "symbol": "TLT",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 30
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "chart_ref": {
              "symbol": "TLT",
              "timeframe": "1d"
            },
            "field": "lower",
            "indicator": {
              "name": "bollinger_bands",
              "period": 20,
              "std_dev": 2
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "Oversold RSI/BB Long (TLT@1d)",
      "priority": 1,
      "trade_symbol": "TLT"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "rank": 1,
            "type": "resistance_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_1",
      "name": "TP: Near Resistance[1] (TLT@1d)",
      "priority": 97,
      "purpose": "take_profit",
      "target_symbol": "TLT"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "SL: Below Support[1] (TLT@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "TLT"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "risk_percent": 2,
      "support_stop_rank": 1,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 1
}

Indicator configuration

{
  "indicators": [
    {
      "name": "rsi",
      "period": 14
    },
    {
      "name": "bollinger_bands",
      "period": 20,
      "std_dev": 2
    }
  ]
}

Parsed strategy

{
  "data_dependencies": [
    {
      "symbol": "TLT",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 30
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "chart_ref": {
              "symbol": "TLT",
              "timeframe": "1d"
            },
            "field": "lower",
            "indicator": {
              "name": "bollinger_bands",
              "period": 20,
              "std_dev": 2
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "Oversold RSI/BB Long (TLT@1d)",
      "priority": 1,
      "trade_symbol": "TLT"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "rank": 1,
            "type": "resistance_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_1",
      "name": "TP: Near Resistance[1] (TLT@1d)",
      "priority": 97,
      "purpose": "take_profit",
      "target_symbol": "TLT"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "SL: Below Support[1] (TLT@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "TLT"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "risk_percent": 2,
      "support_stop_rank": 1,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 1
}

Strategy instructions

Trading agent generated from recommendation idea 'Treasury market is exhausted and bets are skewed — buy bonds if jobs data disappoints'. Thesis: Bond traders are bracing for higher interest rates, but the market is extremely oversold right now. If the new jobs data shows weaker employment, it will instantly kill expectations for a rate hike. When rate hike expectations die, existing bonds become much more valuable. This creates a perfect setup for a sharp rebound in Treasury bond prices as traders are forced to reverse their bets.

Performance

No trade count, win rate, or realized P&L figures are provided in this public preview. The thesis and shared rules do not establish a performance record.

What this public preview can establish

  • The thesis and strategy approach describe a market view. They do not show whether an entry or exit condition is currently met.
  • Technical strategy fields are shared above. Inspect the actual conditions and check when they were evaluated before relying on them.
  • No trade count, win rate, or P&L figure is published in this preview. It cannot establish a performance record.

Explore

How CommonQuant researches and tests strategies · Public paper-trading record and its limits · Discover public strategies