Trading_engine.FinancingEffective-time borrow availability and multi-currency financing policy.
type policy = private {day_count : day_count;compounding : compounding;borrow_missing_data : missing_data;cash_missing_data : missing_data;locate_policy : locate_policy;recall_policy : recall_policy;}type borrow_observation = private {instrument_id : Id.Instrument.t;effective_at : Ptime.t;available_quantity : Scalar.Quantity.t;annual_rate_bps : int;recalled : bool;}val policy :
day_count:day_count ->
compounding:compounding ->
borrow_missing_data:missing_data ->
cash_missing_data:missing_data ->
locate_policy:locate_policy ->
recall_policy:recall_policy ->
policyval legacy_policy : policyval borrow_observation :
instrument_id:Id.Instrument.t ->
effective_at:Ptime.t ->
available_quantity:Scalar.Quantity.t ->
annual_rate_bps:int ->
recalled:bool ->
(borrow_observation, string) Stdlib.resultval cash_rate_observation :
currency:string ->
effective_at:Ptime.t ->
credit_rate_bps:int ->
debit_rate_bps:int ->
(cash_rate_observation, string) Stdlib.resultval accrue :
policy ->
principal:Scalar.Money.t ->
annual_rate_bps:int ->
Ptime.Span.t ->
(Scalar.Money.t, string) Stdlib.resultaccrue returns signed interest. Rounding is nearest micro-unit with ties away from zero. Daily compounding rounds and capitalizes after every full day, then accrues a simple fractional-day remainder.
val day_count_to_string : day_count -> stringval compounding_to_string : compounding -> stringval missing_data_to_string : missing_data -> stringval locate_policy_to_string : locate_policy -> stringval recall_policy_to_string : recall_policy -> string