v1.x -Quick Roadmap


  • administrators

    A summary of what's on the table:

    Time Scheduled Functions/Callbacks [Done]

    • Functions will be called at specific times (periodical calling like ... "every 60 minutes starting at 08:30" may be considered)

    • Timezone considerations

      • The strategy shows the time UTC-like format because it it not tz bounded like the data feeds
      • pytz doesn't have a notion of local timezone. This poses a small challenged when it comes to accept times which are referring to the actual local time (it may not seem so in real time, but it is in backtesting, in which the datetime reference is marked by the data feeds being backtested)
      • And even if local time is available, it may not be the wished reference, because the traded data feed can be in a different timezone (some of the use cases show 3 timezones in play: user, data 1 and data 2)
    • The best possible place to add the scheduling seems to be in the strategy's __init__ method and as such should be a method of Strategy

    • This doesn't preclude having a global scheduling which could be entered in cerebro to control any strategy.

    Collection of numpy/pandas/statsmodel dependent indicators [Done]

    • The discussions here have given birth to some.

    • So far none has been added to the package for a good reason: backtrader was meant to be a pure Python package, in the sense that it wouldn't need any external dependencies beyond a regular Python distribution.

      (With the exception of matplotlib if plotting was wished)

    • But at some point in time and even it not based on pandas or numpy arrays, those indicators should make it into the main distribution

    Reverting Resampling/Replaying to the original model [Discarded]

    • The original mode was to create another data feed which would then deliver own bars
    • At some point in time both features were rewritten as filters manipulating the data stream, which has proven to be prone to quirks, problems and complicated code
    • It seems sensible to rewrite the functionalities again as originally envisioned

    Maybe

    • Genetic Optimization

    v2

    • Once the above items are done ... v2 can be kickstarted to try to

      • Apply the same general ideas with regards to ease of use
      • Increase speed

  • administrators

    @backtrader said in v1.x -Quick Roadmap:

    Collection of numpy/pandas/statsmodel dependent indicators

    The 1st step towards transparently supporting has been committed:

    With commit: https://github.com/mementum/backtrader/commit/1146c83d9f9832630e97daab3ec7359705dc2c77




  • administrators

    Those are not multiple strategies, because that's a default functionality of the platform. You are looking for a master-slaves (or parent-children) scheme.



  • One suggestion, even for a future release could be an integration with a data feed management system like QDMS.

    https://github.com/leo90skk/qdms



  • It would be nice to have some way to persist state of the running systems between restarts.

    One use case that I am finding difficult to implement is the ability to develop a system which "scales in" to trade positions. The system needs to track the first entry signal and any subsequent trades that may be adding to the position over some specified number of valid signals. This in itself is possible (although has led to some very messy code on my part) but it becomes impossible if the system is restarted after seeing a first signal and subsequent entries as it has lost state of the first trade.

    The other use case is to be able to track the system that created a position and be able to allow other systems to trade the same instrument without considering the position of the other system that is trading the same instrument.



  • @backtrader, then I'm look for master-slave/parent-child AND multiple strategies on one plot.


  • administrators

    @backtrader said in v1.x -Quick Roadmap:

    Reverting Resampling/Replaying to the original model

    The original mode was to create another data feed which would then deliver own bars
    At some point in time both features were rewritten as filters manipulating the data stream, which has proven to be prone to quirks, problems and complicated code
    It seems sensible to rewrite the functionalities again as originally envisioned

    This will not happen. After revision of the many changes done to the current implementation with filters, it doesn't seem sensible to try to backport them to the original data clone implementation.



  • @RandyT said in v1.x -Quick Roadmap:

    e instrument.

    To achieve this,
    AcountManager(based Acount LEVEL)/Order and Position Tracker & Recovery(based Engine LEVEL)/Strategy Position Manager(based Strategy LEVEL)
    are needed,
    just like IB:
    AccountManager:
    * AccountAdvisor
    * AccountOwner
    * Account
    PortfolioManager:
    * Portfolio
    * Position
    OrderManager:
    * Order
    * Execution


Log in to reply
 

Looks like your connection to Backtrader Community was lost, please wait while we try to reconnect.