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