galatea-associates / fuse-test-data-gen

Repository for the Galatea internal data generator tool, used for generating domain data for POCs
0 stars 0 forks source link

Order Executions cleanup #18

Closed j-barber closed 4 years ago

j-barber commented 5 years ago

A few things to address around this dataset:

  1. Are these orders or executions? If executions, should have an order id (not unique) and an execution id (unique). If orders, should have a total order quantity, executed quantity, avg execution price
  2. What does the account_num reference? Should that just be a Book or Account id?
  3. A given instrument should only have orders/executions against a single currency
  4. What is "sto_id"?
  5. What is "agent_id"?
  6. The timestamps should not all be the same

https://drive.google.com/drive/folders/1IcuDZAx58zzp5Q4BI6G7Xxd01NTmTfjk image

GalaJoe commented 5 years ago

This account number field will be superseded with an Account Number from an Account Object in future. Similarly to how the RIC references a pre-generated instrument, so too will Account Number reference a pre-generated Account.

This will also be the case for any other occurrence of "account_num" or "account" attributes in other domain objects.

GalateaTom commented 5 years ago
  1. Do you have a preference as to whether we model executions or orders here? I'm not aware of any written requirements besides the overview @GalateaRaj pinned to the #fuse-test-data-gen channel. It doesn't specifically mention orders but it does mention trades, settlement instruments and payments so I would suspect that this object should be recording executions. Either way your suggested changes make sense
  2. The account_num field also appears in the cash_balances object. I don't think it's necessary but going on my understanding that a Book is a collection of accounts we could give the Account object @GalaJoe is going to define a field to show which book they belong to
  3. Agreed. I'm going to add a currency field to the Instrument object and then these Order Execution objects will no longer need to mention currency.
  4. No one in London can answer that question. I'm happy to delete it seeing as it's not used anywhere else and I don't see a use for it.
  5. We're not sure what's meant by agent_id. If we decide this object is for recording executions then maybe this is meant to be the identifier of the firm trader (or just the desk) executing this trade on behalf of the client e.g. the firm trader that appears in the ICP section if we're modelling a client buying or selling using T Charts . Does that make sense to you?
  6. Agreed. I can definitely spread out these times pseudorandomly.