v1.x -Quick Roadmap
-
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 considerationsThe strategy shows the time UTC-like format because it it nottz
bounded like the data feedspytz
doesn't have a notion oflocal 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 ofStrategy
-
This doesn't preclude having a global scheduling which could be entered incerebro
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 ofmatplotlib
if plotting was wished) -
But at some point in time and even it not based onpandas
ornumpy
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 barsAt 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 codeIt 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
-
-
@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
-
Suggestion: muliple strategyies https://community.backtrader.com/topic/136/apply-multiple-strategies.
-
Those are not multiple strategies, because that's a default functionality of the platform. You are looking for a
master-slaves
(orparent-children
) scheme. -
One suggestion, even for a future release could be an integration with a data feed management system like 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.
-
@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 envisionedThis 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