コンテンツへスキップ
🛠️ToolsShed

Options Profit Calculator

満期時のコールオプションとプットオプションの利益と損失を計算します。損益分岐点、最大利益、最大損失を表示します。

-$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.