Comments (3)
This is the same as passing call_seq=‘auto’ to any of Portfolio.from_orders and Portfolio.from_signals, which reorders your orders by their value, so you can first execute the sell orders to release funds required by the buy orders. This is common for rebalancing. The reason why call_seq=‘auto’ can’t passed to Portfolio.from_order_func is because you generate orders dynamically and so the function doesn’t know how to sort your orders until it calls each order in the group, and so you must call it manually in the segment preparation function. Under the hood, auto_call_seq_ctx_nb takes information on each order in the current group and at current timestamp (that is, segment) and sorts call_seq in a way that sell orders are executed first. It doesn’t return anything because it simply changes call_seq in-place, which is an attribute of the simulation. For example, call_seq by default is [0, 1, 2] and after sorting it can be [1, 2, 0], which means that second column in the group is executed first, while first column is executed last. After you have done it, use oc.call_seq_now[oc.call_idx] to get index of the element this call corresponds to.
from vectorbt.
You can debug code in pycharm
import os
os.environ['NUMBA_DISABLE_JIT'] = '1'
# numba code
from vectorbt.
Thanks to both of you! Super clear explanation and I was actually pretty sad to not be able to debug the numba code, now I can, thank you :)
from vectorbt.
Related Issues (20)
- python 3.11 HOT 3
- import vectorbt will take forever HOT 1
- vbt.CCXTData.pull HOT 2
- Lack of compatibility with python 3.12? HOT 6
- How to view the total net value trend of the entire strategy HOT 2
- Exits do not trigger consistently when using limit orders with from_signals HOT 2
- Custom sizing in portfolio.from_signals.
- ImportError: cannot import name 'generated_jit' from 'numba' HOT 9
- portfolio stats calculation for dca strategies. not appear all buy orders only first HOT 1
- Error specifying `benchmark_rets` arg in `Portfolio.plot_cum_returns()` HOT 2
- Doc Bug report HOT 1
- how to plot the trades of each symbol in portfolio HOT 1
- slippages are not applied to stop orders HOT 1
- How to import 3rd party data HOT 1
- Open short position right after closing long position with full capital HOT 3
- Installing vectorbt on Google Colab HOT 1
- plot with 1m granularity takes forever HOT 5
- portfolio.from_signals reporting HIGH variations with fees vs no fees
- set sl/tp to be triggered on exact values
- Portfolio.stats consumes large amount of memory. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vectorbt.