Covered Call and Protective Put
workflow.run_covered_call_protective_putCovered call (long the coin + short a call against it, for yield) or protective put (long the coin + long a put, for downside insurance) on a Deribit BTC/ETH position. Returns the standard annualized-yield metric (premium ÷ 1 coin, annualized by 365/daysToExpiry) up front: that number doesn't depend on any price scenario. Also returns the USD value of the combined position at a given scenario price: covered call caps upside at strike + premium×scenarioPrice (the premium's own coin-denominated value still scales with price, unlike a textbook USD-settled cap); protective put floors value at strike×(1−premium), which is the true minimum across every possible settlement price, not just an approximation. Use when user asks "what annualized yield do I get selling covered calls on my BTC?" or "how much does insuring my BTC with a put cost me?". Returns: staticYieldPct, annualizedYieldPct, valueAtScenarioUsd, breakevenPrice (covered_call only), floorValueUsd (protective_put only), vsHoldingUsd (vs. just holding the coin).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| strike | Yes | Option strike, USD | |
| currency | No | Underlying coin. Default BTC. | |
| quantity | Yes | Coin units held / contracts (1:1 covered) | |
| strategy | Yes | ||
| spotEntry | Yes | Price you acquired/value the underlying coin at, USD; used for the covered-call breakeven vs. cost basis | |
| premiumCoin | Yes | Premium received (covered_call) or paid (protective_put) per contract, in the base coin | |
| daysToExpiry | Yes | Calendar days until expiry; used to annualize the yield/cost | |
| scenarioPrice | Yes | Underlying price in USD to evaluate the combined position's value at |