Skip to content

calculating balance #8

@daliel

Description

@daliel

I don't understand your math.
my vision for calculating the balance is this:

if action == 2: # buy
    buy_order_size = order_size
    next_state.allocation_percentage = last_state.allocation_percentage + (1 - last_state.allocation_percentage) * buy_order_size
    asset = last_state.balance * buy_order_size / last_state.close
    next_state.assets = last_state.assets + asset
    balance = last_state.balance * buy_order_size
    next_state.balance = last_state.balance - balance - (balance * self.fee_ratio)

elif action == 1: # sell
    sell_order_size = order_size
    next_state.allocation_percentage = last_state.allocation_percentage - last_state.allocation_percentage * sell_order_size
    balance = last_state.assets * sell_order_size * last_state.close
    next_state.balance = last_state.balance + balance - (balance * self.fee_ratio)
    next_state.assets = last_state.assets - last_state.assets * sell_order_size

maybe this is valid only for BTCUSDT on binance

after all, the exchange receives a percentage of all transactions, and in your code only a percentage of transactions is taken away, and not the purchase/sale cost
it is logical to assume that the transaction will be profitable if the sell_price / buy_price - 1 > fee_ratio

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions