def sell(self):
        output_typ = 'Verkauf'
        self.input_amount = self.total
        self.output_amount = self.amount
        selling_price = get_price_of_currency(
            self.date, self.output_asset_name, 'EUR',
            self.api_exchange) * self.input_amount
        crypto_asset = self.input_asset_name
        self.save_sell_row(transaction_id=self.tx_id,
                           date=self.date,
                           output_typ=output_typ,
                           input_amount=self.input_amount,
                           input_asset_name=self.output_asset_name,
                           output_amount=self.output_amount,
                           output_asset_name=self.input_asset_name,
                           selling_price=selling_price,
                           crypto_asset=crypto_asset)
        self.tx_id += 1

        output_typ = 'Kauf'
        self.input_amount = self.total
        fee_coin_asset_price = get_price_of_currency(self.date, self.fee_coin,
                                                     'EUR', self.api_exchange)
        self.output_amount = self.amount
        self.trading_fee = fee_coin_asset_price * self.fee
        output_asset_euro = get_price_of_currency(self.date,
                                                  self.output_asset_name,
                                                  'EUR', self.api_exchange)
        acquisition_cost = (output_asset_euro *
                            self.input_amount) + self.trading_fee
        crypto_asset = self.output_asset_name
        self.save_purchase_row(transaction_id=self.tx_id,
                               date=self.date,
                               output_typ=output_typ,
                               input_amount=self.input_amount,
                               input_asset_name=self.output_asset_name,
                               output_amount=self.output_amount,
                               output_asset_name=self.input_asset_name,
                               fee=self.trading_fee,
                               acquisition_cost=acquisition_cost,
                               crypto_asset=crypto_asset)
        self.tx_id += 1

        output_typ = 'Gebühr'
        output_amount = self.fee
        output_asset_name = self.fee_coin
        selling_price = self.trading_fee
        self.save_withdrawal_or_fee_row(self.tx_id, self.date, output_typ,
                                        output_amount, output_asset_name,
                                        selling_price, output_asset_name)
        self.tx_id += 1
Exemplo n.º 2
0
 def read_raw_data(self, row):
     self.asset_name = str(row[self.input_column_names['asset']])[1:]
     if self.asset_name == 'XBT':
         self.asset_name = 'BTC'
     self.date = str(row[self.input_column_names['time']])
     self.input_typ = row[self.input_column_names['type']]
     self.amount = float(row[self.input_column_names['amount']])
     self.price = float(
         get_price_of_currency(self.date, self.asset_name, 'EUR',
                               self.exchange_name))
 def deposit(self):
     output_typ = 'Einzahlung'
     input_amount = self.amount
     input_asset_name = self.coin
     price = get_price_of_currency(self.date, input_asset_name, 'EUR',
                                   self.api_exchange)
     acquisition_cost = (price * input_amount) + self.fee
     self.save_deposit_row(self.tx_id, self.date, output_typ, input_amount,
                           input_asset_name, acquisition_cost,
                           input_asset_name)
     self.tx_id += 1
 def withdrawal(self):
     output_typ = 'Auszahlung'
     output_amount = self.amount
     output_asset_name = self.coin
     selling_price = get_price_of_currency(
         self.date, output_asset_name, 'EUR',
         self.api_exchange) * output_amount
     self.save_withdrawal_or_fee_row(self.tx_id, self.date, output_typ,
                                     output_amount, output_asset_name,
                                     selling_price, output_asset_name)
     self.tx_id += 1