diff options
Diffstat (limited to 'python/trade_booking.py')
| -rw-r--r-- | python/trade_booking.py | 69 |
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)) |
