lib/ib/symbols/options.rb in ib-symbols-1.3 vs lib/ib/symbols/options.rb in ib-symbols-1.4
- old
+ new
@@ -4,78 +4,91 @@
module IB
module Symbols
module Options
extend Symbols
-
- ## usage: IB::Symbols::Options.stoxx.merge( strike: 3300 )
+ ## usage: IB::Symbols::Options.stoxx.merge( strike: 3300, expiry: 202304 )
def self.contracts
@contracts ||= {
- stoxx: IB::Option.new( symbol: :ESTX50, strike: 3000,
- expiry: IB::Symbols::Futures.next_expiry ,
- right: :put,
- trading_class: 'OESX',
- currency: 'EUR', exchange: 'EUREX',
- description: "ESTX50 Put Option quarterly"),
- :ge => IB::Option.new(:symbol => "GE",
- :expiry => IB::Symbols::Futures.next_expiry,
- :right => "CALL",
- :strike => 7,
- :multiplier => 100,
- :exchange => 'SMART',
- :currency => 'USD',
- :description => "General Electric 7 Call"),
- :aapl => IB::Option.new(:symbol => "AAPL", exchange: 'SMART',
- :expiry => IB::Symbols::Futures.next_expiry,
- :right => "C",
- :strike => 130,
- :currency => 'USD',
- :description => "Apple Call 130"),
- :z750 => IB::Option.new(:symbol => "Z",
- :exchange => "ICEEU",
- :expiry => "201903",
- :right => "CALL",
- :strike => 7000.0,
- :description => " FTSE-100 index 750 Call 2019-03"),
+ stoxx: IB::Option.new(symbol: :ESTX50,
+ expiry: IB::Symbols::Futures.next_expiry ,
+ right: :put,
+ trading_class: 'OESX',
+ currency: 'EUR',
+ exchange: 'EUREX',
+ description: "Monthly settled ESTX50 Options"),
+ spx: IB::Option.new( symbol: :SPX,
+ expiry: IB::Symbols::Futures.next_expiry ,
+ right: :put,
+ trading_class: 'SPX',
+ currency: 'USD',
+ exchange: 'SMART',
+ description: "Monthly settled SPX options"),
+ spxw: IB::Option.new( symbol: :SPX,
+ expiry: IB::Symbols::Futures.next_expiry ,
+ right: :put,
+ trading_class: 'SPXW',
+ currency: 'USD', exchange: 'SMART',
+ description: "Daily settled SPX options"),
+ :spy => IB::Option.new( :symbol => :SPY,
+ :expiry => IB::Symbols::Futures.next_expiry,
+ :right => :put,
+ :currency => "USD",
+ :exchange => 'SMART',
+ :description => "SPY Put next expiration"),
+ :rut => IB::Option.new( :symbol => :RUT,
+ :expiry => IB::Symbols::Futures.next_expiry,
+ :right => :put,
+ :currency => "USD",
+ :exchange => 'SMART',
+ description: "Monthly settled RUT options"),
+ :rutw => IB::Option.new( :symbol => :RUT,
+ :expiry => IB::Symbols::Futures.next_expiry,
+ :right => :put,
+ :currency => "USD",
+ :exchange => 'SMART',
+ description: "Weekly settled RUT options"),
+ :russell => IB::Option.new( :symbol => :RUT, # :russell == :rut !
+ :expiry => IB::Symbols::Futures.next_expiry,
+ :right => :put,
+ :currency => "USD",
+ :exchange => 'SMART',
+ description: "Monthly settled RUT options"),
+ :mini_russell => IB::Option.new( :symbol => :MRUT,
+ :expiry => IB::Symbols::Futures.next_expiry,
+ :right => :put,
+ :currency => "USD",
+ :exchange => 'SMART',
+ :description => "Weekly settled Mini-Russell2000 options"),
+ :ge => IB::Option.new( :symbol => "GE",
+ :expiry => IB::Symbols::Futures.next_expiry,
+ :right => "CALL",
+ :strike => 7,
+ :multiplier => 100,
+ :exchange => 'SMART',
+ :currency => 'USD',
+ :description => "General Electric 7 Call"),
+ :aapl => IB::Option.new( :symbol => "AAPL", exchange: 'SMART',
+ :expiry => IB::Symbols::Futures.next_expiry,
+ :right => "C",
+ :strike => 130,
+ :currency => 'USD',
+ :description => "Apple Call 130"),
+
+ :ibm => IB::Option.new( symbol: 'IBM', exchange: 'SMART', right: :put, expiry: IB::Symbols::Futures.next_expiry ,
+ description: 'IBM-Option Chain ( quarterly expiry)'),
:ibm_lazy_expiry => IB::Option.new( symbol: 'IBM', right: :put, strike: 140, exchange: 'SMART',
description: 'IBM-Option Chain with strike 140'),
:ibm_lazy_strike => IB::Option.new( symbol: 'IBM', exchange: 'SMART', right: :put, expiry: IB::Symbols::Futures.next_expiry ,
description: 'IBM-Option Chain ( quarterly expiry)'),
- :goog1100 => IB::Option.new( symbol: 'GOOG',
+ :goog100 => IB::Option.new( symbol: 'GOOG',
currency: 'USD',
- strike: 1100,
+ strike: 100,
multiplier: 100,
right: :call,
expiry: IB::Symbols::Futures.next_expiry,
- description: 'Google Call Option with quarterly expiry'),
- :argo_ise => Option.new( symbol: 'ARGO',
- currency: "USD",
- exchange: "ISE",
- expiry: IB::Symbols::Futures.next_expiry,
- right: :call,
- strike: 10,
- multiplier: 100,
- description: 'Adecoagro Options @ ISE'),
- :san_eu => IB::Option.new( symbol: 'SAN1',
- exchange: "MEFFRV",
- currency: "EUR",
- expiry: IB::Symbols::Futures.next_expiry,
- strike: 4.5,
- right: :call,
-# multiplier: 100, ## non standard multiplier: 102
- trading_class: "SANEU",
- description: 'Santanter Option specified via Trading-Class'),
- :spy => IB::Option.new(:symbol => 'SPY',
- :expiry => IB::Symbols::Futures.next_expiry,
- :right => "P",
- :currency => "USD",
- :exchange => 'SMART',
- :strike => 350,
- :description => "SPY 350 Put next expiration"),
-# :spy270 => IB::Option.new(:osi => 'SPY 190315P002700000'),
-# :vix20 => IB::Option.new(:osi => 'VIX 181121C00020000'),
-# :vxx40 => IB::Option.new(:osi => 'VXX 181117C00040000'),
+ description: 'Google Call Option with quarterly expiry')
}
end
end
end
end