Qubx 0.6.66__cp312-cp312-manylinux_2_39_x86_64.whl → 0.6.67__cp312-cp312-manylinux_2_39_x86_64.whl

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.

@@ -533,8 +533,16 @@ class CcxtDataProvider(IDataProvider):
533
533
  instrument = ccxt_find_instrument(exch_symbol, self._exchange, _symbol_to_instrument)
534
534
  for _, ohlcvs in _data.items():
535
535
  for oh in ohlcvs:
536
- timestamp_ns = oh[0] * 1_000_000
537
- self._health_monitor.record_data_arrival(sub_type, dt_64(timestamp_ns, "ns"))
536
+ timestamp = self.time_provider.time()
537
+ bar_timestamp = dt_64(oh[0] * 1_000_000, "ns")
538
+
539
+ if pd.Timestamp(bar_timestamp).floor(timeframe) != pd.Timestamp(timestamp).floor(timeframe):
540
+ # - if the bar time refers to the previuos bar as current timestamp, then send it with a timestamp of 1ms before end of bar
541
+ timestamp = dt_64(pd.Timestamp(timestamp).floor(timeframe) - pd.Timedelta("1ms"), "ns")
542
+
543
+ timestamp_ns = timestamp.astype("datetime64[ns]").item()
544
+
545
+ self._health_monitor.record_data_arrival(sub_type, timestamp)
538
546
  channel.send(
539
547
  (
540
548
  instrument,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: Qubx
3
- Version: 0.6.66
3
+ Version: 0.6.67
4
4
  Summary: Qubx - Quantitative Trading Framework
5
5
  Author: Dmitry Marienko
6
6
  Author-email: dmitry.marienko@xlydian.com
@@ -22,7 +22,7 @@ qubx/cli/tui.py,sha256=N15UiNEdnWOWYh8E9DNlQCDWdoyP6rMGMhEItogPW88,16491
22
22
  qubx/connectors/ccxt/__init__.py,sha256=HEQ7lM9HS8sED_zfsAHrhFT7F9E7NFGAecwZwNr-TDE,65
23
23
  qubx/connectors/ccxt/account.py,sha256=HILqsSPfor58NrlP0qYwO5lkNZzUBG-SR5Hy1OSa7_M,24308
24
24
  qubx/connectors/ccxt/broker.py,sha256=Hg2tC3qKPYAURGro9ONzzR7QaiI41oytyKqQlpcM5Zw,16175
25
- qubx/connectors/ccxt/data.py,sha256=iCt-mdtetUlMaTIo3qwbUIXjyfx67c0HMIYFHyIZtag,35482
25
+ qubx/connectors/ccxt/data.py,sha256=B_Y7Ms0boZUjiYBWkrXlxNoKpRJ9YkqXJfrCTGxp_Pw,36011
26
26
  qubx/connectors/ccxt/exceptions.py,sha256=OfZc7iMdEG8uLorcZta2NuEuJrSIqi0FG7IICmwF54M,262
27
27
  qubx/connectors/ccxt/exchanges/__init__.py,sha256=dEBkyeiGEQgfyuGVhhx4ZTRIlU9e_H1m6K2ROXRpIi8,1884
28
28
  qubx/connectors/ccxt/exchanges/binance/broker.py,sha256=BB2V82zaOm1EjP3GrsOqQQMeGpml6-w23iv7goKrjyU,2111
@@ -54,12 +54,12 @@ qubx/core/mixins/processing.py,sha256=EHuyWXJHP4JdwS3U8apNXNJa-3PEalxK8nyEStGj1s
54
54
  qubx/core/mixins/subscription.py,sha256=V_g9wCPQ8S5SHkU-qOZ84cV5nReAUrV7DoSNAGG0LPY,10372
55
55
  qubx/core/mixins/trading.py,sha256=kjkGK66JnWjhprnyyI20BFPz16dpCJRpGYYp3JOQvZI,8634
56
56
  qubx/core/mixins/universe.py,sha256=mzZJA7Me6HNFbAMGg1XOpnYCMtcFKHESTiozjaXyKXY,10100
57
- qubx/core/series.cpython-312-x86_64-linux-gnu.so,sha256=Sqvj89ViG2h4B2r3O9DdVus9XtQZWrLhEYY9wIOcq6c,994760
57
+ qubx/core/series.cpython-312-x86_64-linux-gnu.so,sha256=BT71hDJwuVW3FNdG5U-XyWD_07HHV9nWuML1XhzgscI,994760
58
58
  qubx/core/series.pxd,sha256=aI5PG1hbr827xwcnSYgGMF2IBD4GvCRby_i9lrGrJdQ,4026
59
59
  qubx/core/series.pyi,sha256=AHROxA9wer3W2ehgI08wPpDVc4gPkGbzvmkkA4K60Ts,4821
60
60
  qubx/core/series.pyx,sha256=w7XtvAHPnov0Twov9c-xdhgQARVbSrTiIVi1Axo2VWQ,47925
61
61
  qubx/core/stale_data_detector.py,sha256=NHnnG9NkcivC93n8QMwJUzFVQv2ziUaN-fg76ppng_c,17118
62
- qubx/core/utils.cpython-312-x86_64-linux-gnu.so,sha256=drgrh76p1XkJ1xp7ml-JWxCfk5jjR_ZISH4E4WhhIz0,86568
62
+ qubx/core/utils.cpython-312-x86_64-linux-gnu.so,sha256=PhLgfEFc1xTFiDe__Hj3YOxbuE2t9nKBnf5wbPd3xE8,86568
63
63
  qubx/core/utils.pyi,sha256=a-wS13V2p_dM1CnGq40JVulmiAhixTwVwt0ah5By0Hc,348
64
64
  qubx/core/utils.pyx,sha256=UR9achMR-LARsztd2eelFsDsFH3n0gXACIKoGNPI9X4,1766
65
65
  qubx/data/__init__.py,sha256=BlyZ99esHLDmFA6ktNkuIce9RZO99TA1IMKWe94aI8M,599
@@ -133,7 +133,7 @@ qubx/restorers/signal.py,sha256=7n7eeRhWGUBPbg179GxFH_ifywcl3pQJbwrcDklw0N0,1460
133
133
  qubx/restorers/state.py,sha256=I1VIN0ZcOjigc3WMHIYTNJeAAbN9YB21MDcMl04ZWmY,8018
134
134
  qubx/restorers/utils.py,sha256=We2gfqwQKWziUYhuUnjb-xo-5tSlbuHWpPQn0CEMTn0,1155
135
135
  qubx/ta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
- qubx/ta/indicators.cpython-312-x86_64-linux-gnu.so,sha256=KPFIK2TLiFXN4ZEVtAZhIkSecDN2PqWRz2GjO_vLiJM,662632
136
+ qubx/ta/indicators.cpython-312-x86_64-linux-gnu.so,sha256=QqPMAuurIAc0V5AoW_YXJRWIyAsyYWDkd7MTlOOyXB8,662632
137
137
  qubx/ta/indicators.pxd,sha256=Goo0_N0Xnju8XGo3Xs-3pyg2qr_0Nh5C-_26DK8U_IE,4224
138
138
  qubx/ta/indicators.pyi,sha256=19W0uERft49In5bf9jkJHkzJYEyE9gzudN7_DJ5Vdv8,1963
139
139
  qubx/ta/indicators.pyx,sha256=Xgpew46ZxSXsdfSEWYn3A0Q35MLsopB9n7iyCsXTufs,25969
@@ -170,8 +170,8 @@ qubx/utils/runner/factory.py,sha256=eM4-Etcq-FewD2AjH_srFGzP413pm8er95KIZixXRpM,
170
170
  qubx/utils/runner/runner.py,sha256=HhaUV5p2COg3L_hq-QPzyXf3dZpwIUv3LNmYLFjwgIo,31793
171
171
  qubx/utils/time.py,sha256=lLWBQwdJDUcff336dpaitCMLncZou_YBcA1EkHi7WFs,11823
172
172
  qubx/utils/version.py,sha256=e52fIHyxzCiIuH7svCF6pkHuDlqL64rklqz-2XjWons,5309
173
- qubx-0.6.66.dist-info/LICENSE,sha256=qwMHOSJ2TD0nx6VUJvFhu1ynJdBfNozRMt6tnSul-Ts,35140
174
- qubx-0.6.66.dist-info/METADATA,sha256=o6hhU5eMd6JSjGDpdtT7uLn_B_qo-tcNTLYfPIPCIHs,4612
175
- qubx-0.6.66.dist-info/WHEEL,sha256=UckHTmFUCaLKpi4yFY8Dewu0c6XkY-KvEAGzGOnaWo8,110
176
- qubx-0.6.66.dist-info/entry_points.txt,sha256=VqilDTe8mVuV9SbR-yVlZJBTjbkHIL2JBgXfQw076HY,47
177
- qubx-0.6.66.dist-info/RECORD,,
173
+ qubx-0.6.67.dist-info/LICENSE,sha256=qwMHOSJ2TD0nx6VUJvFhu1ynJdBfNozRMt6tnSul-Ts,35140
174
+ qubx-0.6.67.dist-info/METADATA,sha256=Iu9qjSKalrOtBpiQULh1SOkBOl8-mzcB0wYhpwHeSa0,4612
175
+ qubx-0.6.67.dist-info/WHEEL,sha256=UckHTmFUCaLKpi4yFY8Dewu0c6XkY-KvEAGzGOnaWo8,110
176
+ qubx-0.6.67.dist-info/entry_points.txt,sha256=VqilDTe8mVuV9SbR-yVlZJBTjbkHIL2JBgXfQw076HY,47
177
+ qubx-0.6.67.dist-info/RECORD,,
File without changes
File without changes