quant1x 0.7.60__tar.gz → 0.7.62.dev2__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.
Files changed (250) hide show
  1. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/CHANGELOG.md +25 -1
  2. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/CMakeLists.txt +22 -5
  3. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/Cargo.lock +1 -1
  4. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/Cargo.toml +1 -1
  5. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/PKG-INFO +6 -5
  6. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/README.md +4 -4
  7. quant1x-0.7.62.dev2/proto/snapshot.capnp.c++ +1078 -0
  8. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/pyproject.toml +2 -1
  9. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/_version.py +3 -3
  10. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/build-info.h.in +0 -2
  11. quant1x-0.7.62.dev2/quant1x/learn/regime/README.md +150 -0
  12. quant1x-0.7.62.dev2/quant1x/learn/regime/plot_results.py +181 -0
  13. quant1x-0.7.62.dev2/quant1x/learn/regime/regime_switching_framework.py +1012 -0
  14. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.egg-info/PKG-INFO +6 -5
  15. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.egg-info/SOURCES.txt +4 -0
  16. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.egg-info/requires.txt +1 -0
  17. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.egg-info/scm_file_list.json +513 -474
  18. quant1x-0.7.62.dev2/quant1x.egg-info/scm_version.json +8 -0
  19. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/rust-toolchain.toml +1 -1
  20. quant1x-0.7.62.dev2/vcpkg.json +55 -0
  21. quant1x-0.7.60/quant1x.egg-info/scm_version.json +0 -8
  22. quant1x-0.7.60/vcpkg.json +0 -19
  23. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/.clang-format +0 -0
  24. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/.clang-tidy +0 -0
  25. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/.clock_state +0 -0
  26. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/.editorconfig +0 -0
  27. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/.gitattributes +0 -0
  28. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/.gitignore +0 -0
  29. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/.vscode/c_cpp_properties.json +0 -0
  30. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/.vscode/settings.json +0 -0
  31. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/AGENTS.md +0 -0
  32. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/CONTRIBUTING.md +0 -0
  33. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/LICENSE +0 -0
  34. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/MANIFEST.in +0 -0
  35. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/b2c.py +0 -0
  36. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/labs/akshare.ipynb +0 -0
  37. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/labs/qlib.ipynb +0 -0
  38. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/labs/quant1x.ipynb +0 -0
  39. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/logo.png +0 -0
  40. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/main.cpp +0 -0
  41. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/main.go +0 -0
  42. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/main.py +0 -0
  43. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/main.rs +0 -0
  44. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/proto/chips.proto +0 -0
  45. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/proto/snapshot.capnp +0 -0
  46. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/proto/test-snapshot.py +0 -0
  47. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/proto/trans.proto +0 -0
  48. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/proto/xdxr.proto +0 -0
  49. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/publish.bat +0 -0
  50. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/publish.ps1 +0 -0
  51. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/publish.sh +0 -0
  52. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/__init__.py +0 -0
  53. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/__init__.py +0 -0
  54. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/bits.py +0 -0
  55. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/cache/market.dat +0 -0
  56. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/clock.py +0 -0
  57. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/dataclass_utils.py +0 -0
  58. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/embed.go.copy +0 -0
  59. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/except.py +0 -0
  60. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/filesystem.py +0 -0
  61. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/numeric.md +0 -0
  62. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/numeric.py +0 -0
  63. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/pattern.py +0 -0
  64. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/singleton.py +0 -0
  65. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/strings.md +0 -0
  66. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/strings.py +0 -0
  67. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/system.py +0 -0
  68. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/base/time.py +0 -0
  69. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/config/__init__.py +0 -0
  70. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/config/config.py +0 -0
  71. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/__init__.py +0 -0
  72. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/__init__.py +0 -0
  73. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/em/em_dividend.py +0 -0
  74. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/__init__.py +0 -0
  75. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/_constants.py +0 -0
  76. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/bar.py +0 -0
  77. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/bar_raw.py +0 -0
  78. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/client.py +0 -0
  79. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/command.py +0 -0
  80. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/config.py +0 -0
  81. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/datasource.py +0 -0
  82. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/financial_report.py +0 -0
  83. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/helpers.py +0 -0
  84. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/instruments.py +0 -0
  85. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/__init__.py +0 -0
  86. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/auction.py +0 -0
  87. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/ext/__init__.py +0 -0
  88. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/ext/ext-category.md +0 -0
  89. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/ext/hk_f10.py +0 -0
  90. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/ext/xdxr_hkex.py +0 -0
  91. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/fund.py +0 -0
  92. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/__init__.py +0 -0
  93. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/block.py +0 -0
  94. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/block_meta.py +0 -0
  95. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/finance_info.py +0 -0
  96. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/heartbeat.py +0 -0
  97. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/hello.py +0 -0
  98. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/minute_time.py +0 -0
  99. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/security_bars.py +0 -0
  100. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/security_count.py +0 -0
  101. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/security_list.py +0 -0
  102. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/security_quote.md +0 -0
  103. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/security_quote.py +0 -0
  104. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/transaction.py +0 -0
  105. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/level1/std/xdxr_info.py +0 -0
  106. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/market.py +0 -0
  107. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/money.py +0 -0
  108. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/notice.py +0 -0
  109. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/protocol.py +0 -0
  110. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/sector.py +0 -0
  111. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/share_holder.py +0 -0
  112. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/trans.py +0 -0
  113. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/contrib/data/tdx/xdxr.py +0 -0
  114. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/core/__init__.py +0 -0
  115. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/core/base.py +0 -0
  116. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/core/decode.py +0 -0
  117. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/core/defaults.py +0 -0
  118. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/__init__.py +0 -0
  119. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/adapter.py +0 -0
  120. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/base.py +0 -0
  121. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/cache.py +0 -0
  122. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/datasource.py +0 -0
  123. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/f10.py +0 -0
  124. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/margin_trading.py +0 -0
  125. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/market.py +0 -0
  126. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/__init__.py +0 -0
  127. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/asset_class.py +0 -0
  128. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/calendar.py +0 -0
  129. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/exchange.py +0 -0
  130. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/forex.py +0 -0
  131. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/frequency.py +0 -0
  132. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/fund.md +0 -0
  133. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/fund.py +0 -0
  134. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/instrument.py +0 -0
  135. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/layout.py +0 -0
  136. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/region.py +0 -0
  137. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/session.md +0 -0
  138. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/session.py +0 -0
  139. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/sina/__init__.py +0 -0
  140. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/sina/decoder.py +0 -0
  141. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/ticker_rules/__init__.py +0 -0
  142. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/ticker_rules/market_bse.py +0 -0
  143. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/ticker_rules/market_hkex.py +0 -0
  144. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/ticker_rules/market_sse.py +0 -0
  145. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/ticker_rules/market_szse.py +0 -0
  146. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/ticker_rules/market_usa.py +0 -0
  147. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/ticker_rules/rule.py +0 -0
  148. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/meta/timestamp.py +0 -0
  149. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/README.md +0 -0
  150. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/__init__.py +0 -0
  151. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/adjustment.md +0 -0
  152. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/adjustment.py +0 -0
  153. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/bar.md +0 -0
  154. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/bar.py +0 -0
  155. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/company.md +0 -0
  156. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/company.py +0 -0
  157. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/dividend.md +0 -0
  158. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/dividend.py +0 -0
  159. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/sector.md +0 -0
  160. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/sector.py +0 -0
  161. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/trade.md +0 -0
  162. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/schema/trade.py +0 -0
  163. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/status.py +0 -0
  164. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/storage/__init__.py +0 -0
  165. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/storage/csv.py +0 -0
  166. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/storage/storage.md +0 -0
  167. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/data/storage/storage.py +0 -0
  168. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/device.py +0 -0
  169. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/devp.py +0 -0
  170. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/__init__.py +0 -0
  171. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/binary/README.md +0 -0
  172. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/binary/cstruct/FORK.md +0 -0
  173. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/binary/cstruct/LICENSE +0 -0
  174. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/binary/cstruct/README.md +0 -0
  175. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/binary/struc/LICENSE +0 -0
  176. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/binary/struc/README.md +0 -0
  177. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/json.md +0 -0
  178. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/encoding/yaml.py +0 -0
  179. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/factors/__init__.py +0 -0
  180. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/factors/f10.py +0 -0
  181. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/factors/financial_report.py +0 -0
  182. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/factors/notice.py +0 -0
  183. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/factors/safety_score.py +0 -0
  184. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/factors/share_holder.py +0 -0
  185. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/formula/README-MyTT.md +0 -0
  186. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/formula/__init__.py +0 -0
  187. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/formula/formula.ipynb +0 -0
  188. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/formula/formula.py +0 -0
  189. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/formula/formula_plus.py +0 -0
  190. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/README.md +0 -0
  191. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/__init__.py +0 -0
  192. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/cdtd.md +0 -0
  193. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/cdtd.py +0 -0
  194. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/f89k.md +0 -0
  195. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/f89k.py +0 -0
  196. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/hjk.md +0 -0
  197. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/hjk.py +0 -0
  198. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/ma1x.md +0 -0
  199. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/ma1x.py +0 -0
  200. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/p2fb.md +0 -0
  201. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/p2fb.py +0 -0
  202. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/indicators/winner.md +0 -0
  203. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/io/__init__.py +0 -0
  204. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/io/connection_pool.md +0 -0
  205. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/io/connection_pool.py +0 -0
  206. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/io/csv-reader.LICENSE +0 -0
  207. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/io/csv-reader.md +0 -0
  208. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/io/endpoint.py +0 -0
  209. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/io/operation_handler.py +0 -0
  210. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/learn/fpgrowth/README.md +0 -0
  211. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/learn/fpgrowth/fp_growth.md +0 -0
  212. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/learn/fpgrowth/fp_growth_example.py +0 -0
  213. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/log/__init__.py +0 -0
  214. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/log/logger.py +0 -0
  215. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/log4rs.yaml +0 -0
  216. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/net/__init__.py +0 -0
  217. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/net/conn.py +0 -0
  218. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/net/endpoint.py +0 -0
  219. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/net/handler.py +0 -0
  220. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/net/tcp_client_pool.py +0 -0
  221. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/network.py +0 -0
  222. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/proto/README.md +0 -0
  223. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/proto/security_info.proto +0 -0
  224. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/proto/snapshot.capnp.c++ +0 -0
  225. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/resources/README.md +0 -0
  226. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/resources/meta/tdxhy.inc +0 -0
  227. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/resources/meta/tdxzs.inc +0 -0
  228. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/resources/meta/tdxzs3.inc +0 -0
  229. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/runtime/__init__.py +0 -0
  230. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/runtime/once.py +0 -0
  231. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/runtime/ringbuffer.md +0 -0
  232. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/runtime/scheduler.md +0 -0
  233. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/runtime/scheduler.py +0 -0
  234. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/ta/README.md +0 -0
  235. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/tools/inspect_blocks.py +0 -0
  236. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/types.py +0 -0
  237. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/util/SimHei.ttf +0 -0
  238. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/util/__init__.py +0 -0
  239. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/util/chart.py +0 -0
  240. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/util/font.py +0 -0
  241. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/util/util-font.ipynb +0 -0
  242. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x/version.py +0 -0
  243. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.cer +0 -0
  244. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.egg-info/dependency_links.txt +0 -0
  245. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.egg-info/not-zip-safe +0 -0
  246. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.egg-info/top_level.txt +0 -0
  247. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/quant1x.pfx +0 -0
  248. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/requirements.txt +0 -0
  249. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/setup.cfg +0 -0
  250. {quant1x-0.7.60 → quant1x-0.7.62.dev2}/test_loop.sh +0 -0
@@ -3,11 +3,34 @@ All notable changes to this project will be documented in this file.
3
3
 
4
4
  ## [Unreleased]
5
5
 
6
+ ## [0.7.61] - 2026-08-12
7
+ ### Changed
8
+ - rust: 修改最低版本为1.97.1
9
+ - python: 新增定时任务依赖库
10
+ - c++: 适配arm架构
11
+ - c++: vcpkg适配arm架构
12
+ - 修复 macOS arm64 (Apple Silicon) 编译兼容性
13
+
14
+ - cmake/simd.cmake: arm64 分支去掉 -mavx/-mavx2,保留 -march=native
15
+ - CMakeLists.txt: VCPKG_TARGET_TRIPLET 设置加 FORCE 覆盖缓存;unofficial-minizip 版本变量判空兜底
16
+ - quant1x/runtime/ringbuffer.h: arm64 用 yield 指令替代 x86 _mm_pause()
17
+ - quant1x/proto/snapshot.capnp.h: 用 Cap'n Proto 1.5.0 重新生成
18
+ - tests/tdd-rolling.cpp: AVX2 代码用 #ifdef __AVX2__ 守卫
19
+ - tests/tdd-datasets.cpp: SSE/AVX 内联函数用 #ifdef 守卫
20
+ - c++: 升级ASIO版本到1.38.2
21
+ - c++: 升级BS::thread_pool版本到5.1.0
22
+ - c++: 升级xsimd到14.3.0
23
+ - c++: 更新date库
24
+ - c++: 调整编译配置
25
+ - c++: 调整依赖库版本
26
+ - python: Regime Switching 的多因子量化框架
27
+
6
28
  ## [0.7.60] - 2026-07-28
7
29
  ### Changed
8
30
  - docs: 修复 README MD025 多顶级标题告警
9
31
 
10
32
  将 5 个 # N. 章节标题及全部子标题逐级降一级, 全文仅保留一个 H1
33
+ - release v0.7.60
11
34
 
12
35
  ## [0.7.59] - 2026-07-28
13
36
  ### Changed
@@ -2160,7 +2183,8 @@ frequency聚合k线
2160
2183
  - 链接 python win64版本的简易交易客户端
2161
2184
 
2162
2185
 
2163
- [Unreleased]: https://gitee.com/quant1x/quant1x.git/compare/v0.7.60...HEAD
2186
+ [Unreleased]: https://gitee.com/quant1x/quant1x.git/compare/v0.7.61...HEAD
2187
+ [0.7.61]: https://gitee.com/quant1x/quant1x.git/compare/v0.7.60...v0.7.61
2164
2188
  [0.7.60]: https://gitee.com/quant1x/quant1x.git/compare/v0.7.59...v0.7.60
2165
2189
  [0.7.59]: https://gitee.com/quant1x/quant1x.git/compare/v0.7.58...v0.7.59
2166
2190
  [0.7.58]: https://gitee.com/quant1x/quant1x.git/compare/v0.7.57...v0.7.58
@@ -83,7 +83,11 @@ if (WIN32)
83
83
  elseif (UNIX AND NOT APPLE)
84
84
  set(VCPKG_TARGET_TRIPLET "x64-linux" CACHE STRING "Default Triplet for Linux")
85
85
  elseif (APPLE)
86
- set(VCPKG_TARGET_TRIPLET "x64-osx" CACHE STRING "Default Triplet for macOS")
86
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64")
87
+ set(VCPKG_TARGET_TRIPLET "arm64-osx" CACHE STRING "Default Triplet for macOS" FORCE)
88
+ else ()
89
+ set(VCPKG_TARGET_TRIPLET "x64-osx" CACHE STRING "Default Triplet for macOS" FORCE)
90
+ endif ()
87
91
  else ()
88
92
  message(status "other...")
89
93
  endif ()
@@ -162,10 +166,25 @@ message(STATUS "================== 基础功能库 ==================")
162
166
  include(cmake/openssl.cmake)
163
167
 
164
168
  # zlib
169
+ # vcpkg x64-mingw-static 生成的 zlib 库为 libzs.a, CMake 内置 FindZLIB 搜索
170
+ # 库名为 z/zlib/zdll, 不匹配 zs, 需在 find_package 前显式指定 ZLIB_LIBRARY
171
+ if(DEFINED VCPKG_LIBS_PATH)
172
+ set(ZLIB_LIBRARY "${VCPKG_LIBS_PATH}/lib/libzs.a" CACHE FILEPATH "zlib library" FORCE)
173
+ set(ZLIB_INCLUDE_DIR "${VCPKG_LIBS_PATH}/include" CACHE PATH "zlib include dir" FORCE)
174
+ endif()
165
175
  find_package(ZLIB REQUIRED)
166
176
  target_link_libraries(third_libs INTERFACE ZLIB::ZLIB)
167
177
  echo_lib_version(ZLIB ${ZLIB_VERSION})
168
178
 
179
+ # minizip
180
+ find_package(minizip CONFIG REQUIRED)
181
+ target_link_libraries(third_libs INTERFACE $<IF:$<TARGET_EXISTS:MINIZIP::minizip>,MINIZIP::minizip,MINIZIP::minizipstatic>)
182
+ if(DEFINED minizip_VERSION AND NOT minizip_VERSION STREQUAL "")
183
+ echo_lib_version(minizip ${minizip_VERSION})
184
+ else()
185
+ echo_lib_version(minizip "unknown")
186
+ endif()
187
+
169
188
  # libiconv
170
189
  include(cmake/iconv.cmake)
171
190
 
@@ -236,10 +255,6 @@ if (MSVC)
236
255
  endif ()
237
256
  endif ()
238
257
 
239
- find_package(unofficial-minizip CONFIG REQUIRED)
240
- target_link_libraries(third_libs INTERFACE unofficial::minizip::minizip)
241
- echo_lib_version(unofficial-minizip ${unofficial-minizip_VERSION})
242
-
243
258
  message(STATUS "================== 底层 工具库 ==================")
244
259
  # ASIO
245
260
  include(cmake/network.cmake)
@@ -280,6 +295,7 @@ if(ENABLE_MIMALLOC)
280
295
  echo_lib_version(mimalloc ${mimalloc_VERSION})
281
296
  else()
282
297
  message(STATUS "mimalloc support disabled (ENABLE_MIMALLOC=OFF)")
298
+ set(mimalloc_VERSION "0.0.0")
283
299
  endif()
284
300
 
285
301
  # spdlog
@@ -833,6 +849,7 @@ message(STATUS " asio : v${ASIO_VERSION_FULL}
833
849
  message(STATUS " Iconv(libiconv) : v${Iconv_VERSION}")
834
850
  message(STATUS " fmt : v${fmt_VERSION}")
835
851
  message(STATUS " zlib : v${ZLIB_VERSION}")
852
+ message(STATUS " minizip : v${minizip_VERSION}")
836
853
  message(STATUS " inja : v${inja_VERSION}")
837
854
  message(STATUS " nlohmann_json : v${nlohmann_json_VERSION}")
838
855
  message(STATUS " xtl : v${xtl_VERSION}")
@@ -1935,7 +1935,7 @@ dependencies = [
1935
1935
 
1936
1936
  [[package]]
1937
1937
  name = "quant1x"
1938
- version = "0.7.60"
1938
+ version = "0.7.61"
1939
1939
  dependencies = [
1940
1940
  "bytes",
1941
1941
  "chrono",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "quant1x"
3
- version = "0.7.60"
3
+ version = "0.7.61"
4
4
  edition = "2024"
5
5
  authors = ["Quant1X Team"]
6
6
  description = "Cross-language standard library for quantitative trading"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quant1x
3
- Version: 0.7.60
3
+ Version: 0.7.62.dev2
4
4
  Summary: Quant1X量化研究
5
5
  Author-email: Quant1X <wangfengxy@sina.cn>
6
6
  License: MIT License
@@ -42,6 +42,7 @@ Requires-Dist: scipy~=1.16.0
42
42
  Requires-Dist: caerus~=1.0.1
43
43
  Requires-Dist: joblib~=1.5.1
44
44
  Requires-Dist: inflection~=0.5.1
45
+ Requires-Dist: apscheduler~=3.11.3
45
46
  Dynamic: license-file
46
47
 
47
48
  # Quant1X 量化交易实验室
@@ -51,7 +52,7 @@ Dynamic: license-file
51
52
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
52
53
  [![C++](https://img.shields.io/badge/C%2B%2B-20-blue.svg)](https://isocpp.org/)
53
54
  [![Go](https://img.shields.io/badge/Go-1.27-blue.svg)](https://golang.org/)
54
- [![Rust](https://img.shields.io/badge/Rust-1.96+-orange.svg)](https://www.rust-lang.org/)
55
+ [![Rust](https://img.shields.io/badge/Rust-1.97.1+-orange.svg)](https://www.rust-lang.org/)
55
56
  [![Python](https://img.shields.io/badge/Python-3.12+-yellow.svg)](https://www.python.org/)
56
57
  [![CMake](https://img.shields.io/badge/CMake-3.30+-green.svg)](https://cmake.org/)
57
58
  ![tag](https://img.shields.io/github/tag/quant1x/quant1x.svg?style=flat)
@@ -61,7 +62,7 @@ Quant1X 是一个多语言量化交易框架,支持 C++、Go、Rust、Python
61
62
 
62
63
  ## ✨ 特性
63
64
 
64
- - **多语言支持**:C++20、Go 1.27+、Rust 1.96+、Python 3.12+
65
+ - **多语言支持**:C++20、Go 1.27+、Rust 1.97.1+、Python 3.12+
65
66
  - **高性能**:优化的算法和数据结构,支持 SIMD 指令集
66
67
  - **模块化设计**:可插拔的组件架构,易于扩展
67
68
  - **实时数据**:支持 Level1 市场数据
@@ -83,7 +84,7 @@ Quant1X 是一个多语言量化交易框架,支持 C++、Go、Rust、Python
83
84
  |------|----------|----------|
84
85
  | Python | 3.12+ | 3.12.x |
85
86
  | Go | 1.27+ | 1.27.x |
86
- | Rust | 1.96+ | 1.96+ (2024) |
87
+ | Rust | 1.97.1+ | 1.97.1+ (2024) |
87
88
  | C++ | C++20 | GCC 13+/Clang 17+/MSVC 14.3+ |
88
89
 
89
90
  ## 🚀 快速开始
@@ -94,7 +95,7 @@ Quant1X 是一个多语言量化交易框架,支持 C++、Go、Rust、Python
94
95
 
95
96
  | python | golang | rust | c++ |
96
97
  |:-------|:-------|:-----------|:----------------------------|
97
- | 3.12.x | 1.27.x | 1.96+/2024 | gcc13+/clang17+/msvc14.3+ |
98
+ | 3.12.x | 1.27.x | 1.97.1+/2024 | gcc13+/clang17+/msvc14.3+ |
98
99
 
99
100
  ### 1.2 环境安装推荐使用brew
100
101
 
@@ -5,7 +5,7 @@
5
5
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
6
  [![C++](https://img.shields.io/badge/C%2B%2B-20-blue.svg)](https://isocpp.org/)
7
7
  [![Go](https://img.shields.io/badge/Go-1.27-blue.svg)](https://golang.org/)
8
- [![Rust](https://img.shields.io/badge/Rust-1.96+-orange.svg)](https://www.rust-lang.org/)
8
+ [![Rust](https://img.shields.io/badge/Rust-1.97.1+-orange.svg)](https://www.rust-lang.org/)
9
9
  [![Python](https://img.shields.io/badge/Python-3.12+-yellow.svg)](https://www.python.org/)
10
10
  [![CMake](https://img.shields.io/badge/CMake-3.30+-green.svg)](https://cmake.org/)
11
11
  ![tag](https://img.shields.io/github/tag/quant1x/quant1x.svg?style=flat)
@@ -15,7 +15,7 @@ Quant1X 是一个多语言量化交易框架,支持 C++、Go、Rust、Python
15
15
 
16
16
  ## ✨ 特性
17
17
 
18
- - **多语言支持**:C++20、Go 1.27+、Rust 1.96+、Python 3.12+
18
+ - **多语言支持**:C++20、Go 1.27+、Rust 1.97.1+、Python 3.12+
19
19
  - **高性能**:优化的算法和数据结构,支持 SIMD 指令集
20
20
  - **模块化设计**:可插拔的组件架构,易于扩展
21
21
  - **实时数据**:支持 Level1 市场数据
@@ -37,7 +37,7 @@ Quant1X 是一个多语言量化交易框架,支持 C++、Go、Rust、Python
37
37
  |------|----------|----------|
38
38
  | Python | 3.12+ | 3.12.x |
39
39
  | Go | 1.27+ | 1.27.x |
40
- | Rust | 1.96+ | 1.96+ (2024) |
40
+ | Rust | 1.97.1+ | 1.97.1+ (2024) |
41
41
  | C++ | C++20 | GCC 13+/Clang 17+/MSVC 14.3+ |
42
42
 
43
43
  ## 🚀 快速开始
@@ -48,7 +48,7 @@ Quant1X 是一个多语言量化交易框架,支持 C++、Go、Rust、Python
48
48
 
49
49
  | python | golang | rust | c++ |
50
50
  |:-------|:-------|:-----------|:----------------------------|
51
- | 3.12.x | 1.27.x | 1.96+/2024 | gcc13+/clang17+/msvc14.3+ |
51
+ | 3.12.x | 1.27.x | 1.97.1+/2024 | gcc13+/clang17+/msvc14.3+ |
52
52
 
53
53
  ### 1.2 环境安装推荐使用brew
54
54