def load_from_DB(): dbManager = database.DBManager(DB_NAME) dbManager.connect() people = dbManager.load() dbManager.close() return people
def simulate_strategy(self): self.db = database.DBManager(self.symbol) count = int( decimal.Decimal(self.investment_amount) / decimal.Decimal( self.db.get_closest_raw_day(self.start_date).close)) self.trans_db.insert_transaction( Transaction(self.start_date, self.symbol, 1, count, 0)) # alle tage holen und in self.days_dict speichern days = self.db.get_all_values() days_dict = {} for day in days: days_dict[day.datestring] = day # split correction running_date = self.start_date while running_date < self.end_date: if running_date in days_dict.keys( ) and days_dict[running_date].split != 1: count *= days_dict[running_date].split self.trans_db.insert_transaction( Transaction(running_date, self.symbol, 1, count, 0)) running_date += datetime.timedelta(days=1) self.trans_db.insert_transaction( Transaction( self.end_date, self.symbol, 0, 0, decimal.Decimal(count) * decimal.Decimal(self.db.get_raw_day(self.end_date).close))) self.roi = float(count) * float( self.db.get_closest_raw_day(self.end_date).close)
def display_200(table, symbol): db_trans = database_transactions.TransactionsDBManager(symbol, table) db = database.DBManager(symbol) transactions = db_trans.get_all_transactions() points = [x.date for x in transactions if x.symbol != "DUMMY"] values = db.get_all_values() # if last action was a buy, we need to add a point to the last date for the chart to mark the last buy until now if transactions[-1].buy_flag == 1: points.append(values[-1].datestring) plotting.create_chart("2010-01-01", "2021-05-25", db, points=points)
def save_to_DB(people): dbManager = database.DBManager(DB_NAME) dbManager.connect() dbManager.save(people) dbManager.close()
from datetime import datetime import database import plotting import data_handler symbol = input( "Bitte gib eine Aktie an (z.B. Apple ... AAPL; Tesla ... TSLA; Amazon ... AMZN)\n" ) db = database.DBManager(symbol) data_handler.scrape_and_save_raw_prices_to_db(db) print("Analyzing data") data_handler.analyze_data_and_save_to_db(db) start_date = datetime.strptime(input("Start-Datum (z.B.: 31-12-2010): "), "%d-%m-%Y").date() end_date = datetime.strptime(input("End-Datum (z.B.: 31-12-2020): "), "%d-%m-%Y").date() plotting.create_chart(start_date, end_date, db) save_file = input('Soll dieser Chart als Bild abgespeichert werden? ("y"/"n")') if save_file == "y": filename = "charts\\{}-{}.png".format(symbol, datetime.now().strftime("%d-%m-%Y")) plotting.create_chart(start_date, end_date, db, filename)