1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import datetime
from report_ops.fcm import BamlFcmNotify
from serenitas.utils.db2 import dbconn
from tabulate import tabulate
_fcm_alias = {"V0NSCLMSPT": "6MZ20049"}
_sql_query = (
"SELECT spots.cash_account, buy_currency, sell_currency, buy_amount, sell_amount, spot_rate, settle_date FROM spots "
"LEFT JOIN accounts2 USING (cash_account) WHERE account_type='Fcm' AND spots.cp_code='BAMSNY' AND spots.trade_date =%s AND spots.fund=%s;"
)
def main(trade_date, conn, fund):
with conn.cursor() as c:
c.execute(
_sql_query,
(trade_date, fund),
)
for rec in c:
BamlFcmNotify.process(trade_date, rec._asdict())
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
"date",
nargs="?",
type=datetime.date.fromisoformat,
default=datetime.date.today(),
help="working date",
)
args = parser.parse_args()
conn = dbconn("dawndb")
for fund in (
"SERCGMAST",
"ISOSEL",
):
main(args.date, conn, fund)
|