New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify ux optimize performance of backtesting and livetrading #1148
base: master
Are you sure you want to change the base?
Simplify ux optimize performance of backtesting and livetrading #1148
Conversation
- also updated ancient dependencies
- longer barSeries may benefit from reusage of precomputed partial sums - random access fallbacks to slowPath
- longer barSeries may benefit from reusage of precomputed partial sums - random access fallbacks to slowPath
- cleaned tests - use builders - eliminated different parameter orders - enforced usage of builder that belongs to series - TODO remove constructors in BaseBar and use BaseBarBuilder
- assumed always filled hi, lo - implementation does cont with nulls and os builder does too
- no need to manually calculate endTime
…formance-bang # Conflicts: # ta4j-core/src/main/java/org/ta4j/core/indicators/SMAIndicator.java
…breaking-performance-bang # Conflicts: # ta4j-core/src/main/java/org/ta4j/core/indicators/SMAIndicator.java # ta4j-core/src/main/java/org/ta4j/core/indicators/helpers/RunningTotalIndicator.java # ta4j-core/src/test/java/org/ta4j/core/indicators/SMAIndicatorTest.java
- they work only in backtestig use case
- TODO shared cache - TODO parallelized independent indicator calculation
9db6eae
to
d5367f9
Compare
This is too big of a change set. Please break it up into discrete chunks that can stand alone as value add. |
Can't break PoC now, until results are verified. |
d203934
to
2ff9899
Compare
- FIXED calculation that is comparable to VAR() in LibreOffice now
59b61fd
to
f916824
Compare
|
||
Num variance = getBarSeries().numFactory().zero(); | ||
// cannot use RunningTotalIndicator because mean is changing each tick | ||
final Num average = this.mean.getValue(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look at https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance
Welford's online algorithm. Probably may be used to optimize redundant iterations over array.
- FIXED tests based on fixed VarianceIndicator
Fixes #1141
Fixes #1134.
Changes proposed in this pull request:
IDEAS:
Cons:
dropped serialization support
dropped mutable last bar (why trade on "unstable" candle?)
I like the final API
added tests for stability API
all tests passed
Performance requirements met
added an entry with related ticket number(s) to the unreleased section of
CHANGES.md