Перейти к содержимому

Options Profit Calculator

Вычислите прибыль и убыток для опционов call и put при истечении. Показывает точку безубытка, максимальную прибыль и максимальный убыток.

-$300.00
Макс. потери
Неограниченно
Макс. прибыль
108.00
Точка безубыточности
Вне денег
Степень в деньгах
Цена акцииP&L
$70.00-$300.00
$76.65-$300.00
$83.30-$300.00
$89.95-$300.00
$96.60-$300.00
$103.25-$300.00
$109.90+$190.00
$116.55+$855.00
$123.20+$1,520.00
$129.85+$2,185.00
$136.50+$2,850.00

Только в образовательных целях. Не финансовая рекомендация.

Об этом инструменте

Калькулятор прибыли от опционов помогает трейдерам и инвесторам быстро определить финансовый результат опционных позиций при истечении. Анализируете ли вы простую стратегию колл или пут или оцениваете более сложную многоэтапную позицию, этот инструмент рассчитывает прибыль и убыток по всему диапазону цен базового актива, показывая вам точное местоположение вашей точки безубыточности и какой может быть максимальная прибыль или максимальный убыток.

Чтобы использовать калькулятор, введите цену исполнения опциона, полученный или выплаченный премиум и текущую цену базового актива при истечении срока. Инструмент мгновенно отображает вашу прибыль или убыток в этот момент цены, а также критические пороги, такие как точка безубыточности, максимальная прибыль (для коротких позиций) и максимальный убыток (для длинных позиций). Это позволяет легко понять профиль риск-вознаграждение любой опционной сделки до или после её исполнения.

Часто задаваемые вопросы

Реализация кода

from dataclasses import dataclass

@dataclass
class OptionResult:
    breakeven: float
    max_loss: float
    max_profit: float | None  # None = unlimited (call)

def call_option(stock_price, strike, premium, contracts=1):
    total_cost = premium * contracts * 100
    breakeven = strike + premium
    return OptionResult(
        breakeven=breakeven,
        max_loss=-total_cost,
        max_profit=None,  # unlimited for calls
    )

def put_option(stock_price, strike, premium, contracts=1):
    total_cost = premium * contracts * 100
    breakeven = strike - premium
    max_profit = (strike - premium) * contracts * 100
    return OptionResult(
        breakeven=breakeven,
        max_loss=-total_cost,
        max_profit=max_profit,
    )

def pnl_at_expiration(option_type, strike, premium, price_at_exp, contracts=1):
    """Calculate P&L if held to expiration."""
    if option_type == "call":
        intrinsic = max(0, price_at_exp - strike)
    else:
        intrinsic = max(0, strike - price_at_exp)
    return (intrinsic - premium) * contracts * 100

# Example: Buy 1 call contract
result = call_option(100, 105, 3)
print(f"Breakeven: ${result.breakeven}")   # $108.0
print(f"Max loss: ${result.max_loss}")     # $-300

for price in [95, 100, 105, 108, 115, 120]:
    pnl = pnl_at_expiration("call", 105, 3, price)
    print(f"  At ${price}: P&L = ${pnl:+.2f}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.