diff --git a/fi1/README.md b/fi1/README.md index 35df69d..a700a73 100644 --- a/fi1/README.md +++ b/fi1/README.md @@ -27,20 +27,20 @@ flowchart TD > Round shape indicates an actor The platform is intended to support up to 5 million members. The following are the meanings of terms used by ACME: -• Internal Account - a logical account within the internal ledger that records the holding of an amount of cash or units of assets -• Pot - a collection of Internal Accounts that belong to a Member, ACME, an external body, e.g. an Asset Custodian -• External Account - a real account in an external organisation, e.g. a bank account with a bank or an asset account +* Internal Account - a logical account within the internal ledger that records the holding of an amount of cash or units of assets +* Pot - a collection of Internal Accounts that belong to a Member, ACME, an external body, e.g. an Asset Custodian +* External Account - a real account in an external organisation, e.g. a bank account with a bank or an asset account with an asset custodian. -• Re-balancing - the process of adjusting the number of units held for each of a number of assets in the asset Internal Account in a Pot to ensure the mix is correct for the chosen risk profile. -• Asset custodian - a body that holds asset units on behalf of ACME and trades them when instructed. +* Re-balancing - the process of adjusting the number of units held for each of a number of assets in the asset Internal Account in a Pot to ensure the mix is correct for the chosen risk profile. +* Asset custodian - a body that holds asset units on behalf of ACME and trades them when instructed. Consider the description above in an event driven platform with information stored in a database. How would you design such a system and what challenges would you expect to find? The solution should consider the following: -• ACME is regulated by 3 financial authorities and the data we hold must be 100% accurate -• Assets may be bought and sold -• There are some automated processes, e.g. re-balancing, that generate large numbers of buy and sell trades as the prices of assets move. -• There are some processes that must process large amounts of data, e.g. reconciliation -• This is not a real time trading environment, prices are always closing prices, external trades are only placed with -asset custodians on a daily basis. +* ACME is regulated by 3 financial authorities and the data we hold must be 100% accurate +* Assets may be bought and sold +* There are some automated processes, e.g. re-balancing, that generate large numbers of buy and sell trades as the prices of assets move. +* There are some processes that must process large amounts of data, e.g. reconciliation +* This is not a real time trading environment, prices are always closing prices, external trades are only placed with asset custodians on a daily basis. + Assuming the platform is implemented in Go, what patterns would you use to enable large numbers (c200-300) processes to be produced in a consistent and repeatable manner by multiple teams? ## interpretation of the text