A Bear Call Spread (also called a "Short Call Spread" or "Credit Call Spread") is a bearish options strategy designed to profit when the underlying asset's price stays below a certain level or declines. Unlike the Bear Put Spread which is a debit strategy, the Bear Call Spread generates a net credit when opened. This Node-RED flow automates the entire strategy execution using the Alpaca API, including contract selection, order execution, position tracking, and performance analytics.
💰 Credit Received: The difference between the premium received from selling the lower-strike call and the premium paid for the higher-strike call is your maximum profit. You keep this credit if the stock stays below the lower strike at expiration.
🎯 Risk Profile: Maximum loss is the width of the strikes minus the net credit received. Maximum profit (the net credit) is achieved when the underlying stays below the lower strike price at expiration.
Both strategies profit from bearish moves, but they have key differences:
| Feature | Bear Call Spread | Bear Put Spread |
|---|---|---|
| Type | Credit Spread | Debit Spread |
| Initial Cash Flow | Receive premium upfront | Pay premium upfront |
| Options Used | Call options | Put options |
| Maximum Profit | Net credit received | Strike width minus debit paid |
| When to Use | Neutral to moderately bearish | Moderately to strongly bearish |
| Time Decay | Works in your favor | Works against you |
Fetches available call options contracts for your chosen expiration date and automatically calculates optimal strike prices based on current market price.
Monitors buy leg, sell leg, and underlying positions every minute during market hours (9 AM - 3 PM ET, Monday-Friday).
Supports multiple paper trading accounts for testing different configurations and managing complex positions across accounts.
Calculates ITM/OTM status and market value for both legs, tracking premiums and potential payouts in real-time.
Filters contracts by open interest (>1000) to ensure sufficient liquidity for smooth trade execution and tight bid-ask spreads.
Uses limit orders for precise entry and exit prices, avoiding slippage on the options trades.
The flow executes the bear call spread strategy in a structured sequence:
Reset all flow variables to ensure a clean starting state before executing the strategy.
Configure the underlying asset and options expiration date (e.g., December 19, 2025).
Get the real-time price of the underlying to determine appropriate strike prices for the spread.
Retrieve available call options contracts for the specified expiration date range with sufficient liquidity.
Determine sell strike (ATM or slightly OTM) and buy strike (10 points higher) based on current price.
Sell the lower-strike call (collecting premium) and buy the higher-strike call (paying less premium) to receive net credit.
Continuously track position market values, calculate P&L, and monitor for assignment risk as expiration approaches.
⚠️ Important: Credit spreads involve the obligation to sell stock if assigned. Options trading involves substantial risk and may not be suitable for all investors. The maximum loss equals the strike width minus the credit received. Always test thoroughly before using real funds.
💡 Note: Bear Call Spreads work best when you expect the underlying to stay flat or decline moderately. The strategy benefits from time decay (theta) as long as the stock stays below your short strike. You can modify the underlying asset and expiration date in the "set variables" function node.
Click the button below to copy the complete flow configuration to your clipboard:
📄 Note: The JSON code will be loaded dynamically. If it doesn't appear, please download the JSON file directly.
You can easily customize this flow to fit your options trading goals:
Edit the "set variables" function node to change the underlying value to any optionable stock or ETF. Ensure the asset has sufficient options liquidity for tight spreads.
Update the expirationDate variable to target different expiration cycles. Shorter-dated options have faster time decay but higher gamma risk.
The default spread width is $10. Modify the strike calculation to change strikeHigh = strike + 10 for wider or narrower spreads. Wider spreads = more credit but more risk.
Adjust the open interest filter threshold in the "filter contracts by open_interest" function. Higher thresholds ensure better liquidity but fewer available contracts.
Move the short strike further OTM for higher probability of profit but lower credit, or closer to ATM for more credit but higher risk of being tested.