aboutsummaryrefslogtreecommitdiffstats
path: root/python/trade_booking.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/trade_booking.py')
-rw-r--r--python/trade_booking.py69
1 files changed, 0 insertions, 69 deletions
diff --git a/python/trade_booking.py b/python/trade_booking.py
deleted file mode 100644
index 4d72f2a1..00000000
--- a/python/trade_booking.py
+++ /dev/null
@@ -1,69 +0,0 @@
-import csv
-from datetime import date, datetime
-import os
-
-# headers = ["Record Type", "Account/Portfolio", "Transaction Type",
-# "Type of Security", "Security Id", "Clearing broker",
-# "Primary broker", "Units", "Price per unit", "Gross amount",
-# "Net amount", "Accrued Interest", "Broker Commission",
-# "Misc. Expense broker", "Broker Postage",
-# "SEC Fee", "Transfer Tax", "Trade Date", "Settlement Date",
-# "Settlement Location", "Storage Location", "Registration",
-# "Tax Lot Seq Num", "Tax Lot Qty", "Explanation", "Fed Cost"]
-# headers = headers + ["Special Instruction " + str(i) for i in range(1,9)]
-# headers = headers + ["Future Use"]
-
-if os.name =='nt':
- root = "//WDsentinel/share/Daily"
-elif os.name == 'posix':
- root = '/home/share/Daily'
-
-def get_broker_codes():
- with open(os.path.join(root, "broker_codes.csv")) as fh:
- next(fh)
- return dict([line.rstrip().split(",") for line in fh])
-
-def list_trade_files():
- return (f for f in os.listdir(os.path.join(root, str(date.today()))) \
- if "trade" in f)
-
-account_number = "602382.1"
-print("HEADER|" + datetime.strftime(date.today(), "%Y%m%d"))
-n_trades = 0
-broker_codes = get_broker_codes()
-
-for trade_file in list_trade_files():
- with open(os.path.join(root, str(date.today()), trade_file)) as fh:
- reader = csv.DictReader(fh)
- for trade in reader:
- n_trades += 1
- tradedate = datetime.strftime(datetime.strptime(trade["Date"],"%m/%d/%Y"),
- "%Y%m%d")
- settledate = datetime.strftime(datetime.strptime(trade["Settle Date"],"%m/%d/%Y"),
- "%Y%m%d")
- for field in ["Notional", "Price", "Acc Int"]:
- trade[field] = float(trade[field])
- grossamount = trade["Notional"] * trade["Price"] / 100
- accint = trade["Acc Int"] * trade["Notional"]/100
- netamount = grossamount + accint
- brokercode = "{0:08}".format(int(broker_codes[trade["Alias"]]))
- tradestring = \
- "DETAIL|{0}|{1}|{2}|{3}|{4}|{5}".format(account_number,
- trade["Buy/Sell"].upper(),
- "CUSIP" if trade["CUSIP"] else "ISIN",
- trade["CUSIP"] + trade["ISIN"],
- brokercode,
- brokercode)
-
- tradestring += \
- "|{0:.4f}|{1:.8f}|{2:.2f}|{3:.2f}|{4:.2f}||||||".format(trade["Notional"],
- trade["Price"],
- grossamount,
- netamount,
- accint)
- tradestring += \
- "{0}|{1}|3|3|3||||||||||||||".format(tradedate,
- settledate)
- print(tradestring)
-
-print("TRAILER|{0}".format(n_trades))