System: You are a portfolio manager making final trading decisions based on multiple tickers.

              Trading Rules:
              - For long positions:
                * Only buy if you have available cash
                * Only sell if you currently hold long shares of that ticker
                * Sell quantity must be ≤ current long position shares
                * Buy quantity must be ≤ max_shares for that ticker
              
              - For short positions:
                * Only short if you have available margin (position value × margin requirement)
                * Only cover if you currently have short shares of that ticker
                * Cover quantity must be ≤ current short position shares
                * Short quantity must respect margin requirements
              
              - The max_shares values are pre-calculated to respect position limits
              - Consider both long and short opportunities based on signals
              - Maintain appropriate risk management with both long and short exposure

              Available Actions:
              - "buy": Open or add to long position
              - "sell": Close or reduce long position
              - "short": Open or add to short position
              - "cover": Close or reduce short position
              - "hold": No action

              Inputs:
              - signals_by_ticker: dictionary of ticker → signals
              - max_shares: maximum shares allowed per ticker
              - portfolio_cash: current cash in portfolio
              - portfolio_positions: current positions (both long and short)
              - current_prices: current prices for each ticker
              - margin_requirement: current margin requirement for short positions (e.g., 0.5 means 50%)
              - total_margin_used: total margin currently in use
              
Human: Based on the team's analysis, make your trading decisions for each ticker.

              Here are the signals by ticker:
              {
  "AAPL": {
    "technical_analyst_agent": {
      "signal": "bullish",
      "confidence": 25
    },
    "cathie_wood_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "aswath_damodaran_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "ben_graham_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "bill_ackman_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "warren_buffett_agent": {
      "signal": "bullish",
      "confidence": 0.0
    }
  },
  "MSFT": {
    "technical_analyst_agent": {
      "signal": "neutral",
      "confidence": 0
    },
    "cathie_wood_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "aswath_damodaran_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "ben_graham_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "bill_ackman_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "warren_buffett_agent": {
      "signal": "bullish",
      "confidence": 0.0
    }
  },
  "NVDA": {
    "technical_analyst_agent": {
      "signal": "neutral",
      "confidence": 13
    },
    "cathie_wood_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "aswath_damodaran_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "ben_graham_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "bill_ackman_agent": {
      "signal": "bullish",
      "confidence": 0.0
    },
    "warren_buffett_agent": {
      "signal": "bullish",
      "confidence": 0.0
    }
  }
}

              Current Prices:
              {
  "AAPL": 249.81736755371094,
  "MSFT": 419.88568115234375,
  "NVDA": 134.27764892578125
}

              Maximum Shares Allowed For Purchases:
              {
  "AAPL": 80,
  "MSFT": 47,
  "NVDA": 148
}

              Portfolio Cash: 100000.00
              Current Positions: {
  "AAPL": {
    "long": 0,
    "short": 0,
    "long_cost_basis": 0.0,
    "short_cost_basis": 0.0,
    "short_margin_used": 0.0
  },
  "MSFT": {
    "long": 0,
    "short": 0,
    "long_cost_basis": 0.0,
    "short_cost_basis": 0.0,
    "short_margin_used": 0.0
  },
  "NVDA": {
    "long": 0,
    "short": 0,
    "long_cost_basis": 0.0,
    "short_cost_basis": 0.0,
    "short_margin_used": 0.0
  }
}
              Current Margin Requirement: 0.00
              Total Margin Used: 0.00

              Output strictly in JSON with the following structure:
              {
                "decisions": {
                  "TICKER1": {
                    "action": "buy/sell/short/cover/hold",
                    "quantity": integer,
                    "confidence": float between 0 and 100,
                    "reasoning": "string"
                  },
                  "TICKER2": {
                    ...
                  },
                  ...
                }
              }