-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIndividual_Account.py
125 lines (105 loc) · 4.34 KB
/
Individual_Account.py
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
"""
Individual Account Class:
An individual account class consists of a series of functions linking client's
account functions and their respective databases. This class has the
functionanilty that is provided with managing accounts as a client and also
provides data anlytics for business insights and risk mitigation. These include:
Printing Client DB Transactional History
Modifying Bank Balances DB Transactional History with Ckient's Deposits and
Withdrawals
Data Analytics (Business Insights):
Most Active Account
Average Transaction per Month
Average Type of Transaction per Month
Data Analytics (Risk Mitigation):
Working Capital
Working Capital (Trending)
Current Ratio
Current Ratio (Trending)
"Return on Equity" (Addition to Wealth)
"Return on Equity" (Trending)
"""
from Bank_Account_Class import DBAccount
class IndividualAccount(DBAccount):
""""
An ABC indivual account class represents a single client's account. An
individual client must have the following properties:
Attributes:
Account Number: An integer representing the client's's identity.
Account Account Name: A string representing the client's name.
Account Balance: A float maintaining the client's book balance.
Account Type: A string representing the type of client account, either
bank, client, chequing, savings, or credit account.
"""
def __transfer__(self, account_dep = "", account_withdraw = ""):
pass
def __history__(self, date_start="", date_stop=""):
"""
Selects records from SQL table with date filter.
:param date_start: string. The start date of the history requested.
:param date_stop: string. The end date of the history requested.
:return: Void. displays the account's transaction history within the range of time defined by params
"""
pass
def __deposit_track__(self, amount=0.0, source="", date=""):
"""
Selects records from SQL table with type = deposit filter.
:param amount: float. The amount of transaction.
:param source: string. The source of transaction.
:param date: string. The day of transaction.
:return: deposit transaction records that satisfy the conditions defined by params.
"""
pass
def __withdrawal_track_(self, amount=0.0, source="", date=""):
"""
Selects records from SQL table with type = withdrawal filter
:param amount: float. The amount of transaction.
:param source: string. The source of transaction.
:param date: string. The day of transaction.
:return: withdrawal transaction records that satisfy the conditions defined by params.
"""
pass
def __most_active__(self, date_start="", date_stop=""):
pass
def __most_active__type(self, data_start="", date_stop=""):
pass
def __avg_trans__(self):
"""
Use SQL function to obtain sum of transaction records and total transaction numbers.
:return: Average transaction amount (float) = sum of transaction records/total transaction nums.
"""
pass
def __avg_trans_type__(self):
pass
def __data_business__(self, date_start="", date_stop=""):
pass
def __work_cap__(self):
pass
def __work_cap_trend__(self):
pass
def __curr_ratio__(self):
"""
Using object 'amount' attribute for total deposit (D).
:return: the currency ratio of the client = C/D
"""
pass
def __curr_ratio_trend__(self):
"""
SQL function to calculate total deposit on each day.
:return: the trend of client's currency ratio stored in a dict, ideally used for graphing (front).
"""
pass
def __return_on_eq__(self):
"""
Using object 'amount' attribute for total equity (D).
:return: the return on equity of the client = net income/total Equity
"""
pass
def __return_on_eq_trend__(self):
"""
SQL function to calculate total equity on each day.
:return: The trend of client's return on equity stored in a dict, ideally used for graphing (front).
"""
pass
def __data_risk_(self, date_start="", date_stop=""):
pass