Trading_engine.Fee_scheduleDeterministic, composable execution-fee schedules.
type calculated_component = private {name : string;kind : string;currency : string;amount : Scalar.Money.t;quote_amount : Scalar.Money.t;}val create_component :
name:string ->
currency:string ->
basis:basis ->
rounding:rounding ->
applicability:applicability ->
(component, string) Stdlib.resultval create :
schedule_id:string ->
instrument_id:Id.Instrument.t ->
settlement_currency:string ->
minimum:Scalar.Money.t option ->
maximum:Scalar.Money.t option ->
components:component list ->
(t, string) Stdlib.resultval schedule_id : t -> stringval instrument_id : t -> Id.Instrument.tval settlement_currency : t -> stringval minimum : t -> Scalar.Money.t optionval maximum : t -> Scalar.Money.t optionval component_name : component -> stringval component_currency : component -> stringval component_applicability : component -> applicabilityval rounding_to_string : rounding -> stringval rounding_of_string : string -> (rounding, string) Stdlib.resultval applicability_to_string : applicability -> stringval applicability_of_string : string -> (applicability, string) Stdlib.resultval basis_kind : basis -> stringval calculate :
t ->
quote_currency:string ->
notional:Scalar.Money.t ->
quantity:Scalar.Quantity.t ->
liquidity:liquidity ->
fx_rates:(string * Scalar.Price.t) list ->
(calculated_component list * Scalar.Money.t, string) Stdlib.result