Configuration

This topic describes the configuration options for the Barracuda Order Adapter.

Editing the configuration file

On deployment, the adapter's configuration file is copied to the Deployment Framework directory: <framework-root>/global_config/overrides/BarracudaOrderAdapter/etc/Adapter.conf.

Any customisations you make to the configuration file will be retained on upgrading the adapter if you follow the steps outlined in Upgrading the Barracuda Order Adapter.

Configuration reference

The Barracuda Order Adapter's configuration file is written in Human Optimised Config Object Notation (HOCON).

Configuration stanzas:

barracuda

Host and port of the Barracuda Order Management System.

Example configuration:

barracuda {
  host = "89.101.155.13:5279"
  messageport = 5295
}

broker

Barracuda Order Management System connection credentials.

Example configuration:

broker {
  username = "the username"
  password = "the password"
}

notifications

A list of statuses that trigger notifications.

Valid statuses:

  • "Active"
  • "Cancelling"
  • "Cancelled"
  • "Completed"
  • "Expired"
  • "Rejected"
  • "Pending Acceptance"
  • "Partial-Filled"
  • "Accepted"
  • "Pending Modify"
  • "Filled"
  • "Priced"
  • "Saved"
  • "Pricing"
  • "Fill Error"
  • "Fill Expired"
  • "Gamma Mid Pending"
  • "None"
  • "Failed"
  • "Unknown"

Example configuration:

notifications {
  statuses = [
    "Cancelled",
    "Filled",
    "Completed",
    "Expired",
    "Rejected",
    "Partial-Filled"
  ]
}

strategy

Defines whether the account, the activation date, and the expiration date should be defined per strategy or per leg.

Example configuration:

strategy {
  account_per_leg = false
  activation_date_per_leg = false
  expiration_date_per_leg = false
}

datebounds

Limits the age of orders displayed in client blotters:

  • dateBounds.cancelRejectedOrders.lowerbound limits the display of cancelled and rejected orders to orders that were cancelled or rejected within the previous lowerbound days.
  • dateBounds.expiredOrders.lowerbound limits the display of expired orders to orders that expired within the previous lowerbound days.
  • dateBounds.filledOrders.lowerbound limits the display of filled orders to orders that were filled within the previous lowerbound days.

Example configuration:

datebounds {
  cancelRejectedOrders {
    lowerbound: 30
  },
  expiredOrders {
    lowerBound: 30
  },
  filledOrders {
    lowerBound: 30
  }
}

orderStateActions

Defines the actions available for zero or more order states. By default, no actions are available for an order state.

There are two possible actions at each order state. One or both actions may be specified.

  • "Edit" (recognised by single-leg orders; ignored by multi-leg orders)
  • "Cancel"

Order states that you may define available actions for are listed below:

  • NONE
  • MODIFY_ACCEPTANCE_NEEDED
  • CANCEL_ACCEPTANCE_NEEDED
  • IN_MODIFICATION
  • MANUAL_PRICING
  • DELETED
  • PENDING
  • PRICED
  • SAVED
  • ACTIVE
  • FILLED
  • CANCELLED
  • EXPORTED
  • TRIGGERED
  • CREDIT_CHECKING
  • DI_NEEDED
  • ACCEPTANCE_NEEDED
  • REJECTED
  • PRICING
  • FILL_ERROR
  • FILL_EXPIRED
  • PENDING_CANCELLATION
  • DI_APPROVED
  • GAMMA_MID_PENDING
  • MIGRATION_ACCEPTANCE_NEEDED
  • ENTRYPRICING
  • SUSPENDED

Example configuration:

orderStateActions {
    PENDING:                     {actions: ["Edit","Cancel"]},
    MODIFY_ACCEPTANCE_NEEDED:    {actions: ["Edit","Cancel"]},
    ACCEPTANCE_NEEDED:           {actions: ["Cancel"]},
    MIGRATION_ACCEPTANCE_NEEDED: {actions: ["Edit","Cancel"]},
    CANCEL_ACCEPTANCE_NEEDED:    {actions: ["Edit","Cancel"]},
    PENDING_CANCELLATION:        {actions: ["Edit","Cancel"]},
    ACTIVE:                      {actions: ["Edit","Cancel"]},
}

serverTimezone

The time zone of the server. Takes a tz-database valid string.

Example configuration

serverTimezone = "Europe/London"

timezoneMappings

Maps non-tz-database time zone strings to valid tz-database time zone strings. Use this if your front-end uses non-tz-database strings.

For a list of valid tz-database time zone strings, see List of tz database time zones.

Example configuration:

timezoneMappings {
    "America/New York": "America/New_York",
    "Europe/Milan": "Europe/Rome",
    "London": "Europe/London"
}