JuDO-dev / AirBorne.jl

AirBorne a complete algorithmic trading framework in Julia.
http://judo.dev/AirBorne.jl/
MIT License
1 stars 1 forks source link

Implement aggregated fees #101

Closed brunocastroibarburu94 closed 1 year ago

brunocastroibarburu94 commented 1 year ago

At the moment the fees supported are attached to each transaction. What I referrer as "transactional fees", meaning that each sell/purchase of shares (a portfolio movement) involve a certain additional cost in form of a fee.

However there may be fixed fees for having an account with a broker or fees that involve the aggregated transactions over a particular period. I.e. a fee on the number of portfolio movements of the day/week/month.

Design notes

  1. A first approach would be to establish aggregated fees for all the transactions that happen on a single execution period (under a single event)
  2. Using the ledger additional fees can be configured to use charge fees that cover periods of time with multiple events inside. I.e. A ledger entry can be created where information is being accumulated for the relevant fee, i.e. # of portfolio movements, and after a particular criterion is met (i.e., enough time has passed) the ledger entry gets executed by either changing its status to executed or by having the "active fees" ledger entries in a separate list and once executed moved to the ledger.