Lewati ke konten
🛠️ToolsShed

Options Profit Calculator

Hitung keuntungan dan kerugian untuk opsi call dan put saat kedaluwarsa. Menampilkan breakeven, profit maksimal, dan kerugian maksimal.

-$300.00
Rugi Maksimal
Tidak terbatas
Untung Maksimal
108.00
Harga Impas
Out Of The Money
Status Moneyness
Harga SahamP&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

Untuk tujuan edukasi saja. Bukan saran keuangan.

Tentang alat ini

Kalkulator Keuntungan Opsi membantu pedagang dan investor dengan cepat menentukan hasil finansial dari posisi opsi pada saat jatuh tempo. Baik Anda menganalisis strategi pembelian atau penjualan sederhana atau mengevaluasi posisi multi-kaki yang lebih kompleks, alat ini menghitung laba dan rugi di seluruh rentang harga aset yang mendasari, menunjukkan kepada Anda dengan tepat di mana titik impas Anda berada dan berapa potensi keuntungan maksimal atau kerugian maksimal Anda.

Untuk menggunakan kalkulator, masukkan harga strike opsi, premi yang Anda bayarkan atau terima, dan harga saat ini dari aset yang mendasari pada saat jatuh tempo. Alat ini segera menampilkan laba atau rugi Anda pada titik harga tersebut, bersama dengan ambang batas kritis seperti impas, keuntungan maksimal (untuk posisi pendek), dan kerugian maksimal (untuk posisi panjang). Ini memudahkan pemahaman profil risiko-pengembalian dari setiap perdagangan opsi sebelum atau sesudah eksekusi.

Pertanyaan yang Sering Diajukan

Implementasi Kode

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.