Module: PureGreeks::Engines::Intrinsic

Defined in:
lib/pure_greeks/engines/intrinsic.rb

Class Method Summary collapse

Class Method Details

.calculate(type:, strike:, underlying_price:) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/pure_greeks/engines/intrinsic.rb', line 10

def calculate(type:, strike:, underlying_price:)
  if type == :call
    price = [0.0, underlying_price - strike].max
    delta = underlying_price > strike ? 1.0 : 0.0
  else
    price = [0.0, strike - underlying_price].max
    delta = underlying_price < strike ? -1.0 : 0.0
  end

  Greeks.new(
    delta: delta,
    gamma: 0.0,
    theta: 0.0,
    vega: 0.0,
    rho: 0.0,
    price: price,
    model: :intrinsic
  )
end