def load_from_DB():
    dbManager = database.DBManager(DB_NAME)
    dbManager.connect()
    people = dbManager.load()
    dbManager.close()

    return people
Esempio n. 2
0
    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)
Esempio n. 3
0
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()
Esempio n. 5
0
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)