Qubx 0.6.26__tar.gz → 0.6.27__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of Qubx might be problematic. Click here for more details.

Files changed (157) hide show
  1. {qubx-0.6.26 → qubx-0.6.27}/PKG-INFO +1 -1
  2. {qubx-0.6.26 → qubx-0.6.27}/pyproject.toml +1 -1
  3. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/data.py +6 -2
  4. {qubx-0.6.26 → qubx-0.6.27}/LICENSE +0 -0
  5. {qubx-0.6.26 → qubx-0.6.27}/README.md +0 -0
  6. {qubx-0.6.26 → qubx-0.6.27}/build.py +0 -0
  7. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/__init__.py +0 -0
  8. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/_nb_magic.py +0 -0
  9. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/__init__.py +0 -0
  10. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/account.py +0 -0
  11. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/broker.py +0 -0
  12. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/data.py +0 -0
  13. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/management.py +0 -0
  14. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/ome.py +0 -0
  15. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/optimization.py +0 -0
  16. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/runner.py +0 -0
  17. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/simulated_data.py +0 -0
  18. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/simulated_exchange.py +0 -0
  19. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/simulator.py +0 -0
  20. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/backtester/utils.py +0 -0
  21. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/cli/__init__.py +0 -0
  22. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/cli/commands.py +0 -0
  23. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/cli/deploy.py +0 -0
  24. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/cli/misc.py +0 -0
  25. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/cli/release.py +0 -0
  26. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/__init__.py +0 -0
  27. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/account.py +0 -0
  28. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/broker.py +0 -0
  29. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/exceptions.py +0 -0
  30. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/exchanges/__init__.py +0 -0
  31. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/exchanges/binance/broker.py +0 -0
  32. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/exchanges/binance/exchange.py +0 -0
  33. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex.py +0 -0
  34. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/exchanges/kraken/kraken.py +0 -0
  35. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/factory.py +0 -0
  36. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/reader.py +0 -0
  37. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/ccxt/utils.py +0 -0
  38. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/tardis/data.py +0 -0
  39. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/connectors/tardis/utils.py +0 -0
  40. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/__init__.py +0 -0
  41. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/account.py +0 -0
  42. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/basics.py +0 -0
  43. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/context.py +0 -0
  44. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/deque.py +0 -0
  45. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/errors.py +0 -0
  46. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/exceptions.py +0 -0
  47. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/helpers.py +0 -0
  48. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/initializer.py +0 -0
  49. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/interfaces.py +0 -0
  50. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/loggers.py +0 -0
  51. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/lookups.py +0 -0
  52. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/metrics.py +0 -0
  53. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/mixins/__init__.py +0 -0
  54. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/mixins/market.py +0 -0
  55. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/mixins/processing.py +0 -0
  56. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/mixins/subscription.py +0 -0
  57. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/mixins/trading.py +0 -0
  58. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/mixins/universe.py +0 -0
  59. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/series.pxd +0 -0
  60. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/series.pyi +0 -0
  61. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/series.pyx +0 -0
  62. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/utils.pyi +0 -0
  63. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/core/utils.pyx +0 -0
  64. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/data/__init__.py +0 -0
  65. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/data/composite.py +0 -0
  66. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/data/helpers.py +0 -0
  67. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/data/hft.py +0 -0
  68. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/data/readers.py +0 -0
  69. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/data/registry.py +0 -0
  70. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/data/tardis.py +0 -0
  71. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/emitters/__init__.py +0 -0
  72. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/emitters/base.py +0 -0
  73. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/emitters/composite.py +0 -0
  74. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/emitters/csv.py +0 -0
  75. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/emitters/prometheus.py +0 -0
  76. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/emitters/questdb.py +0 -0
  77. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/exporters/__init__.py +0 -0
  78. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/exporters/composite.py +0 -0
  79. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/exporters/formatters/__init__.py +0 -0
  80. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/exporters/formatters/base.py +0 -0
  81. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/exporters/formatters/incremental.py +0 -0
  82. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/exporters/formatters/slack.py +0 -0
  83. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/exporters/redis_streams.py +0 -0
  84. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/exporters/slack.py +0 -0
  85. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/features/__init__.py +0 -0
  86. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/features/core.py +0 -0
  87. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/features/orderbook.py +0 -0
  88. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/features/price.py +0 -0
  89. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/features/trades.py +0 -0
  90. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/features/utils.py +0 -0
  91. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/gathering/simplest.py +0 -0
  92. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/health/__init__.py +0 -0
  93. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/health/base.py +0 -0
  94. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/math/__init__.py +0 -0
  95. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/math/stats.py +0 -0
  96. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/notifications/__init__.py +0 -0
  97. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/notifications/composite.py +0 -0
  98. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/notifications/slack.py +0 -0
  99. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/pandaz/__init__.py +0 -0
  100. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/pandaz/ta.py +0 -0
  101. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/pandaz/utils.py +0 -0
  102. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/resources/_build.py +0 -0
  103. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/resources/instruments/symbols-binance.cm.json +0 -0
  104. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/resources/instruments/symbols-binance.json +0 -0
  105. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/resources/instruments/symbols-binance.um.json +0 -0
  106. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/resources/instruments/symbols-bitfinex.f.json +0 -0
  107. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/resources/instruments/symbols-bitfinex.json +0 -0
  108. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/resources/instruments/symbols-kraken.f.json +0 -0
  109. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/resources/instruments/symbols-kraken.json +0 -0
  110. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restarts/__init__.py +0 -0
  111. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restarts/state_resolvers.py +0 -0
  112. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restarts/time_finders.py +0 -0
  113. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restorers/__init__.py +0 -0
  114. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restorers/balance.py +0 -0
  115. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restorers/factory.py +0 -0
  116. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restorers/interfaces.py +0 -0
  117. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restorers/position.py +0 -0
  118. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restorers/signal.py +0 -0
  119. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restorers/state.py +0 -0
  120. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/restorers/utils.py +0 -0
  121. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/ta/__init__.py +0 -0
  122. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/ta/indicators.pxd +0 -0
  123. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/ta/indicators.pyi +0 -0
  124. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/ta/indicators.pyx +0 -0
  125. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/trackers/__init__.py +0 -0
  126. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/trackers/advanced.py +0 -0
  127. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/trackers/composite.py +0 -0
  128. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/trackers/rebalancers.py +0 -0
  129. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/trackers/riskctrl.py +0 -0
  130. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/trackers/sizers.py +0 -0
  131. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/__init__.py +0 -0
  132. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/_pyxreloader.py +0 -0
  133. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/charting/lookinglass.py +0 -0
  134. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/charting/mpl_helpers.py +0 -0
  135. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/collections.py +0 -0
  136. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/marketdata/binance.py +0 -0
  137. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/marketdata/ccxt.py +0 -0
  138. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/marketdata/dukas.py +0 -0
  139. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/misc.py +0 -0
  140. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/ntp.py +0 -0
  141. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/numbers_utils.py +0 -0
  142. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/orderbook.py +0 -0
  143. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/plotting/__init__.py +0 -0
  144. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/plotting/dashboard.py +0 -0
  145. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/plotting/data.py +0 -0
  146. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/plotting/interfaces.py +0 -0
  147. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/plotting/renderers/__init__.py +0 -0
  148. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/plotting/renderers/plotly.py +0 -0
  149. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/questdb.py +0 -0
  150. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/runner/__init__.py +0 -0
  151. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/runner/_jupyter_runner.pyt +0 -0
  152. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/runner/accounts.py +0 -0
  153. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/runner/configs.py +0 -0
  154. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/runner/factory.py +0 -0
  155. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/runner/runner.py +0 -0
  156. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/time.py +0 -0
  157. {qubx-0.6.26 → qubx-0.6.27}/src/qubx/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: Qubx
3
- Version: 0.6.26
3
+ Version: 0.6.27
4
4
  Summary: Qubx - Quantitative Trading Framework
5
5
  Author: Dmitry Marienko
6
6
  Author-email: dmitry.marienko@xlydian.com
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "Qubx"
7
- version = "0.6.26"
7
+ version = "0.6.27"
8
8
  description = "Qubx - Quantitative Trading Framework"
9
9
  authors = [ "Dmitry Marienko <dmitry.marienko@xlydian.com>", "Yuriy Arabskyy <yuriy.arabskyy@xlydian.com>",]
10
10
  readme = "README.md"
@@ -574,9 +574,13 @@ class CcxtDataProvider(IDataProvider):
574
574
  ob = ccxt_convert_orderbook(ccxt_ob, instrument, levels=depth, tick_size_pct=tick_size_pct)
575
575
  if ob is None:
576
576
  return
577
+
577
578
  self._health_monitor.record_data_arrival(sub_type, dt_64(ob.time, "ns"))
578
- quote = ob.to_quote()
579
- self._last_quotes[instrument] = quote
579
+
580
+ if not self.has_subscription(instrument, DataType.QUOTE):
581
+ quote = ob.to_quote()
582
+ self._last_quotes[instrument] = quote
583
+
580
584
  channel.send((instrument, sub_type, ob, False))
581
585
 
582
586
  async def un_watch_orderbook(instruments: list[Instrument]):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes