Loading…
Public trading strategy

Bond traders are betting big on rate hikes — short long-term Treasuries as infla

Created

Thesis

Rising inflation and a strong labor market are forcing the Fed's hand toward higher interest rates. When rates rise, bond prices fall—especially longer-duration bonds that are most sensitive to rate changes. Professional traders are already piling into this trade, and retail investors can ride the same momentum.

Strategy approach

Build a trend-following short strategy for TLT on the Daily timeframe. Enter short when the 10-day EMA crosses below the 50-day EMA and the ADX(14) is above 20. Use a 4% stop loss and a 6% profit target with a maximum hold of 20 trading days.

Markets and timeframes

TLTdaily

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: EMA/ADX Crossover Long (TLT@1d) (3 conditions)
  • Exit: EMA Crosses Above Exit (TLT@1d) (1 condition)
  • Exit: TP: Fib Extension 127.2% (TLT@1d) (1 condition)
  • Exit: TP: Near Resistance[2] (TLT@1d) (1 condition)
  • Exit: Stop Loss at 2.7% (1 condition)
  • Exit: Take Profit at 5.5% (1 condition)
  • Exit: SL: Fib Retracement 38.2% (TLT@1d) (1 condition)

Shared strategy rules

Rule configuration

{
  "data_dependencies": [
    {
      "symbol": "STOCK:TLT",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 10
            },
            "type": "indicator"
          },
          "operator": "crossed_below",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 50
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "field": "adx",
            "indicator": {
              "name": "adx",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "type": "constant",
            "value": 20
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_below",
          "right": {
            "rank": 1,
            "type": "resistance_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "EMA/ADX Crossover Long (TLT@1d)",
      "priority": 1,
      "trade_symbol": "STOCK:TLT"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 10
            },
            "type": "indicator"
          },
          "operator": "crossed_above",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 50
            },
            "type": "indicator"
          }
        }
      ],
      "enabled": true,
      "id": "exit_1",
      "name": "EMA Crosses Above Exit (TLT@1d)",
      "priority": 1,
      "purpose": "signal"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "ratio": 1272,
            "type": "fibonacci_extension"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "TP: Fib Extension 127.2% (TLT@1d)",
      "priority": 96,
      "purpose": "take_profit",
      "target_symbol": "STOCK:TLT"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_below",
          "right": {
            "rank": 2,
            "type": "resistance_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3",
      "name": "TP: Near Resistance[2] (TLT@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "STOCK:TLT"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "less_than_or_equal",
          "right": {
            "type": "constant",
            "value": -2.748566666666667
          }
        }
      ],
      "enabled": true,
      "id": "exit_4",
      "name": "Stop Loss at 2.7%",
      "priority": 100,
      "purpose": "stop_loss"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 5.497133333333334
          }
        }
      ],
      "enabled": true,
      "id": "exit_5",
      "name": "Take Profit at 5.5%",
      "priority": 100,
      "purpose": "take_profit"
    },
    {
      "applies_to": "short",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "ratio": 382,
            "type": "fibonacci_retracement"
          }
        }
      ],
      "enabled": true,
      "id": "exit_6",
      "name": "SL: Fib Retracement 38.2% (TLT@1d)",
      "priority": 100,
      "purpose": "stop_loss"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "fib_stop_ratio": 382,
      "risk_percent": 2.748566666666667,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 1
}

Indicator configuration

{
  "indicators": [
    {
      "name": "ema",
      "period": 10
    },
    {
      "name": "ema",
      "period": 50
    },
    {
      "name": "adx",
      "period": 14
    }
  ]
}

Parsed strategy

{
  "data_dependencies": [
    {
      "symbol": "STOCK:TLT",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 10
            },
            "type": "indicator"
          },
          "operator": "crossed_below",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 50
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "field": "adx",
            "indicator": {
              "name": "adx",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "type": "constant",
            "value": 20
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_below",
          "right": {
            "rank": 1,
            "type": "resistance_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "EMA/ADX Crossover Long (TLT@1d)",
      "priority": 1,
      "trade_symbol": "STOCK:TLT"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 10
            },
            "type": "indicator"
          },
          "operator": "crossed_above",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 50
            },
            "type": "indicator"
          }
        }
      ],
      "enabled": true,
      "id": "exit_1",
      "name": "EMA Crosses Above Exit (TLT@1d)",
      "priority": 1,
      "purpose": "signal"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "ratio": 1272,
            "type": "fibonacci_extension"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "TP: Fib Extension 127.2% (TLT@1d)",
      "priority": 96,
      "purpose": "take_profit",
      "target_symbol": "STOCK:TLT"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_below",
          "right": {
            "rank": 2,
            "type": "resistance_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3",
      "name": "TP: Near Resistance[2] (TLT@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "STOCK:TLT"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "less_than_or_equal",
          "right": {
            "type": "constant",
            "value": -2.748566666666667
          }
        }
      ],
      "enabled": true,
      "id": "exit_4",
      "name": "Stop Loss at 2.7%",
      "priority": 100,
      "purpose": "stop_loss"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 5.497133333333334
          }
        }
      ],
      "enabled": true,
      "id": "exit_5",
      "name": "Take Profit at 5.5%",
      "priority": 100,
      "purpose": "take_profit"
    },
    {
      "applies_to": "short",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:TLT",
              "timeframe": "1d"
            },
            "ratio": 382,
            "type": "fibonacci_retracement"
          }
        }
      ],
      "enabled": true,
      "id": "exit_6",
      "name": "SL: Fib Retracement 38.2% (TLT@1d)",
      "priority": 100,
      "purpose": "stop_loss"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "fib_stop_ratio": 382,
      "risk_percent": 2.748566666666667,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 1
}

Strategy instructions

Trading agent generated from recommendation idea 'Bond traders are betting big on rate hikes — short long-term Treasuries as inflation forces the Fed's hand'. Thesis: Rising inflation and a strong labor market are forcing the Fed's hand toward higher interest rates. When rates rise, bond prices fall—especially longer-duration bonds that are most sensitive to rate changes. Professional traders are already piling into this trade, and retail investors can ride the same momentum.

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