Skip to content

Releases: MathisWellmann/trade_aggregation-rs

11.0.0 release

10 Apr 10:21
Compare
Choose a tag to compare

Changes:

  • Check the candle trigger condition first, before updating the candle (#13 )
  • New method unfinished_candle added to Aggregator (#14)
  • trigger AlignedTimeRule when timestamp is equal to trigger timestamp as well. (#17)

Thanks to @ivaaaan for his contributions.

9.1: Entropy CandleComponent

19 May 20:53
3599096
Compare
Choose a tag to compare

Add the Entropy CandleComponent which is the binary shannon entropy using the trade side as inputs.

9.0: Generic `CandleComponent` value

17 May 18:53
05cb4d5
Compare
Choose a tag to compare

Thanks to @dam5h , this crate now support a generic type as the value of a CandleComponent, for much greater user flexibility.
Two new CandleComponent's exist now:

  • OpenDateTime: Keep track of the opening DateTime<Utc> of a candle
  • OpenTimestamp: Keep track of the opening timestamp of a candle

Beyond that the TakerTrade is now able to specify the timestamp_resolution for greater user flexibility.

Exciting stuff, happy building everyone!

Breaking change to the `GenericAggregator`

29 Apr 13:17
ff766c0
Compare
Choose a tag to compare

To avoid the occasional degenerate candles when using the RelativePrice aggregation rule, the GenericAggregator will now include the Trade that triggers the new candle in both the finished and new candle, such that the Open and Close prices will be correct for that particular aggregation mode. This is breaking but will have a negligible effect on the candle appearances. Nonetheless please evaluate the new aggregation logic in GenericAggregator carefully. In the future it may be expanded with a parameter to optionally exclude the Trade that triggers a new candle in the old candle if desired (note that this could lead to a not desired Close in the RelativePrice aggregation).
Anyways, thanks for choosing trade_aggregation as your crate of choice :D

New AggregationRule s

30 Oct 15:34
Compare
Choose a tag to compare

With the version 7.1 release, this crate introduces two new (AggregationRule)s.
First the TickRule triggers the candle creation every n tick (trades).
The second new AlignedTimeRule is similar to the TimeRule but additionally makes sure the candles are aligned to the start of the period.

A thank you goes out to @dam5h for creating the AlignedTimeRule.

Happy algotrading everyone!

More flexible Aggregator, by making it generic over input Trade data

31 Aug 17:04
Compare
Choose a tag to compare

This major release adds more convenience for downstream projects that have their own type of trade data that they wish to aggregate.
This is achieved by making the input trade data generic, where each type must implement the new "TakerTrade" trait.
Older code bases can trivially upgrade as the existing "Trade" struct implement this new trait, so usually only a single LOC needs to change.

Many thanks to @dam5h for the idea and the clean execution.

Major v4 Release

15 Aug 16:27
Compare
Choose a tag to compare

The 4th version of this crate introduces the 'GenericAggregator' which is generic over the type of Candle being produced as well as by which rules they are created., e.g. time, volume or other information driven rule.
Candles consist of types that implement the 'CandleComponent' trait and utilize the new 'Candle' derive macro to glue things together. This automatically implements the 'ModularCandle' trait, which enables users to define candles to be produced during the aggregation process.
It also generates getter methods with the name of the component inside the candle.
The rules dictating the conditions under which a Candle is emitted implement the 'AggregationRule' trait, which allows users to easily plug in their own logic for triggering candle creation beyond the time or volume rules.
This is all done in basically two lines of code (except the actual candle definition, where the LOC grow linearly with the number of components in it obviously).

All these changes make for the most flexible, modular and high performance trade aggregation crate out there, benchmarks and tests included.

Happy Trading!