sig
type 'a t constraint 'a = [< Security_type.t ]
val of_raw : Raw_contract.t -> [< Security_type.t ] t
val to_raw : [< Security_type.t ] t -> Raw_contract.t
val sec_type : [< Security_type.t ] Contract.t -> Security_type.t
val con_id : [< Security_type.t ] Contract.t -> Contract_id.t option
val symbol : [< Security_type.t ] Contract.t -> Symbol.t
val exchange : [< Security_type.t ] Contract.t -> Exchange.t
val listed_on : [< Security_type.t ] Contract.t -> Exchange.t option
val currency : [< Security_type.t ] Contract.t -> Currency.t
val local_symbol : [< Security_type.t ] Contract.t -> Symbol.t option
val sec_id : [< Security_type.t ] Contract.t -> Security_id.t option
val underlying :
[< `Fut_opt | `Option ] Contract.t ->
[< Security_type.t > `Futures `Stock ] Contract.t
val strike : [< `Fut_opt | `Option ] Contract.t -> Price.t
val option_right : [< `Fut_opt | `Option ] Contract.t -> Option_right.t
val expiry :
[< `Fut_opt | `Futures | `Option ] Contract.t -> Core.Std.Date.t
val days_to_expiry :
[< `Fut_opt | `Futures | `Option ] Contract.t ->
zone:Core.Std.Time.Zone.t -> int
val multiplier : [< `Fut_opt | `Futures | `Option ] Contract.t -> int
val to_string : [< Security_type.t ] Contract.t -> string
val ( = ) :
([< Security_type.t ] as 'a) Contract.t -> 'a Contract.t -> bool
val stock :
?con_id:Contract_id.t ->
?listed_on:Exchange.t ->
?local_symbol:Symbol.t ->
?sec_id:Security_id.t ->
?exchange:Exchange.t ->
currency:Currency.t ->
Symbol.t -> [< Security_type.t > `Stock ] Contract.t
val index :
?con_id:Contract_id.t ->
?local_symbol:Symbol.t ->
?sec_id:Security_id.t ->
?exchange:Exchange.t ->
currency:Currency.t ->
Symbol.t -> [< Security_type.t > `Index ] Contract.t
val futures :
?con_id:Contract_id.t ->
?multiplier:int ->
?local_symbol:Symbol.t ->
?sec_id:Security_id.t ->
?include_expired:bool ->
?exchange:Exchange.t ->
currency:Currency.t ->
expiry:Core.Std.Date.t ->
Symbol.t -> [< Security_type.t > `Futures ] Contract.t
val option :
?con_id:Contract_id.t ->
?multiplier:int ->
?local_symbol:Symbol.t ->
?sec_id:Security_id.t ->
?exchange:Exchange.t ->
currency:Currency.t ->
option_right:Option_right.t ->
expiry:Core.Std.Date.t ->
strike:Price.t -> Symbol.t -> [< Security_type.t > `Option ] Contract.t
val futures_option :
?con_id:Contract_id.t ->
?multiplier:int ->
?local_symbol:Symbol.t ->
?sec_id:Security_id.t ->
?exchange:Exchange.t ->
currency:Currency.t ->
option_right:Option_right.t ->
expiry:Core.Std.Date.t ->
strike:Price.t -> Symbol.t -> [< Security_type.t > `Fut_opt ] Contract.t
val forex :
?con_id:Contract_id.t ->
?local_symbol:Symbol.t ->
?sec_id:Security_id.t ->
?exchange:Exchange.t ->
currency:Currency.t ->
Symbol.t -> [< Security_type.t > `Forex ] Contract.t
val t_of_sexp :
(Sexplib.Sexp.t -> ([< Security_type.t ] as 'a)) ->
Sexplib.Sexp.t -> 'a Contract.t
val sexp_of_t :
(([< Security_type.t ] as 'a) -> Sexplib.Sexp.t) ->
'a Contract.t -> Sexplib.Sexp.t
end