-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclasses.py
83 lines (70 loc) · 2.7 KB
/
classes.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
import datetime
import numpy as np
import pandas as pd
class trade_class:
def __init__(self, date:datetime, symbol:str, side:str, price:np.float64, filled:np.float64, fee:np.float64, fee_asset:str, total:np.float64):
self.date = date
self.symbol = symbol
self.side = side
self.price = price
self.filled = filled
self.fee = fee
self.fee_asset = fee_asset
self.total = total
def get_date(self):
return self.date
def get_symbol(self):
return self.symbol
def get_side(self):
return self.side
def get_price(self):
return self.price
def get_filled(self):
return self.filled
def get_fee(self):
return self.fee
def get_fee_asset(self):
return self.fee_asset
def get_total(self):
return self.total
class holding_class:
def __init__(self, date:datetime, symbol:str, side:str, price:np.float64, quantity:np.float64, fee:np.float64, total:np.float64):
self.date = date
self.symbol = symbol
self.side = side
self.price = price
self.quantity = quantity
self.fee = fee
self.total = total
def get_date(self):
return self.date
def get_symbol(self):
return self.symbol
def get_price(self):
return self.price
def get_quant(self):
return self.quantity
def get_fee(self):
return self.fee
def get_total(self):
return self.total
def set_quantity(self,newQuant):
self.quantity = newQuant
def substract_x(self,toSubtract): # ONLY USE WHEN AMOUNT SUBTRACTING IS LESS THAN self.quantity
self.quantity -= toSubtract
cols_open = ['entry_date','symbol','side','price','filled','fee', 'fee_asset', 'total']
cols_closed = ['entry_date', 'close_date', 'symbol','side','entry_price', 'close_price', 'filled','fee', 'profit']
class open_trades:
def __init__(self):
self.main_dataframe = pd.DataFrame(data=None, columns=cols_open)
def append_dataframe(self, df_tmp):
self.main_dataframe = self.main_dataframe.append(df_tmp)
def to_file(self):
self.main_dataframe.to_excel(r'C:\Users\danie\OneDrive\Desktop\daniel\coding\trading_local\open_trades.csv', index=False)
class closed_trades:
def __init__(self):
self.main_dataframe = pd.DataFrame(data=None, columns=cols_closed)
def append_dataframe(self, df_tmp):
self.main_dataframe = self.main_dataframe.append(df_tmp)
def to_file(self):
self.main_dataframe.to_excel(r'C:\Users\danie\OneDrive\Desktop\daniel\coding\trading_local\closed_trades2.xlsx', index=False)