aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/report_ops/headers.py335
-rw-r--r--python/report_ops/services.py31
2 files changed, 1 insertions, 365 deletions
diff --git a/python/report_ops/headers.py b/python/report_ops/headers.py
index 2dcf00e8..ab48fd16 100644
--- a/python/report_ops/headers.py
+++ b/python/report_ops/headers.py
@@ -73,329 +73,6 @@ BOWDST_POSITION_HEADERS = [
]
-BNY_SECURITY_HEADER = [
- "Function of the Message",
- "Trade Type",
- "Account No",
- "Trade Date",
- "Settlement Date",
- "Broker ID",
- "Clearer ID",
- "Price",
- "Asset Type",
- "Currency",
- "Local Cost",
- "Commission",
- "Broker Account",
- "SEC Fee",
- "Other Charges",
- "Principal",
- "Interest",
- "Final Money",
- "Security Id",
- "Security Description",
- "Maturity Date",
- "Issue Date",
- "Current Rate",
- "Safekeeping place",
- "Settlement Place",
- "Reference",
- "Stamp Duty",
- "Original Face",
- "FX Execute",
- "Buy/Sell Currency",
- "FX Special",
- "Market",
- "Special Instruction",
- "Block Detail Counter",
- "Related Reference",
- "Deliver To Account",
- "Quantity",
- "Pool Number",
- "Factor",
- "ADEL Date",
- "Taxes",
- "Settlement Method",
- "Security Id Type",
- "Investor",
- "Broker ID Type",
- "Broker Description",
- "Clearer ID Type",
- "Clearer Description",
- "Clearer Account",
- "Custodian ID Type",
- "Custodian ID",
- "Custodian Description",
- "Custodian Account",
- "Base Cost",
- "Base Currency",
- "Local Currency",
- "Change Owner/Reg",
- "Settlement Indicator",
- "Italian Tax Id",
- "Settlement Transaction Indicator",
- "Sub-Custodian Special Inst",
- "Inventory Book",
- "Manual Broker Description Flag Book",
- "Manual Broker Description",
- "IIJ Number",
- "Tracking Indicator",
- "Tax Code",
- "Tax Code - Deliver",
- "Tax Code - Receive",
- "Current Face Quantity",
- "Accounting Description Line 1",
- "Accounting Description Line 2",
- "Accounting Description Receive Line 1",
- "Accounting Description Receive Line 2",
- "Trade Condition Indicator",
- "Deal Reference",
- "Common Trade Reference",
- "Place of Trade",
- "Place of Trade Narrative",
- "Research Fee",
-]
-
-BNY_REPO_HEADER = [
- "Function of Message",
- "Trade Type",
- "Account",
- "Transaction Type",
- "Trade Date",
- "Settlement Date",
- "Reference",
- "Final Money",
- "Currency",
- "FX Details",
- "Market",
- "Settlement Method",
- "Settlement Place",
- "Place of Safekeeping",
- "Broker ID Type",
- "Broker ID",
- "Broker Description",
- "Broker Account",
- "Clearer ID Type",
- "Clearer ID",
- "Clearer Description",
- "Clearer Account",
- "Change Owner/Reg",
- "Settlement Indicator",
- "Italian Tax Id",
- "Stamp Duty",
- "Maturity Date",
- "Call Delay",
- "Rate Type",
- "Repo Rate",
- "Forfeit Amount",
- "Repo Index",
- "Computation Method",
- "Accrued Interest",
- "Deal Amount",
- "Premium Amount",
- "Repurchase Amount",
- "Legal Framework",
- "Repo Reference",
- "Closing Leg Reference",
- "Collateral Count",
- "Security Id Type",
- "Security Id",
- "Security Description",
- "Face/Unit Amount",
- "Special Instruction",
- "Sub-Custodian Special Inst",
- "Repo Special Inst",
- "Related Reference",
- "Principal Amount",
- "Maturity Amount",
- "Tri Party Repo Type",
- "Custodian ID Type",
- "Custodian ID",
- "Custodian Description",
- "Custodian Account",
- "Place Of Trade",
- "Place Of Trade Narrative",
-]
-
-BNY_CLS_HEADER = [
- "Trade Type",
- "Account",
- "Trade Date",
- "Value Date",
- "Buy Currency",
- "Buy Amount",
- "Sell Currency",
- "Sell Amount",
- "Traded Currency",
- "Reference",
- "Related Reference",
- "Fund Manager Type",
- "Fund Manager ID",
- "Fund manager Description",
- "Fund Manager Add ID Type",
- "Fund Manager Add ID",
- "Executing Broker Type",
- "Executing Broker ID",
- "Executing Broker Description",
- "Executing Broker Add ID Type",
- "Executing Broker Add ID",
- "Receive Delivery Agent Type",
- "Receive Delivery Agent ID",
- "Receive Delivery Agent Description",
- "Receive Delivery Agent Add ID Type",
- "Receive Delivery Agent Add ID",
- "Receive Intermediary Type",
- "Receive Intermediary ID",
- "Receive Intermediary Description",
- "Receive Intermediary Add ID Type",
- "Receive Intermediary Add ID",
- "Receive Payment Receiving Agent Type",
- "Receive Payment Receiving Agent ID",
- "Receive Payment Receiving Agent Description",
- "Receive Payment Receiving Agent Add ID Type",
- "Receive Payment Receiving Agent Add ID",
- "Delivery Receiving Agent Type",
- "Delivery Receiving Agent ID",
- "Delivery Receiving Agent Description",
- "Delivery Receiving Agent Add ID Type",
- "Delivery Receiving Agent Add ID",
- "Delivery Beneficiary Bank Type",
- "Delivery Beneficiary Bank ID",
- "Delivery Beneficiary Bank Description",
- "Delivery Beneficiary Bank Add ID Type",
- "Delivery Beneficiary Bank Add ID",
- "Delivery Payment Delivery Agent Type",
- "Delivery Payment Delivery Agent ID",
- "Delivery Payment Delivery Agent Description",
- "Delivery Payment Delivery Agent Add ID Type",
- "Delivery Payment Delivery Agent Add ID",
- "Delivery Intermediary Type",
- "Delivery Intermediary ID",
- "Delivery Intermediary Description",
- "Delivery Intermediary Add ID Type",
- "Delivery Intermediary Add ID",
- "Sender to Receiver Line Type -1",
- "Sender to Receiver Line Description -1",
- "Sender to Receiver Line Type -2",
- "Sender to Receiver Line Description -2",
- "Sender to Receiver Line Type -3",
- "Sender to Receiver Line Description -3",
- "Sender to Receiver Line Type -4",
- "Sender to Receiver Line Description -4",
- "Sender to Receiver Line Type -5",
- "Sender to Receiver Line Description -5",
- "Sender to Receiver Line Type -6",
- "Sender to Receiver Line Description -6",
- "Function of the Message",
- "IIJ Number",
- "Settlement Currency",
- "Settlement Amount",
- "Settlement Reference",
- "Gain/Loss Flag",
- "Fixing Date",
- "Settlement Receiving Agent Type",
- "Settlement Receiving Agent ID",
- "Settlement Receiving Agent Description",
- "Settlement Receiving Agent Add ID Type",
- "Settlement Receiving Agent Add ID",
- "Settlement Beneficiary Bank Type",
- "Settlement Beneficiary Bank ID",
- "Settlement Beneficiary Bank Description",
- "Settlement Beneficiary Bank Add ID Type",
- "Settlement Beneficiary Bank Add ID",
- "Settlement Delivery Agent Type",
- "Settlement Delivery Agent ID",
- "Settlement Delivery Agent Description",
- "Settlement Delivery Agent Add ID Type",
- "Settlement Delivery Agent Add ID",
- "Settlement Intermediary Type",
- "Settlement Intermediary ID",
- "Settlement Intermediary Description",
- "Settlement Intermediary Add ID Type",
- "Settlement Intermediary Add ID",
- "Payment Clearing Centre",
- "Fund Manager Clearing Code Type",
- "Fund Manager Clearing Code",
- "Fund Manager Tax Code",
- "Fund Manager Legal Entity",
- "Executing Broker Clearing Code Type",
- "Executing Broker Clearing Code",
- "Executing Broker Tax Code",
- "Executing Broker Legal Entity",
- "Receive Delivery Agent Clearing Code Type",
- "Receive Delivery Agent Clearing Code",
- "Receive Delivery Agent Tax Code",
- "Receive Delivery Agent Legal Entity",
- "Receive Delivery Agent No Settlement Instruction",
- "Receive Intermediary Clearing Code Type",
- "Receive Intermediary Clearing Code",
- "Receive Intermediary Tax Code",
- "Receive Intermediary Legal Entity",
- "Receive Payment Receiving Agent Clearing Code Type",
- "Receive Payment Receiving Agent Clearing Code",
- "Receive Payment Receiving Agent Tax Code",
- "Receive Payment Receiving Agent Legal Entity",
- "Delivery Receiving Agent Clearing Code Type",
- "Delivery Receiving Agent Clearing Code",
- "Delivery Receiving Agent Tax Code",
- "Delivery Receiving Agent Legal Entity",
- "Delivery Receiving Agent No Settlement Instruction",
- "Delivery Beneficiary Bank Clearing Code Type",
- "Delivery Beneficiary Bank Clearing Code",
- "Delivery Beneficiary Bank Tax Code",
- "Delivery Beneficiary Bank Legal Entity",
- "Delivery Payment Delivery Agent Clearing Code Type",
- "Delivery Payment Delivery Agent Clearing Code",
- "Delivery Payment Delivery Agent Tax Code",
- "Delivery Payment Delivery Agent Legal Entity",
- "Delivery Intermediary Clearing Code Type",
- "Delivery Intermediary Clearing Code",
- "Delivery Intermediary Tax Code",
- "Delivery Intermediary Legal Entity",
- "Comments",
- "Status",
- "Template Name",
- "Trans Number",
- "Creator",
- "File ID",
- "Authorizer",
- "Timestamp",
- "Audit Trail",
- "Account Name",
-]
-
-BNY_SPO_HEADER = [
- "Trade Type",
- "Account No",
- "Security Id Type",
- "Security Id",
- "Security Description",
- "Spo Transaction Type",
- "Reason Code",
- "Reference",
- "Settlement Date",
- "Delivery Date",
- "Payable Date",
- "Record Date",
- "Quantity",
- "Credit/Debit Amount",
- "Broker ID Type",
- "Broker ID",
- "Broker Description",
- "Clearer ID Type",
- "Clearer ID",
- "Clearer Description",
- "Contra's Account",
- "Contra's Contact",
- "Contra's Tel.No",
- "Special Instruction",
- "Old Price",
- "New Price",
- "Status",
- "Template Name",
-]
-
-
def get_position_headers(fund):
match fund:
case "BOWDST":
@@ -403,15 +80,3 @@ def get_position_headers(fund):
case _:
return POSITION_HEADERS
-
-
-def get_bny_headers(trade_type):
- match trade_type:
- case "repo":
- return BNY_REPO_HEADER
- case "spot":
- return BNY_CLS_HEADER
- case "bond" | "stock":
- return BNY_SECURITY_HEADER
- case "spo":
- return BNY_SPO_HEADER
diff --git a/python/report_ops/services.py b/python/report_ops/services.py
index 7cb87047..6e7f37d5 100644
--- a/python/report_ops/services.py
+++ b/python/report_ops/services.py
@@ -1,34 +1,5 @@
from serenitas.ops.funds import Service
from serenitas.ops.headers import HEADERS
-from serenitas.utils.exchange import ExchangeMessage, FileAttachment
-
-from .headers import get_bny_headers
-from .misc import _settlement_recipients, _cc_recipients
-
-
-class BNY(Service, service_name="BNY"):
- filepath_pattern = "BNY.{timestamp:%Y%m%d.%H%M%S}.{trade_tag}.csv"
- credential = "bny_upload"
-
- @classmethod
- def set_headers(cls, trade_type):
- cls.headers = get_bny_headers(trade_type)
-
- @classmethod
- def push_trade(cls, trade, action):
- cls.staging_queue.append(trade.to_bny(action))
-
- @classmethod
- def upload(cls, buf, dest, fund, upload_type):
- super().upload(buf, dest, confirm=False)
- em = ExchangeMessage()
- em.send_email(
- f"BNY Upload Receipt {upload_type}",
- "",
- to_recipients=_settlement_recipients[fund],
- cc_recipients=_cc_recipients[fund],
- attach=(FileAttachment(name=dest, content=buf),),
- )
class UMB(Service, service_name="UMB"):
@@ -54,7 +25,7 @@ def get_service(account_counterparty):
case "UMB":
return UMB
case "BONY":
- return BNY
+ return Service[account_counterparty]
case "BBH":
return Service["BRINKER"]
case _: