| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-01-02 | 3.5 kB | |
| roboquant v3.0.0 source code.tar.gz | 2026-01-02 | 2.4 MB | |
| roboquant v3.0.0 source code.zip | 2026-01-02 | 2.6 MB | |
| Totals: 3 Items | 5.0 MB | 3 | |
What's Changed
- Signals themselves are simplified and now use a double value for the rating rather than an enum. This is better suited for more advanced (ML) type of algos.
- Removed the
Lifecycleinterface includingresetfor the components (Strategy,Trader,Broker). - Moved to Kotlin 2.x
- Order handling is simplified. For example, order-ids are always handout by the broker (during the place order method). So they are no longer assigned when creating the order. This is more inline how most brokers work.
- The technical analysis functionality is now part of the core roboquant module.
- Removed the
Roboquantclass. You can now directly use the standalone functionsrunandrunAsync.
```kotlin val strategy = EMAStrategy() val feed = CSVFeed("data/US")
// old approach // val roboquant = Roboquant(strategy) // roboquant.run(feed)
// new approach val account = run(feed, strategy) ```
- SimBroker order execution is simplified. There is a single order type by default. A bit less configurable, but much easier to roll your own implementation.
- Improved the
Brokerinterface. Only thebroker.sync()call now provides access to theaccountobject. - Simplified TiF (Time In Force) logic, for now with support for GTC and DAY.
MetricsLoggeris replaced byJournalandMetricsJournal. Journal has access to more data (also newly created orders and signals).- Hearth-beat generation for live feeds now done at consumer level via a time-out. This avoids a lot of possible errors and complications when for example nesting live feeds.
- Better naming convention for many classes/attributes. The main ones are:
- Event
actionsare now calleditems. - The
Orderclass now covers initial and in progress orders Policyis renamed toTrader, functionality stays the same- For the time being removed the machine learning module. Rethinking what frameworks to use for future ML algo trading.
- Different asset types (f.e FOREX, STOCKS, FUTURES), are now their own sub-class.
- Removed the
roboquant-binancemodule. It was using an old unsupported Binance API. And since Binance no longer operates in my country, it is difficult to move to the newer API without being able to test it. - Removed the
roboquant-xchangemodule, but might bring it back once the new approach is fully done, - Removed the
roboquant-polygonandroboquant-servermodules, wasn’t using them anymore (easy to bring back if someone wants to maintain them) - Use the new Alpaca library that is based on published OpenAPI specification.
- Simplified AvroFeed (have to see if this is not too simple). Had to drop the
feed.assetsmethod to make this possible. - Updated most of the dependencies. Only not yet moved to Kotlin 2.0 since Jupyter Notebooks are not yet supported.
- Upgraded to atest version of Maven 3. Unfortunately a bit too early for Maven 4 or Amper.
- Removed the
Summaryfunctionality. This required relative a lot of code and maintenance and now replaced by a much simpler toString() implementation. - Several bug fixes and contributions from the community, see also https://github.com/neurallayer/roboquant/pulls
New Contributors
- @AlexandreClose made their first contribution in https://github.com/neurallayer/roboquant/pull/91
- @wplong11 made their first contribution in https://github.com/neurallayer/roboquant/pull/92
Full Changelog: https://github.com/neurallayer/roboquant/compare/v2.2.0...v3.0.0