Module Full_app_messages

type full_fix_executionreport_data = {
f_ExecutionReport_OrderID : Imandra_prelude.string option;

Can be used to provide order id used by exchange or executing system.

f_ExecutionReport_SecondaryOrderID : Imandra_prelude.string option;
f_ExecutionReport_SecondaryClOrdID : Imandra_prelude.string option;
f_ExecutionReport_SecondaryExecID : Imandra_prelude.string option;

Required for executions against electronically submitted orders which were assigned an ID by the institution or intermediary. Not required for orders manually entered by the broker or fund manager (for CIV orders).

f_ExecutionReport_ClOrdID : Imandra_prelude.string option;

Conditionally required for response to an electronic Cancel or Cancel/Replace request (ExecType=PendingCancel, Replace, or Canceled). ClOrdID of the previous accepted order (NOT the initial order of the day) when canceling or replacing an order.

f_ExecutionReport_OrigClOrdID : Imandra_prelude.string option;
f_ExecutionReport_ClOrdLinkID : Imandra_prelude.string option;

Required if responding to a QuoteResponse message. Echo back the Initiator’s value specified in the message.

f_ExecutionReport_QuoteRespID : Imandra_prelude.string option;

Required if responding to and if provided on the Order Status Request message. Echo back the value provided by the requester.

f_ExecutionReport_OrdStatusReqID : Imandra_prelude.string option;

Required if responding to a Order Mass Status Request. Echo back the value provided by the requester.

f_ExecutionReport_MassStatusReqID : Imandra_prelude.string option;

Can be used when responding to an Order Mass Status Request to identify the total number of Execution Reports which will be returned.

f_ExecutionReport_TotNumReports : Imandra_prelude.int option;

Can be used when responding to an Order Mass Status Request to indicate that this is the last Execution Reports which will be returned as a result of the request.

f_ExecutionReport_LastRptRequested : bool option;

Insert here the set of "Parties" (firm identification) fields defined in "Common Components of Application Messages"

f_ExecutionReport_Parties : Full_app_records.fix_rg_parties;
f_ExecutionReport_TradeOriginationDate : Datetime.fix_localmktdate option;

Number of ContraBrokers repeating group instances.

f_ExecutionReport_ContraGrp : Full_app_records.fix_rg_contragrp;

Required for executions against orders which were submitted as part of a list.

f_ExecutionReport_ListID : Imandra_prelude.string option;

CrossID for the replacement order

f_ExecutionReport_CrossID : Imandra_prelude.string option;

Must match original cross order. Same order chaining mechanism as ClOrdID/OrigClOrdID with single order Cancel/Replace.

f_ExecutionReport_OrigCrossID : Imandra_prelude.string option;
f_ExecutionReport_CrossType : Full_app_enums.fix_crosstype option;

Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) forExecType=I (Order Status)).

f_ExecutionReport_ExecID : Imandra_prelude.string option;

Required for Trade Cancel and Trade Correct ExecType messages

f_ExecutionReport_ExecRefID : Imandra_prelude.string option;

Describes the purpose of the execution report.

f_ExecutionReport_ExecType : Full_app_enums.fix_exectype option;

Describes the current state of a CHAIN of orders, same scope as OrderQty, CumQty, LeavesQty, and AvgPx

f_ExecutionReport_OrdStatus : Full_app_enums.fix_ordstatus option;

For optional use with OrdStatus = 0 (New)

f_ExecutionReport_WorkingIndicator : Full_app_enums.fix_workingindicator option;

For optional use with ExecType = 8 (Rejected)

f_ExecutionReport_OrdRejReason : Full_app_enums.fix_ordrejreason option;

Required for ExecType = D (Restated).

f_ExecutionReport_ExecRestatementReason : Full_app_enums.fix_execrestatementreason option;

Required for executions against electronically submitted orders which were assigned an account by the institution or intermediary

f_ExecutionReport_Account : Imandra_prelude.string option;
f_ExecutionReport_AcctIDSource : Full_app_enums.fix_acctidsource option;

Specifies type of account

f_ExecutionReport_AccountType : Full_app_enums.fix_accounttype option;
f_ExecutionReport_DayBookingInst : Full_app_enums.fix_daybookinginst option;
f_ExecutionReport_BookingUnit : Full_app_enums.fix_bookingunit option;
f_ExecutionReport_PreallocMethod : Full_app_enums.fix_preallocmethod option;
f_ExecutionReport_SettlType : Full_app_enums.fix_settltype option;

Takes precedence over SettlType value and conditionally required/omitted for specific SettlType values.

f_ExecutionReport_SettlDate : Datetime.fix_localmktdate option;
f_ExecutionReport_CashMargin : Full_app_enums.fix_cashmargin option;
f_ExecutionReport_ClearingFeeIndicator : Full_app_enums.fix_clearingfeeindicator option;

Insert here the set of "Instrument" (symbology) fields defined in "Common Components of Application Messages"

f_ExecutionReport_Instrument : Full_app_records.fix_instrument;

Insert here the set of "FinancingDetails" (symbology) fields defined in "Common Components of Application Messages"

f_ExecutionReport_FinancingDetails : Full_app_records.fix_financingdetails;

Number of underlyings

f_ExecutionReport_UndInstrmtGrp : Full_app_records.fix_rg_undinstrmtgrp;
f_ExecutionReport_Side : Full_app_enums.fix_side option;

Insert here the set of "Stipulations" (repeating group of Fixed Income stipulations) fields defined in "Common Components of Application Messages"

f_ExecutionReport_Stipulations : Full_app_records.fix_rg_stipulations;
f_ExecutionReport_QtyType : Full_app_enums.fix_qtytype option;

Insert here the set of "OrderQtyData" fields defined in "Common Components of Application Messages" **Note: OrderQty field is required for Single Instrument Orders unless rejecting or acknowledging an order for a CashOrderQty or PercentOrder.

f_ExecutionReport_OrderQtyData : Full_app_records.fix_orderqtydata;
f_ExecutionReport_OrdType : Full_app_enums.fix_ordtype option;
f_ExecutionReport_PriceType : Full_app_enums.fix_pricetype option;

Required if specified on the order

f_ExecutionReport_Price : Numeric.fix_float_6 option;

Required if specified on the order

f_ExecutionReport_StopPx : Numeric.fix_float_6 option;

Insert here the set of "PegInstruction" fields defined in "Common Components of Application Messages"

f_ExecutionReport_PegInstructions : Full_app_records.fix_peginstructions;

Insert here the set of "DiscretionInstruction" fields defined in "Common Components of Application Messages"

f_ExecutionReport_DiscretionInstructions : Full_app_records.fix_discretioninstructions;

The current price the order is pegged at

f_ExecutionReport_PeggedPrice : Numeric.fix_float_6 option;

The current discretionary price of the order

f_ExecutionReport_DiscretionPrice : Numeric.fix_float_6 option;

The target strategy of the order

f_ExecutionReport_TargetStrategy : Full_app_enums.fix_targetstrategy option;

For further specification of the TargetStrategy

f_ExecutionReport_TargetStrategyParameters : Imandra_prelude.string option;

Mandatory for a TargetStrategy=Participate order and specifies the target particpation rate. For other order types optionally specifies a volume limit (i.e. do not be more than this percent of the market volume)

f_ExecutionReport_ParticipationRate : Numeric.fix_float_6 option;

For communication of the performance of the order versus the target strategy

f_ExecutionReport_TargetStrategyPerformance : Numeric.fix_float option;
f_ExecutionReport_Currency : Full_app_enums.fix_currency option;
f_ExecutionReport_ComplianceID : Imandra_prelude.string option;
f_ExecutionReport_SolicitedFlag : Full_app_enums.fix_solicitedflag option;

Absence of this field indicates Day order

f_ExecutionReport_TimeInForce : Full_app_enums.fix_timeinforce option;

Time specified on the order at which the order should be considered valid

f_ExecutionReport_EffectiveTime : TimeDefaults.fix_utctimestamp option;

Conditionally required if TimeInForce = GTD and ExpireTime is not specified.

f_ExecutionReport_ExpireDate : Datetime.fix_localmktdate option;

Conditionally required if TimeInForce = GTD and ExpireDate is not specified.

f_ExecutionReport_ExpireTime : TimeDefaults.fix_utctimestamp option;

Can contain multiple instructions, space delimited.

f_ExecutionReport_ExecInst : Full_app_enums.fix_execinst list option;
f_ExecutionReport_OrderCapacity : Full_app_enums.fix_ordercapacity option;
f_ExecutionReport_OrderRestrictions : Full_app_enums.fix_orderrestrictions list option;
f_ExecutionReport_CustOrderCapacity : Full_app_enums.fix_custordercapacity option;

Quantity (e.g. shares) bought/sold on this (last) fill. Required if ExecType = Trade or Trade Correct. If ExecType=Stopped, represents the quantity stopped/guaranteed/protected for.

f_ExecutionReport_LastQty : Numeric.fix_float_6 option;
f_ExecutionReport_UnderlyingLastQty : Numeric.fix_float_6 option;

Price of this (last) fill. Required if ExecType = Trade or Trade Correct. Should represent the "all-in" (LastSpotRate + LastForwardPoints) rate for F/X orders. ). If ExecType=Stopped, represents the price stopped/guaranteed/protected at.

f_ExecutionReport_LastPx : Numeric.fix_float_6 option;
f_ExecutionReport_UnderlyingLastPx : Numeric.fix_float_6 option;

Last price expressed in percent-of-par. Conditionally required for Fixed Income trades when LastPx is expressed in Yield, Spread, Discount or any other price type that is not percent-of-par.

f_ExecutionReport_LastParPx : Numeric.fix_float_6 option;

Applicable for F/X orders

f_ExecutionReport_LastSpotRate : Numeric.fix_float_6 option;

Applicable for F/X orders

f_ExecutionReport_LastForwardPoints : Numeric.fix_float_6 option;

If ExecType = Trade (F), indicates the market where the trade was executed. If ExecType = New (0), indicates the market where the order was routed.

f_ExecutionReport_LastMkt : Full_app_enums.fix_exchange option;
f_ExecutionReport_TradingSessionID : Imandra_prelude.string option;
f_ExecutionReport_TradingSessionSubID : Imandra_prelude.string option;
f_ExecutionReport_TimeBracket : Imandra_prelude.string option;
f_ExecutionReport_LastCapacity : Full_app_enums.fix_lastcapacity option;

Quantity open for further execution. If the OrdStatus is Canceled, DoneForTheDay, Expired, Calculated, or Rejected (in which case the order is no longer active) then LeavesQty could be 0, otherwise LeavesQty = OrderQty - CumQty.

f_ExecutionReport_LeavesQty : Numeric.fix_float_6 option;

Currently executed quantity for chain of orders.

f_ExecutionReport_CumQty : Numeric.fix_float_6 option;
f_ExecutionReport_AvgPx : Numeric.fix_float_6 option;

For GT orders on days following the day of the first trade.

f_ExecutionReport_DayOrderQty : Numeric.fix_float_6 option;

For GT orders on days following the day of the first trade.

f_ExecutionReport_DayCumQty : Numeric.fix_float_6 option;

For GT orders on days following the day of the first trade.

f_ExecutionReport_DayAvgPx : Numeric.fix_float_6 option;

States whether executions are booked out or accumulated on a partially filled GT order

f_ExecutionReport_GTBookingInst : Full_app_enums.fix_gtbookinginst option;

Used when reporting other than current day trades.

f_ExecutionReport_TradeDate : Datetime.fix_localmktdate option;

Time the transaction represented by this ExecutionReport occurred

f_ExecutionReport_TransactTime : TimeDefaults.fix_utctimestamp option;
f_ExecutionReport_ReportToExch : Full_app_enums.fix_reporttoexch option;

Insert here the set of "CommissionData" fields defined in "Common Components of Application Messages" Note: On a fill/partial fill messages, it represents value for that fill/partial fill. On ExecType=Calculated, it represents cumulative value for the order. Monetary commission values are expressed in the currency reflected by the Currency field.

f_ExecutionReport_CommissionData : Full_app_records.fix_commissiondata;

Insert here the set of "SpreadOrBenchmarkCurveData" (Fixed Income spread or benchmark curve) fields defined in "Common Components of Application Messages"

f_ExecutionReport_SpreadOrBenchmarkCurveData : Full_app_records.fix_spreadorbenchmarkcurvedata;

Insert here the set of "YieldData" (yield-related) fields defined in "Common Components of Application Messages"

f_ExecutionReport_YieldData : Full_app_records.fix_yielddata;
f_ExecutionReport_GrossTradeAmt : Numeric.fix_float_6 option;
f_ExecutionReport_NumDaysInterest : Imandra_prelude.int option;
f_ExecutionReport_ExDate : Datetime.fix_localmktdate option;
f_ExecutionReport_AccruedInterestRate : Numeric.fix_float_6 option;
f_ExecutionReport_AccruedInterestAmt : Numeric.fix_float_6 option;

For fixed income products which pay lump-sum interest at maturity.

f_ExecutionReport_InterestAtMaturity : Numeric.fix_float_6 option;

For repurchase agreements the accrued interest on termination.

f_ExecutionReport_EndAccruedInterestAmt : Numeric.fix_float_6 option;

For repurchase agreements the start (dirty) cash consideration

f_ExecutionReport_StartCash : Numeric.fix_float_6 option;

For repurchase agreements the end (dirty) cash consideration

f_ExecutionReport_EndCash : Numeric.fix_float_6 option;
f_ExecutionReport_TradedFlatSwitch : Full_app_enums.fix_tradedflatswitch option;
f_ExecutionReport_BasisFeatureDate : Datetime.fix_localmktdate option;
f_ExecutionReport_BasisFeaturePrice : Numeric.fix_float_6 option;
f_ExecutionReport_Concession : Numeric.fix_float_6 option;
f_ExecutionReport_TotalTakedown : Numeric.fix_float_6 option;

Note: On a fill/partial fill messages, it represents value for that fill/partial fill, on ExecType=Calculated, it represents cumulative value for the order. Value expressed in the currency reflected by the Currency field.

f_ExecutionReport_NetMoney : Numeric.fix_float_6 option;

Used to report results of forex accommodation trade

f_ExecutionReport_SettlCurrAmt : Numeric.fix_float_6 option;

Used to report results of forex accommodation trade

f_ExecutionReport_SettlCurrency : Full_app_enums.fix_currency option;

Foreign exchange rate used to compute SettlCurrAmt from Currency to SettlCurrency

f_ExecutionReport_SettlCurrFxRate : Numeric.fix_float option;

Specifies whether the SettlCurrFxRate should be multiplied or divided

f_ExecutionReport_SettlCurrFxRateCalc : Full_app_enums.fix_settlcurrfxratecalc option;
f_ExecutionReport_HandlInst : Full_app_enums.fix_handlinst option;
f_ExecutionReport_MinQty : Numeric.fix_float_6 option;
f_ExecutionReport_MaxFloor : Numeric.fix_float_6 option;

For use in derivatives omnibus accounting

f_ExecutionReport_PositionEffect : Full_app_enums.fix_positioneffect option;
f_ExecutionReport_MaxShow : Numeric.fix_float_6 option;

Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). Absence of this field implies regular booking.

f_ExecutionReport_BookingType : Full_app_enums.fix_bookingtype option;
f_ExecutionReport_Text : Imandra_prelude.string option;

Must be set if EncodedText field is specified and must immediately precede it.

f_ExecutionReport_EncodedTextLen : Imandra_prelude.int option;

Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.

f_ExecutionReport_EncodedText : Imandra_prelude.string option;

Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of a F/X swap.

f_ExecutionReport_SettlDate2 : Datetime.fix_localmktdate option;

Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of a F/X swap.

f_ExecutionReport_OrderQty2 : Numeric.fix_float_6 option;

Can be used with OrdType = "Forex - Swap" to specify the forward points (added to LastSpotRate) for the future portion of a F/X swap.

f_ExecutionReport_LastForwardPoints2 : Numeric.fix_float_6 option;

Default is a single security if not specified.

f_ExecutionReport_MultiLegReportingType : Full_app_enums.fix_multilegreportingtype option;

For CIV - Optional

f_ExecutionReport_CancellationRights : Full_app_enums.fix_cancellationrights option;
f_ExecutionReport_MoneyLaunderingStatus : Full_app_enums.fix_moneylaunderingstatus option;

Reference to Registration Instructions message for this Order.

f_ExecutionReport_RegistID : Imandra_prelude.string option;

Supplementary registration information for this Order

f_ExecutionReport_Designation : Imandra_prelude.string option;

For CIV - Optional

f_ExecutionReport_TransBkdTime : TimeDefaults.fix_utctimestamp option;

For CIV - Optional

f_ExecutionReport_ExecValuationPoint : TimeDefaults.fix_utctimestamp option;

For CIV - Optional

f_ExecutionReport_ExecPriceType : Full_app_enums.fix_execpricetype option;

For CIV - Optional

f_ExecutionReport_ExecPriceAdjustment : Numeric.fix_float option;
f_ExecutionReport_PriorityIndicator : Full_app_enums.fix_priorityindicator option;
f_ExecutionReport_PriceImprovement : Numeric.fix_float_6 option;

Applicable only on OrdStatus of Partial or Filled.

f_ExecutionReport_LastLiquidityInd : Full_app_enums.fix_lastliquidityind option;

Number of contract details in this message (number of repeating groups to follow)

f_ExecutionReport_ContAmtGrp : Full_app_records.fix_rg_contamtgrp;

Number of legs Identifies a Multi-leg Execution if present and non-zero.

f_ExecutionReport_InstrmtLegExecGrp : Full_app_records.fix_rg_instrmtlegexecgrp;
f_ExecutionReport_CopyMsgIndicator : bool option;

Required if any miscellaneous fees are reported. Indicates number of repeating entries. Repeating group. ** Nested Repeating Group follows **

f_ExecutionReport_MiscFeesGrp : Full_app_records.fix_rg_miscfeesgrp;
}

The execution report message is used to: 1. Confirm the receipt of an order 2. Confirm changes to an existing order (i.e. accept cancel and replace requests) 3. Relay order status information 4. Relay fill information on working orders 5. Relay fill information on tradeable or restricted tradeable quotes 6. Reject orders 7. Report post-trade fees calculations associated with a trade

type full_fix_newordersingle_data = {
f_NewOrderSingle_ClOrdID : Imandra_prelude.string option;
f_NewOrderSingle_SecondaryClOrdID : Imandra_prelude.string option;
f_NewOrderSingle_ClOrdLinkID : Imandra_prelude.string option;

Insert here the set of "Parties" (firm identification) fields defined in "Common Components of Application Messages"

f_NewOrderSingle_Parties : Full_app_records.fix_rg_parties;
f_NewOrderSingle_TradeOriginationDate : Datetime.fix_localmktdate option;
f_NewOrderSingle_TradeDate : Datetime.fix_localmktdate option;
f_NewOrderSingle_Account : Imandra_prelude.string option;
f_NewOrderSingle_AcctIDSource : Full_app_enums.fix_acctidsource option;

Type of account associated with the order (Origin)

f_NewOrderSingle_AccountType : Full_app_enums.fix_accounttype option;
f_NewOrderSingle_DayBookingInst : Full_app_enums.fix_daybookinginst option;
f_NewOrderSingle_BookingUnit : Full_app_enums.fix_bookingunit option;
f_NewOrderSingle_PreallocMethod : Full_app_enums.fix_preallocmethod option;

Used to assign an overall allocation id to the block of preallocations

f_NewOrderSingle_AllocID : Imandra_prelude.string option;

Number of repeating groups for pre-trade allocation

f_NewOrderSingle_PreAllocGrp : Full_app_records.fix_rg_preallocgrp;
f_NewOrderSingle_SettlType : Full_app_enums.fix_settltype option;

Takes precedence over SettlType value and conditionally required/omitted for specific SettlType values.

f_NewOrderSingle_SettlDate : Datetime.fix_localmktdate option;
f_NewOrderSingle_CashMargin : Full_app_enums.fix_cashmargin option;
f_NewOrderSingle_ClearingFeeIndicator : Full_app_enums.fix_clearingfeeindicator option;
f_NewOrderSingle_HandlInst : Full_app_enums.fix_handlinst option;

Can contain multiple instructions, space delimited. If OrdType=P, exactly one of the following values (ExecInst = L, R, M, P, O, T, W, a, d) must be specified.

f_NewOrderSingle_ExecInst : Full_app_enums.fix_execinst list option;
f_NewOrderSingle_MinQty : Numeric.fix_float_6 option;
f_NewOrderSingle_MaxFloor : Numeric.fix_float_6 option;
f_NewOrderSingle_ExDestination : Full_app_enums.fix_exchange option;

Specifies the number of repeating TradingSessionIDs

f_NewOrderSingle_TrdgSesGrp : Full_app_records.fix_rg_trdgsesgrp;

Used to identify soft trades at order entry.

f_NewOrderSingle_ProcessCode : Full_app_enums.fix_processcode option;

Insert here the set of "Instrument" (symbology) fields defined in "Common Components of Application Messages"

f_NewOrderSingle_Instrument : Full_app_records.fix_instrument;

Insert here the set of "FinancingDetails" (symbology) fields defined in "Common Components of Application Messages"

f_NewOrderSingle_FinancingDetails : Full_app_records.fix_financingdetails;

Number of underlyings

f_NewOrderSingle_UndInstrmtGrp : Full_app_records.fix_rg_undinstrmtgrp;

Useful for verifying security identification

f_NewOrderSingle_PrevClosePx : Numeric.fix_float_6 option;
f_NewOrderSingle_Side : Full_app_enums.fix_side option;

Required for short sell orders

f_NewOrderSingle_LocateReqd : Full_app_enums.fix_locatereqd option;

Time this order request was initiated/released by the trader, trading system, or intermediary.

f_NewOrderSingle_TransactTime : TimeDefaults.fix_utctimestamp option;

Insert here the set of "Stipulations" (repeating group of Fixed Income stipulations) fields defined in "Common Components of Application Messages"

f_NewOrderSingle_Stipulations : Full_app_records.fix_rg_stipulations;
f_NewOrderSingle_QtyType : Full_app_enums.fix_qtytype option;

Insert here the set of "OrderQtyData" fields defined in "Common Components of Application Messages"

f_NewOrderSingle_OrderQtyData : Full_app_records.fix_orderqtydata;
f_NewOrderSingle_OrdType : Full_app_enums.fix_ordtype option;
f_NewOrderSingle_PriceType : Full_app_enums.fix_pricetype option;

Required for limit OrdTypes. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points). Can be used to specify a limit price for a pegged order, previously indicated, etc.

f_NewOrderSingle_Price : Numeric.fix_float_6 option;

Required for OrdType = "Stop" or OrdType = "Stop limit".

f_NewOrderSingle_StopPx : Numeric.fix_float_6 option;

Insert here the set of "SpreadOrBenchmarkCurveData" (Fixed Income spread or benchmark curve) fields defined in "Common Components of Application Messages"

f_NewOrderSingle_SpreadOrBenchmarkCurveData : Full_app_records.fix_spreadorbenchmarkcurvedata;

Insert here the set of "YieldData" (yield-related) fields defined in "Common Components of Application Messages"

f_NewOrderSingle_YieldData : Full_app_records.fix_yielddata;
f_NewOrderSingle_Currency : Full_app_enums.fix_currency option;
f_NewOrderSingle_ComplianceID : Imandra_prelude.string option;
f_NewOrderSingle_SolicitedFlag : Full_app_enums.fix_solicitedflag option;

Required for Previously Indicated Orders (OrdType=E)

f_NewOrderSingle_IOIID : Imandra_prelude.string option;

Required for Previously Quoted Orders (OrdType=D)

f_NewOrderSingle_QuoteID : Imandra_prelude.string option;

Absence of this field indicates Day order

f_NewOrderSingle_TimeInForce : Full_app_enums.fix_timeinforce option;

Can specify the time at which the order should be considered valid

f_NewOrderSingle_EffectiveTime : TimeDefaults.fix_utctimestamp option;

Conditionally required if TimeInForce = GTD and ExpireTime is not specified.

f_NewOrderSingle_ExpireDate : Datetime.fix_localmktdate option;

Conditionally required if TimeInForce = GTD and ExpireDate is not specified.

f_NewOrderSingle_ExpireTime : TimeDefaults.fix_utctimestamp option;

States whether executions are booked out or accumulated on a partially filled GT order

f_NewOrderSingle_GTBookingInst : Full_app_enums.fix_gtbookinginst option;

Insert here the set of "CommissionData" fields defined in "Common Components of Application Messages"

f_NewOrderSingle_CommissionData : Full_app_records.fix_commissiondata;
f_NewOrderSingle_OrderCapacity : Full_app_enums.fix_ordercapacity option;
f_NewOrderSingle_OrderRestrictions : Full_app_enums.fix_orderrestrictions list option;
f_NewOrderSingle_CustOrderCapacity : Full_app_enums.fix_custordercapacity option;

Indicates that broker is requested to execute a Forex accommodation trade in conjunction with the security trade.

f_NewOrderSingle_ForexReq : Full_app_enums.fix_forexreq option;

Required if ForexReq = Y.

f_NewOrderSingle_SettlCurrency : Full_app_enums.fix_currency option;

Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). Absence of this field implies regular booking.

f_NewOrderSingle_BookingType : Full_app_enums.fix_bookingtype option;
f_NewOrderSingle_Text : Imandra_prelude.string option;

Must be set if EncodedText field is specified and must immediately precede it.

f_NewOrderSingle_EncodedTextLen : Imandra_prelude.int option;

Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.

f_NewOrderSingle_EncodedText : Imandra_prelude.string option;

Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of a F/X swap.

f_NewOrderSingle_SettlDate2 : Datetime.fix_localmktdate option;

Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of a F/X swap.

f_NewOrderSingle_OrderQty2 : Numeric.fix_float_6 option;

Can be used with OrdType = "Forex - Swap" to specify the price for the future portion of a F/X swap which is also a limit order. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points).

f_NewOrderSingle_Price2 : Numeric.fix_float_6 option;

For use in derivatives omnibus accounting

f_NewOrderSingle_PositionEffect : Full_app_enums.fix_positioneffect option;

For use with derivatives, such as options

f_NewOrderSingle_CoveredOrUncovered : Full_app_enums.fix_coveredoruncovered option;
f_NewOrderSingle_MaxShow : Numeric.fix_float_6 option;

Insert here the set of "PegInstruction" fields defined in "Common Components of Application Messages"

f_NewOrderSingle_PegInstructions : Full_app_records.fix_peginstructions;

Insert here the set of "DiscretionInstruction" fields defined in "Common Components of Application Messages"

f_NewOrderSingle_DiscretionInstructions : Full_app_records.fix_discretioninstructions;

The target strategy of the order

f_NewOrderSingle_TargetStrategy : Full_app_enums.fix_targetstrategy option;

For further specification of the TargetStrategy

f_NewOrderSingle_TargetStrategyParameters : Imandra_prelude.string option;

Mandatory for a TargetStrategy=Participate order and specifies the target particpation rate. For other order types optionally specifies a volume limit (i.e. do not be more than this percent of the market volume)

f_NewOrderSingle_ParticipationRate : Numeric.fix_float_6 option;

For CIV - Optional

f_NewOrderSingle_CancellationRights : Full_app_enums.fix_cancellationrights option;
f_NewOrderSingle_MoneyLaunderingStatus : Full_app_enums.fix_moneylaunderingstatus option;

Reference to Registration Instructions message for this Order.

f_NewOrderSingle_RegistID : Imandra_prelude.string option;

Supplementary registration information for this Order

f_NewOrderSingle_Designation : Imandra_prelude.string option;
}

The new order message type is used by institutions wishing to electronically submit securities and forex orders to a broker for execution.

type full_app_msg_data =
| FIX_Full_Msg_ExecutionReport of full_fix_executionreport_data
| FIX_Full_Msg_NewOrderSingle of full_fix_newordersingle_data
val get_full_app_msg_tag : full_app_msg_data -> Full_app_tags.full_app_msg_tag