aimoon 0.2.2__tar.gz → 0.3.0__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 (631) hide show
  1. aimoon-0.3.0/PKG-INFO +239 -0
  2. aimoon-0.3.0/README.md +193 -0
  3. aimoon-0.3.0/pyproject.toml +69 -0
  4. aimoon-0.3.0/src/aimoon.egg-info/PKG-INFO +239 -0
  5. aimoon-0.3.0/src/aimoon.egg-info/SOURCES.txt +40 -0
  6. aimoon-0.3.0/src/aimoon.egg-info/entry_points.txt +2 -0
  7. aimoon-0.3.0/src/aimoon.egg-info/requires.txt +27 -0
  8. aimoon-0.3.0/src/aimoon.egg-info/top_level.txt +1 -0
  9. aimoon-0.3.0/src/stock_ai_analyst/__init__.py +3 -0
  10. aimoon-0.3.0/src/stock_ai_analyst/ai/analyzer.py +191 -0
  11. aimoon-0.3.0/src/stock_ai_analyst/collectors/agent_reach_wrapper.py +120 -0
  12. aimoon-0.3.0/src/stock_ai_analyst/collectors/base.py +86 -0
  13. aimoon-0.3.0/src/stock_ai_analyst/collectors/cninfo.py +141 -0
  14. aimoon-0.3.0/src/stock_ai_analyst/collectors/douyin.py +138 -0
  15. aimoon-0.3.0/src/stock_ai_analyst/collectors/eastmoney_guba.py +125 -0
  16. aimoon-0.3.0/src/stock_ai_analyst/collectors/eastmoney_selenium.py +153 -0
  17. aimoon-0.3.0/src/stock_ai_analyst/collectors/mediacrawler_adapter.py +91 -0
  18. aimoon-0.3.0/src/stock_ai_analyst/collectors/mock.py +165 -0
  19. aimoon-0.3.0/src/stock_ai_analyst/collectors/quote.py +219 -0
  20. aimoon-0.3.0/src/stock_ai_analyst/collectors/toutiao.py +87 -0
  21. aimoon-0.3.0/src/stock_ai_analyst/collectors/wechat.py +83 -0
  22. aimoon-0.3.0/src/stock_ai_analyst/collectors/xiaohongshu.py +128 -0
  23. aimoon-0.3.0/src/stock_ai_analyst/collectors/xueqiu.py +240 -0
  24. aimoon-0.3.0/src/stock_ai_analyst/config/settings.py +61 -0
  25. aimoon-0.3.0/src/stock_ai_analyst/financial/pysnowball_adapter.py +152 -0
  26. aimoon-0.3.0/src/stock_ai_analyst/main.py +294 -0
  27. aimoon-0.3.0/src/stock_ai_analyst/models/report.py +64 -0
  28. aimoon-0.3.0/src/stock_ai_analyst/models/social.py +40 -0
  29. aimoon-0.3.0/src/stock_ai_analyst/models/stock.py +72 -0
  30. aimoon-0.3.0/src/stock_ai_analyst/report/__init__.py +0 -0
  31. aimoon-0.3.0/src/stock_ai_analyst/report/generator.py +167 -0
  32. aimoon-0.3.0/src/stock_ai_analyst/validation/__init__.py +0 -0
  33. aimoon-0.3.0/src/stock_ai_analyst/validation/cross_validator.py +84 -0
  34. aimoon-0.3.0/src/stock_ai_analyst/validation/format_validator.py +94 -0
  35. aimoon-0.3.0/src/stock_ai_analyst/validation/freshness_checker.py +100 -0
  36. aimoon-0.2.2/PKG-INFO +0 -834
  37. aimoon-0.2.2/README.md +0 -810
  38. aimoon-0.2.2/pyproject.toml +0 -46
  39. aimoon-0.2.2/src/aimoon/__init__.py +0 -2
  40. aimoon-0.2.2/src/aimoon/__main__.py +0 -4
  41. aimoon-0.2.2/src/aimoon/adaptive_strategy.py +0 -316
  42. aimoon-0.2.2/src/aimoon/advanced_optimizer.py +0 -504
  43. aimoon-0.2.2/src/aimoon/analysis.py +0 -246
  44. aimoon-0.2.2/src/aimoon/backtest.py +0 -602
  45. aimoon-0.2.2/src/aimoon/backtest_validator.py +0 -352
  46. aimoon-0.2.2/src/aimoon/cache.py +0 -62
  47. aimoon-0.2.2/src/aimoon/cache_manager.py +0 -253
  48. aimoon-0.2.2/src/aimoon/charts.py +0 -113
  49. aimoon-0.2.2/src/aimoon/cli.py +0 -714
  50. aimoon-0.2.2/src/aimoon/config.py +0 -141
  51. aimoon-0.2.2/src/aimoon/data/__init__.py +0 -20
  52. aimoon-0.2.2/src/aimoon/data/filters.py +0 -642
  53. aimoon-0.2.2/src/aimoon/data/history.py +0 -185
  54. aimoon-0.2.2/src/aimoon/data/mootdx_source.py +0 -90
  55. aimoon-0.2.2/src/aimoon/data/quality.py +0 -54
  56. aimoon-0.2.2/src/aimoon/data/spot.py +0 -184
  57. aimoon-0.2.2/src/aimoon/data/validator.py +0 -167
  58. aimoon-0.2.2/src/aimoon/demo.py +0 -99
  59. aimoon-0.2.2/src/aimoon/dependency_injection.py +0 -112
  60. aimoon-0.2.2/src/aimoon/engine_comparison.py +0 -240
  61. aimoon-0.2.2/src/aimoon/enhanced_backtest.py +0 -1651
  62. aimoon-0.2.2/src/aimoon/evaluate_strategy.py +0 -381
  63. aimoon-0.2.2/src/aimoon/factor_combination.py +0 -311
  64. aimoon-0.2.2/src/aimoon/factor_eval.py +0 -212
  65. aimoon-0.2.2/src/aimoon/factors/__init__.py +0 -41
  66. aimoon-0.2.2/src/aimoon/factors/base.py +0 -206
  67. aimoon-0.2.2/src/aimoon/factors/panel.py +0 -91
  68. aimoon-0.2.2/src/aimoon/factors/registry.py +0 -323
  69. aimoon-0.2.2/src/aimoon/factors/scorer.py +0 -152
  70. aimoon-0.2.2/src/aimoon/factors/zoo/academic/carhart_mom.py +0 -60
  71. aimoon-0.2.2/src/aimoon/factors/zoo/academic/cma.py +0 -62
  72. aimoon-0.2.2/src/aimoon/factors/zoo/academic/hml.py +0 -61
  73. aimoon-0.2.2/src/aimoon/factors/zoo/academic/mkt_rf.py +0 -54
  74. aimoon-0.2.2/src/aimoon/factors/zoo/academic/rmw.py +0 -55
  75. aimoon-0.2.2/src/aimoon/factors/zoo/academic/smb.py +0 -56
  76. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_001.py +0 -45
  77. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_002.py +0 -44
  78. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_003.py +0 -41
  79. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_004.py +0 -40
  80. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_005.py +0 -47
  81. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_006.py +0 -40
  82. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_007.py +0 -78
  83. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_008.py +0 -56
  84. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_009.py +0 -71
  85. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_010.py +0 -73
  86. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_011.py +0 -45
  87. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_012.py +0 -41
  88. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_013.py +0 -41
  89. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_014.py +0 -44
  90. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_015.py +0 -47
  91. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_016.py +0 -41
  92. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_017.py +0 -49
  93. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_018.py +0 -43
  94. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_019.py +0 -58
  95. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_020.py +0 -52
  96. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_021.py +0 -94
  97. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_022.py +0 -44
  98. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_023.py +0 -74
  99. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_024.py +0 -87
  100. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_025.py +0 -44
  101. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_026.py +0 -42
  102. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_027.py +0 -82
  103. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_028.py +0 -45
  104. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_029.py +0 -73
  105. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_030.py +0 -61
  106. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_031.py +0 -55
  107. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_032.py +0 -57
  108. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_033.py +0 -41
  109. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_034.py +0 -46
  110. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_035.py +0 -47
  111. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_036.py +0 -65
  112. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_037.py +0 -49
  113. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_038.py +0 -42
  114. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_039.py +0 -53
  115. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_040.py +0 -42
  116. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_041.py +0 -37
  117. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_042.py +0 -41
  118. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_043.py +0 -44
  119. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_044.py +0 -41
  120. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_045.py +0 -59
  121. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_046.py +0 -82
  122. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_047.py +0 -67
  123. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_048.py +0 -91
  124. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_049.py +0 -78
  125. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_050.py +0 -42
  126. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_051.py +0 -78
  127. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_052.py +0 -62
  128. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_053.py +0 -43
  129. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_054.py +0 -44
  130. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_055.py +0 -47
  131. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_056.py +0 -57
  132. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_057.py +0 -43
  133. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_058.py +0 -75
  134. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_059.py +0 -76
  135. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_060.py +0 -46
  136. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_061.py +0 -46
  137. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_062.py +0 -55
  138. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_063.py +0 -89
  139. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_064.py +0 -57
  140. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_065.py +0 -54
  141. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_066.py +0 -50
  142. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_067.py +0 -84
  143. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_068.py +0 -50
  144. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_069.py +0 -83
  145. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_070.py +0 -82
  146. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_071.py +0 -55
  147. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_072.py +0 -50
  148. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_073.py +0 -53
  149. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_074.py +0 -54
  150. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_075.py +0 -47
  151. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_076.py +0 -85
  152. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_077.py +0 -52
  153. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_078.py +0 -53
  154. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_079.py +0 -84
  155. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_080.py +0 -90
  156. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_081.py +0 -63
  157. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_082.py +0 -83
  158. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_083.py +0 -61
  159. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_084.py +0 -49
  160. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_085.py +0 -49
  161. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_086.py +0 -54
  162. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_087.py +0 -85
  163. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_088.py +0 -53
  164. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_089.py +0 -82
  165. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_090.py +0 -81
  166. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_091.py +0 -84
  167. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_092.py +0 -54
  168. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_093.py +0 -84
  169. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_094.py +0 -47
  170. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_095.py +0 -58
  171. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_096.py +0 -55
  172. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_097.py +0 -86
  173. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_098.py +0 -56
  174. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_099.py +0 -52
  175. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_100.py +0 -84
  176. aimoon-0.2.2/src/aimoon/factors/zoo/alpha101/alpha_101.py +0 -42
  177. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_001.py +0 -39
  178. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_002.py +0 -35
  179. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_003.py +0 -39
  180. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_004.py +0 -44
  181. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_005.py +0 -34
  182. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_006.py +0 -35
  183. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_007.py +0 -38
  184. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_008.py +0 -37
  185. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_009.py +0 -36
  186. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_010.py +0 -40
  187. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_011.py +0 -35
  188. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_012.py +0 -36
  189. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_013.py +0 -36
  190. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_014.py +0 -30
  191. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_015.py +0 -33
  192. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_016.py +0 -35
  193. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_017.py +0 -44
  194. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_018.py +0 -31
  195. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_019.py +0 -45
  196. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_020.py +0 -32
  197. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_021.py +0 -42
  198. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_022.py +0 -35
  199. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_023.py +0 -39
  200. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_024.py +0 -31
  201. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_025.py +0 -43
  202. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_026.py +0 -37
  203. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_027.py +0 -34
  204. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_028.py +0 -40
  205. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_029.py +0 -32
  206. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_030.py +0 -34
  207. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_031.py +0 -33
  208. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_032.py +0 -34
  209. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_033.py +0 -43
  210. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_034.py +0 -32
  211. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_035.py +0 -41
  212. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_036.py +0 -35
  213. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_037.py +0 -36
  214. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_038.py +0 -34
  215. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_039.py +0 -43
  216. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_040.py +0 -36
  217. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_041.py +0 -35
  218. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_042.py +0 -34
  219. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_043.py +0 -30
  220. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_044.py +0 -40
  221. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_045.py +0 -39
  222. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_046.py +0 -33
  223. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_047.py +0 -38
  224. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_048.py +0 -42
  225. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_049.py +0 -47
  226. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_050.py +0 -48
  227. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_051.py +0 -47
  228. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_052.py +0 -43
  229. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_053.py +0 -28
  230. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_054.py +0 -34
  231. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_055.py +0 -48
  232. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_056.py +0 -42
  233. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_057.py +0 -38
  234. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_058.py +0 -28
  235. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_059.py +0 -39
  236. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_060.py +0 -35
  237. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_061.py +0 -43
  238. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_062.py +0 -31
  239. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_063.py +0 -36
  240. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_064.py +0 -44
  241. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_065.py +0 -32
  242. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_066.py +0 -33
  243. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_067.py +0 -36
  244. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_068.py +0 -36
  245. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_069.py +0 -56
  246. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_070.py +0 -30
  247. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_071.py +0 -33
  248. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_072.py +0 -38
  249. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_073.py +0 -41
  250. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_074.py +0 -40
  251. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_075.py +0 -43
  252. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_076.py +0 -35
  253. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_077.py +0 -42
  254. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_078.py +0 -37
  255. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_079.py +0 -34
  256. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_080.py +0 -32
  257. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_081.py +0 -26
  258. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_082.py +0 -38
  259. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_083.py +0 -31
  260. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_084.py +0 -30
  261. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_085.py +0 -36
  262. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_086.py +0 -37
  263. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_087.py +0 -43
  264. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_088.py +0 -32
  265. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_089.py +0 -31
  266. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_090.py +0 -34
  267. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_091.py +0 -36
  268. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_092.py +0 -45
  269. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_093.py +0 -36
  270. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_094.py +0 -30
  271. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_095.py +0 -30
  272. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_096.py +0 -36
  273. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_097.py +0 -30
  274. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_098.py +0 -38
  275. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_099.py +0 -31
  276. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_100.py +0 -30
  277. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_101.py +0 -48
  278. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_102.py +0 -50
  279. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_103.py +0 -43
  280. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_104.py +0 -48
  281. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_105.py +0 -44
  282. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_106.py +0 -42
  283. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_107.py +0 -45
  284. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_108.py +0 -60
  285. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_109.py +0 -51
  286. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_110.py +0 -47
  287. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_111.py +0 -51
  288. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_112.py +0 -45
  289. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_113.py +0 -47
  290. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_114.py +0 -52
  291. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_115.py +0 -57
  292. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_116.py +0 -53
  293. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_117.py +0 -47
  294. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_118.py +0 -44
  295. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_119.py +0 -54
  296. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_120.py +0 -46
  297. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_121.py +0 -59
  298. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_122.py +0 -50
  299. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_123.py +0 -48
  300. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_124.py +0 -48
  301. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_125.py +0 -53
  302. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_126.py +0 -40
  303. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_127.py +0 -45
  304. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_128.py +0 -50
  305. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_129.py +0 -39
  306. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_130.py +0 -53
  307. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_131.py +0 -59
  308. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_132.py +0 -42
  309. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_133.py +0 -44
  310. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_134.py +0 -43
  311. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_135.py +0 -48
  312. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_136.py +0 -48
  313. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_137.py +0 -71
  314. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_138.py +0 -54
  315. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_139.py +0 -43
  316. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_140.py +0 -60
  317. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_141.py +0 -45
  318. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_142.py +0 -50
  319. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_143.py +0 -44
  320. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_144.py +0 -48
  321. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_145.py +0 -43
  322. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_146.py +0 -54
  323. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_147.py +0 -55
  324. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_148.py +0 -48
  325. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_149.py +0 -69
  326. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_150.py +0 -41
  327. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_151.py +0 -43
  328. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_152.py +0 -51
  329. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_153.py +0 -42
  330. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_154.py +0 -49
  331. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_155.py +0 -44
  332. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_156.py +0 -60
  333. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_157.py +0 -55
  334. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_158.py +0 -50
  335. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_159.py +0 -72
  336. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_160.py +0 -48
  337. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_161.py +0 -53
  338. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_162.py +0 -51
  339. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_163.py +0 -50
  340. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_164.py +0 -60
  341. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_165.py +0 -48
  342. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_166.py +0 -47
  343. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_167.py +0 -38
  344. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_168.py +0 -43
  345. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_169.py +0 -48
  346. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_170.py +0 -57
  347. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_171.py +0 -45
  348. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_172.py +0 -63
  349. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_173.py +0 -48
  350. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_174.py +0 -48
  351. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_175.py +0 -53
  352. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_176.py +0 -52
  353. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_177.py +0 -42
  354. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_178.py +0 -43
  355. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_179.py +0 -48
  356. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_180.py +0 -50
  357. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_181.py +0 -64
  358. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_182.py +0 -58
  359. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_183.py +0 -48
  360. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_184.py +0 -46
  361. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_185.py +0 -44
  362. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_186.py +0 -64
  363. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_187.py +0 -48
  364. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_188.py +0 -50
  365. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_189.py +0 -42
  366. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_190.py +0 -55
  367. aimoon-0.2.2/src/aimoon/factors/zoo/gtja191/alpha_191.py +0 -46
  368. aimoon-0.2.2/src/aimoon/factors/zoo/proprietary/__init__.py +0 -21
  369. aimoon-0.2.2/src/aimoon/factors/zoo/proprietary/advanced_tech.py +0 -156
  370. aimoon-0.2.2/src/aimoon/factors/zoo/proprietary/alternative.py +0 -94
  371. aimoon-0.2.2/src/aimoon/factors/zoo/proprietary/microstructure.py +0 -84
  372. aimoon-0.2.2/src/aimoon/factors/zoo/proprietary/northbound.py +0 -81
  373. aimoon-0.2.2/src/aimoon/factors/zoo/proprietary/sector_rotation.py +0 -86
  374. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/beta10.py +0 -26
  375. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/beta20.py +0 -26
  376. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/beta30.py +0 -26
  377. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/beta5.py +0 -26
  378. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/beta60.py +0 -26
  379. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntd10.py +0 -28
  380. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntd20.py +0 -28
  381. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntd30.py +0 -28
  382. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntd5.py +0 -28
  383. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntd60.py +0 -28
  384. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntn10.py +0 -25
  385. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntn20.py +0 -25
  386. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntn30.py +0 -25
  387. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntn5.py +0 -25
  388. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntn60.py +0 -25
  389. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntp10.py +0 -25
  390. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntp20.py +0 -25
  391. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntp30.py +0 -25
  392. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntp5.py +0 -25
  393. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cntp60.py +0 -25
  394. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cord10.py +0 -31
  395. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cord20.py +0 -31
  396. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cord30.py +0 -31
  397. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cord5.py +0 -31
  398. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/cord60.py +0 -31
  399. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/corr10.py +0 -29
  400. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/corr20.py +0 -29
  401. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/corr30.py +0 -29
  402. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/corr5.py +0 -29
  403. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/corr60.py +0 -29
  404. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imax10.py +0 -26
  405. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imax20.py +0 -26
  406. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imax30.py +0 -26
  407. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imax5.py +0 -26
  408. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imax60.py +0 -26
  409. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imin10.py +0 -26
  410. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imin20.py +0 -26
  411. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imin30.py +0 -26
  412. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imin5.py +0 -26
  413. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imin60.py +0 -26
  414. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imxd10.py +0 -27
  415. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imxd20.py +0 -27
  416. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imxd30.py +0 -27
  417. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imxd5.py +0 -27
  418. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/imxd60.py +0 -27
  419. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/klen.py +0 -28
  420. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/klow.py +0 -29
  421. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/klow2.py +0 -30
  422. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/kmid.py +0 -27
  423. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/kmid2.py +0 -29
  424. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/ksft.py +0 -29
  425. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/ksft2.py +0 -29
  426. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/kup.py +0 -29
  427. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/kup2.py +0 -30
  428. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/ma10.py +0 -26
  429. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/ma20.py +0 -26
  430. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/ma30.py +0 -26
  431. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/ma5.py +0 -26
  432. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/ma60.py +0 -26
  433. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/max10.py +0 -27
  434. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/max20.py +0 -27
  435. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/max30.py +0 -27
  436. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/max5.py +0 -27
  437. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/max60.py +0 -27
  438. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/min10.py +0 -27
  439. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/min20.py +0 -27
  440. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/min30.py +0 -27
  441. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/min5.py +0 -27
  442. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/min60.py +0 -27
  443. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtld10.py +0 -27
  444. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtld20.py +0 -27
  445. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtld30.py +0 -27
  446. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtld5.py +0 -27
  447. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtld60.py +0 -27
  448. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtlu10.py +0 -27
  449. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtlu20.py +0 -27
  450. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtlu30.py +0 -27
  451. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtlu5.py +0 -27
  452. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/qtlu60.py +0 -27
  453. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rank10.py +0 -26
  454. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rank20.py +0 -26
  455. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rank30.py +0 -26
  456. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rank5.py +0 -26
  457. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rank60.py +0 -26
  458. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/resi10.py +0 -26
  459. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/resi20.py +0 -26
  460. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/resi30.py +0 -26
  461. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/resi5.py +0 -26
  462. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/resi60.py +0 -26
  463. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/roc10.py +0 -26
  464. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/roc20.py +0 -26
  465. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/roc30.py +0 -26
  466. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/roc5.py +0 -26
  467. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/roc60.py +0 -26
  468. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsqr10.py +0 -34
  469. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsqr20.py +0 -34
  470. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsqr30.py +0 -34
  471. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsqr5.py +0 -34
  472. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsqr60.py +0 -34
  473. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsv10.py +0 -30
  474. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsv20.py +0 -30
  475. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsv30.py +0 -30
  476. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsv5.py +0 -30
  477. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/rsv60.py +0 -30
  478. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/std10.py +0 -26
  479. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/std20.py +0 -26
  480. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/std30.py +0 -26
  481. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/std5.py +0 -26
  482. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/std60.py +0 -26
  483. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumd10.py +0 -33
  484. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumd20.py +0 -33
  485. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumd30.py +0 -33
  486. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumd5.py +0 -33
  487. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumd60.py +0 -33
  488. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumn10.py +0 -31
  489. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumn20.py +0 -31
  490. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumn30.py +0 -31
  491. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumn5.py +0 -31
  492. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sumn60.py +0 -31
  493. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sump10.py +0 -31
  494. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sump20.py +0 -31
  495. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sump30.py +0 -31
  496. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sump5.py +0 -31
  497. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/sump60.py +0 -31
  498. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vma10.py +0 -26
  499. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vma20.py +0 -26
  500. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vma30.py +0 -26
  501. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vma5.py +0 -26
  502. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vma60.py +0 -26
  503. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vstd10.py +0 -26
  504. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vstd20.py +0 -26
  505. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vstd30.py +0 -26
  506. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vstd5.py +0 -26
  507. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vstd60.py +0 -26
  508. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumd10.py +0 -33
  509. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumd20.py +0 -33
  510. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumd30.py +0 -33
  511. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumd5.py +0 -33
  512. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumd60.py +0 -33
  513. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumn10.py +0 -31
  514. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumn20.py +0 -31
  515. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumn30.py +0 -31
  516. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumn5.py +0 -31
  517. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsumn60.py +0 -31
  518. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsump10.py +0 -31
  519. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsump20.py +0 -31
  520. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsump30.py +0 -31
  521. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsump5.py +0 -31
  522. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/vsump60.py +0 -31
  523. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/wvma10.py +0 -30
  524. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/wvma20.py +0 -30
  525. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/wvma30.py +0 -30
  526. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/wvma5.py +0 -30
  527. aimoon-0.2.2/src/aimoon/factors/zoo/qlib158/wvma60.py +0 -30
  528. aimoon-0.2.2/src/aimoon/factors/zoo/vwap.py +0 -260
  529. aimoon-0.2.2/src/aimoon/indicators/__init__.py +0 -3
  530. aimoon-0.2.2/src/aimoon/indicators/technical.py +0 -463
  531. aimoon-0.2.2/src/aimoon/live_trading_validator.py +0 -339
  532. aimoon-0.2.2/src/aimoon/ml/__init__.py +0 -1
  533. aimoon-0.2.2/src/aimoon/ml/_training_commons.py +0 -144
  534. aimoon-0.2.2/src/aimoon/ml/adaptive_system.py +0 -568
  535. aimoon-0.2.2/src/aimoon/ml/alpha360.py +0 -131
  536. aimoon-0.2.2/src/aimoon/ml/data_handler.py +0 -202
  537. aimoon-0.2.2/src/aimoon/ml/ensemble.py +0 -387
  538. aimoon-0.2.2/src/aimoon/ml/factor_decay.py +0 -246
  539. aimoon-0.2.2/src/aimoon/ml/feature_pipeline.py +0 -322
  540. aimoon-0.2.2/src/aimoon/ml/icir_weighter.py +0 -224
  541. aimoon-0.2.2/src/aimoon/ml/label_engine.py +0 -215
  542. aimoon-0.2.2/src/aimoon/ml/lgbm_trainer.py +0 -283
  543. aimoon-0.2.2/src/aimoon/ml/model_base.py +0 -271
  544. aimoon-0.2.2/src/aimoon/ml/optimized_config.py +0 -150
  545. aimoon-0.2.2/src/aimoon/ml/predictor.py +0 -125
  546. aimoon-0.2.2/src/aimoon/ml/purged_tscv.py +0 -363
  547. aimoon-0.2.2/src/aimoon/ml/slippage_model.py +0 -390
  548. aimoon-0.2.2/src/aimoon/ml/trainer.py +0 -562
  549. aimoon-0.2.2/src/aimoon/ml/walk_forward.py +0 -283
  550. aimoon-0.2.2/src/aimoon/models.py +0 -75
  551. aimoon-0.2.2/src/aimoon/optimizer.py +0 -244
  552. aimoon-0.2.2/src/aimoon/output.py +0 -610
  553. aimoon-0.2.2/src/aimoon/paper_trading.py +0 -564
  554. aimoon-0.2.2/src/aimoon/paper_trading_demo.py +0 -279
  555. aimoon-0.2.2/src/aimoon/paper_trading_example.py +0 -204
  556. aimoon-0.2.2/src/aimoon/performance.py +0 -498
  557. aimoon-0.2.2/src/aimoon/portfolio/__init__.py +0 -17
  558. aimoon-0.2.2/src/aimoon/portfolio/optimizer.py +0 -325
  559. aimoon-0.2.2/src/aimoon/regime.py +0 -110
  560. aimoon-0.2.2/src/aimoon/regime_enhanced.py +0 -350
  561. aimoon-0.2.2/src/aimoon/regime_ml.py +0 -276
  562. aimoon-0.2.2/src/aimoon/research.py +0 -337
  563. aimoon-0.2.2/src/aimoon/result.py +0 -46
  564. aimoon-0.2.2/src/aimoon/risk.py +0 -101
  565. aimoon-0.2.2/src/aimoon/rumi_optimizer.py +0 -340
  566. aimoon-0.2.2/src/aimoon/rumi_strategy.py +0 -439
  567. aimoon-0.2.2/src/aimoon/run_paper_trading.py +0 -323
  568. aimoon-0.2.2/src/aimoon/scoring/__init__.py +0 -196
  569. aimoon-0.2.2/src/aimoon/scoring/adaptive_weight.py +0 -175
  570. aimoon-0.2.2/src/aimoon/scoring/bollinger.py +0 -15
  571. aimoon-0.2.2/src/aimoon/scoring/combiner.py +0 -166
  572. aimoon-0.2.2/src/aimoon/scoring/fundamentals.py +0 -55
  573. aimoon-0.2.2/src/aimoon/scoring/hybrid_scorer.py +0 -287
  574. aimoon-0.2.2/src/aimoon/scoring/kdj.py +0 -19
  575. aimoon-0.2.2/src/aimoon/scoring/macd.py +0 -19
  576. aimoon-0.2.2/src/aimoon/scoring/mean_reversion.py +0 -175
  577. aimoon-0.2.2/src/aimoon/scoring/momentum.py +0 -111
  578. aimoon-0.2.2/src/aimoon/scoring/momentum_ext.py +0 -97
  579. aimoon-0.2.2/src/aimoon/scoring/reversal.py +0 -98
  580. aimoon-0.2.2/src/aimoon/scoring/rps.py +0 -59
  581. aimoon-0.2.2/src/aimoon/scoring/rsi.py +0 -36
  582. aimoon-0.2.2/src/aimoon/scoring/sector.py +0 -21
  583. aimoon-0.2.2/src/aimoon/scoring/service.py +0 -155
  584. aimoon-0.2.2/src/aimoon/scoring/trend.py +0 -20
  585. aimoon-0.2.2/src/aimoon/scoring/trend_ext.py +0 -113
  586. aimoon-0.2.2/src/aimoon/scoring/volume.py +0 -18
  587. aimoon-0.2.2/src/aimoon/screener.py +0 -378
  588. aimoon-0.2.2/src/aimoon/self_learning.py +0 -161
  589. aimoon-0.2.2/src/aimoon/start_paper_trading.py +0 -132
  590. aimoon-0.2.2/src/aimoon/validation.py +0 -348
  591. aimoon-0.2.2/src/aimoon/watchlist.py +0 -159
  592. aimoon-0.2.2/src/aimoon/zipline_adapter.py +0 -245
  593. aimoon-0.2.2/src/aimoon/zipline_data.py +0 -176
  594. aimoon-0.2.2/src/aimoon/zipline_runner.py +0 -213
  595. aimoon-0.2.2/src/aimoon.egg-info/PKG-INFO +0 -834
  596. aimoon-0.2.2/src/aimoon.egg-info/SOURCES.txt +0 -594
  597. aimoon-0.2.2/src/aimoon.egg-info/entry_points.txt +0 -2
  598. aimoon-0.2.2/src/aimoon.egg-info/requires.txt +0 -13
  599. aimoon-0.2.2/src/aimoon.egg-info/top_level.txt +0 -1
  600. aimoon-0.2.2/tests/test_alpha360.py +0 -67
  601. aimoon-0.2.2/tests/test_backtest.py +0 -35
  602. aimoon-0.2.2/tests/test_backtest_position.py +0 -354
  603. aimoon-0.2.2/tests/test_charts.py +0 -59
  604. aimoon-0.2.2/tests/test_cli.py +0 -30
  605. aimoon-0.2.2/tests/test_enhanced_backtest.py +0 -60
  606. aimoon-0.2.2/tests/test_ensemble.py +0 -52
  607. aimoon-0.2.2/tests/test_filters.py +0 -47
  608. aimoon-0.2.2/tests/test_formatter.py +0 -54
  609. aimoon-0.2.2/tests/test_fundamentals.py +0 -65
  610. aimoon-0.2.2/tests/test_lgbm_trainer.py +0 -30
  611. aimoon-0.2.2/tests/test_ml_features.py +0 -56
  612. aimoon-0.2.2/tests/test_ml_labels.py +0 -59
  613. aimoon-0.2.2/tests/test_ml_predictor.py +0 -54
  614. aimoon-0.2.2/tests/test_ml_trainer.py +0 -82
  615. aimoon-0.2.2/tests/test_models.py +0 -65
  616. aimoon-0.2.2/tests/test_momentum_ext.py +0 -45
  617. aimoon-0.2.2/tests/test_optimizer.py +0 -87
  618. aimoon-0.2.2/tests/test_portfolio_backtest.py +0 -52
  619. aimoon-0.2.2/tests/test_regime.py +0 -59
  620. aimoon-0.2.2/tests/test_risk.py +0 -95
  621. aimoon-0.2.2/tests/test_rps.py +0 -32
  622. aimoon-0.2.2/tests/test_score_rsi.py +0 -53
  623. aimoon-0.2.2/tests/test_screener.py +0 -40
  624. aimoon-0.2.2/tests/test_trend_ext.py +0 -34
  625. {aimoon-0.2.2 → aimoon-0.3.0}/setup.cfg +0 -0
  626. {aimoon-0.2.2 → aimoon-0.3.0}/src/aimoon.egg-info/dependency_links.txt +0 -0
  627. {aimoon-0.2.2/src/aimoon/factors/zoo → aimoon-0.3.0/src/stock_ai_analyst/ai}/__init__.py +0 -0
  628. {aimoon-0.2.2/src/aimoon/factors/zoo/academic → aimoon-0.3.0/src/stock_ai_analyst/collectors}/__init__.py +0 -0
  629. {aimoon-0.2.2/src/aimoon/factors/zoo/alpha101 → aimoon-0.3.0/src/stock_ai_analyst/config}/__init__.py +0 -0
  630. {aimoon-0.2.2/src/aimoon/factors/zoo/gtja191 → aimoon-0.3.0/src/stock_ai_analyst/financial}/__init__.py +0 -0
  631. {aimoon-0.2.2/src/aimoon/factors/zoo/qlib158 → aimoon-0.3.0/src/stock_ai_analyst/models}/__init__.py +0 -0
aimoon-0.3.0/PKG-INFO ADDED
@@ -0,0 +1,239 @@
1
+ Metadata-Version: 2.4
2
+ Name: aimoon
3
+ Version: 0.3.0
4
+ Summary: AI-powered A-share stock analysis with multi-platform data collection
5
+ Author-email: aimoon <aimoon@users.noreply.github.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/aimoon/aimoon
8
+ Project-URL: Repository, https://github.com/aimoon/aimoon
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: Financial and Insurance Industry
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Natural Language :: Chinese (Simplified)
14
+ Classifier: Operating System :: Microsoft :: Windows
15
+ Classifier: Operating System :: POSIX :: Linux
16
+ Classifier: Operating System :: MacOS
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Office/Business :: Financial :: Investment
20
+ Requires-Python: >=3.12
21
+ Description-Content-Type: text/markdown
22
+ Requires-Dist: httpx>=0.28.0
23
+ Requires-Dist: pydantic>=2.10.0
24
+ Requires-Dist: pydantic-settings>=2.7.0
25
+ Requires-Dist: jinja2>=3.1.4
26
+ Requires-Dist: akshare>=1.16.0
27
+ Requires-Dist: pysnowball>=0.1.0
28
+ Requires-Dist: openai>=1.60.0
29
+ Requires-Dist: python-dotenv>=1.0.1
30
+ Requires-Dist: rich>=13.9.0
31
+ Requires-Dist: orjson>=3.10.0
32
+ Requires-Dist: tenacity>=9.0.0
33
+ Requires-Dist: selenium>=4.45.0
34
+ Requires-Dist: playwright>=1.60.0
35
+ Requires-Dist: markdown>=3.10.2
36
+ Provides-Extra: dev
37
+ Requires-Dist: pytest>=8.3.0; extra == "dev"
38
+ Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"
39
+ Requires-Dist: pytest-cov>=6.0.0; extra == "dev"
40
+ Requires-Dist: ruff>=0.8.0; extra == "dev"
41
+ Provides-Extra: selenium
42
+ Requires-Dist: selenium>=4.45.0; extra == "selenium"
43
+ Provides-Extra: all
44
+ Requires-Dist: selenium; extra == "all"
45
+ Requires-Dist: playwright; extra == "all"
46
+
47
+ # Aimoon — AI A股分析工具
48
+
49
+ 输入股票代码,自动完成 **采集 → 整合 → AI分析 → 可视化报告** 四步流程。
50
+
51
+ ```bash
52
+ # 安装
53
+ cd aimoon
54
+ uv tool install --editable .
55
+
56
+ # 配置(编辑 .env 填入 API Key)
57
+ cp .env.example .env
58
+
59
+ # 分析任何A股
60
+ aimoon 600519 # 贵州茅台(真实数据)
61
+ aimoon 600519 --mock # Mock模式
62
+ aimoon 000001 # 平安银行
63
+ aimoon 000858 -o ./reports # 五粮液,指定输出目录
64
+ ```
65
+
66
+ ---
67
+
68
+ ## 数据采集覆盖
69
+
70
+ | 数据源 | 采集方式 | 数据量 | 状态 |
71
+ |--------|----------|--------|------|
72
+ | 实时行情(含PE) | 雪球 stock.xueqiu.com API | — | ✅ |
73
+ | 财务数据 | pysnowball (资产负债表/利润表/现金流) | — | ✅ |
74
+ | 雪球热帖 | HTTP API (hot list + stock search) | 10条 | ✅ |
75
+ | 东方财富股吧 | Selenium (优先) → akshare (兜底) | 10条 | ✅ |
76
+ | 巨潮资讯·公司公告 | 官方API + secCode二次过滤 | 20条 | ✅ |
77
+ | 微信公众号 | 搜狗微信搜索 | 10条 | ✅ |
78
+ | 今日头条 | Playwright 搜索 | 7-10条 | ✅ |
79
+ | 小红书 | Playwright + 登录态 | 7-10条 | ✅ |
80
+ | 抖音 | Playwright(反爬严格) | — | ⚠️ 待调试 |
81
+
82
+ > ✅ = 开箱即用 &emsp; ⚠️ = 需手动配置 &emsp; 🚧 = 开发中
83
+
84
+ ---
85
+
86
+ ## 安装指南
87
+
88
+ ### 前置依赖
89
+
90
+ - **Python ≥ 3.12**
91
+ - **uv**(Python包管理器): `powershell -c "irm https://astral.sh/uv/install.ps1 | iex"`
92
+ - **Chrome 浏览器** (Selenium/Playwright 需要)
93
+
94
+ ### 基础安装
95
+
96
+ ```bash
97
+ # 1. 进入项目目录
98
+ cd aimoon
99
+
100
+ # 2. 安装依赖
101
+ uv sync
102
+
103
+ # 3. 首次安装 CLI 工具(全局可用)
104
+ uv tool install --editable .
105
+
106
+ # 4. Playwright 浏览器
107
+ uv run playwright install chromium
108
+ ```
109
+
110
+ ### 配置文件 (.env)
111
+
112
+ ```ini
113
+ # === 必配 ===
114
+ DEEPSEEK_API_KEY=sk-xxx # DeepSeek API Key
115
+
116
+ # === 雪球(推荐配置,可获取含PE的实时行情 + 财报 + 雪球热帖)===
117
+ XUEQIU_TOKEN=xq_a_token=xxx; u=xxx
118
+ XUEQIU_COOKIE=xq_a_token=xxx; u=xxx
119
+ ```
120
+
121
+ > 雪球 Cookie 获取: 浏览器登录 [xueqiu.com](https://xueqiu.com) → F12 → Application → Cookies → 复制 `xq_a_token` 和 `u`
122
+
123
+ ### 小红书/抖音登录(可选)
124
+
125
+ ```python
126
+ # 运行一次,会弹出浏览器窗口,扫码登录后按回车即可
127
+ uv run python -c "
128
+ from stock_ai_analyst.collectors.xiaohongshu import XiaohongshuCollector
129
+ XiaohongshuCollector.login()
130
+ "
131
+ # 抖音同理
132
+ uv run python -c "
133
+ from stock_ai_analyst.collectors.douyin import DouyinCollector
134
+ DouyinCollector.login()
135
+ "
136
+ ```
137
+
138
+ > 登录态会保存到 `~/.stock-ai-analyst/`,后续自动复用。
139
+
140
+ ### 扩展工具(可选)
141
+
142
+ | 工具 | 用途 | 安装 |
143
+ |------|------|------|
144
+ | **Agent Reach** | 小红书/多平台接入 | `pip install agent-reach @ https://github.com/Panniantong/agent-reach/archive/main.zip` |
145
+ | **MediaCrawler** | 抖音/小红书专业采集 | `git clone https://github.com/NanmiCoder/MediaCrawler ~/.mediacrawler` |
146
+
147
+ ---
148
+
149
+ ## 架构
150
+
151
+ ```
152
+ 用户输入股票代码 (600519)
153
+
154
+
155
+ ┌─ ① 数据采集 ─────────────────────────────────────────────┐
156
+ │ │
157
+ │ 行情 → 雪球(含PE) → 新浪 → 腾讯 (三级兜底) │
158
+ │ 财报 → pysnowball │
159
+ │ 雪球 → HTTP热帖API + stock search │
160
+ │ 股吧 → Selenium → akshare │
161
+ │ 公告 → 巨潮资讯 API (searchkey + secCode) │
162
+ │ 微信 → 搜狗搜索 │
163
+ │ 头条 → Playwright │
164
+ │ 小红书 → Playwright + 登录态 │
165
+ │ │
166
+ └───────────────────────┬───────────────────────────────────┘
167
+
168
+ ┌─ ② 数据整合 ─────────────────────────────────────────────┐
169
+ │ - 9个采集器并发/串行执行 │
170
+ │ - 格式校验 + 跨源交叉验证 + 时效性检查 │
171
+ │ - 单个采集器失败不影响全局 │
172
+ └───────────────────────┬───────────────────────────────────┘
173
+
174
+ ┌─ ③ AI 分析 (DeepSeek) ───────────────────────────────────┐
175
+ │ 6维度: 情绪25% + 技术15% + 基本面20% │
176
+ │ 资金15% + 新闻15% + 综合10% │
177
+ └───────────────────────┬───────────────────────────────────┘
178
+
179
+ ┌─ ④ HTML 报告 (Jinja2) ───────────────────────────────────┐
180
+ │ 深蓝暗色 · 响应式Grid · 红涨绿跌 │
181
+ │ SVG图表 · 评分环形图 · 情感堆叠条 │
182
+ │ 纯静态HTML,无外部依赖,可离线查看 │
183
+ └─────────────────────────────────────────────────────────────┘
184
+ ```
185
+
186
+ ## 项目结构
187
+
188
+ ```
189
+ src/stock_ai_analyst/
190
+ ├── main.py # CLI 入口 + 四步流程编排
191
+ ├── config/settings.py # 配置管理 (Pydantic + .env)
192
+ ├── models/ # 数据模型
193
+ │ ├── stock.py # StockQuote, FinancialData
194
+ │ ├── social.py # SocialPost, CollectResult
195
+ │ └── report.py # AnalysisReport, DimensionScore
196
+ ├── collectors/ # 10个采集器
197
+ │ ├── quote.py # 行情(雪球→新浪→腾讯)
198
+ │ ├── xueqiu.py # 雪球热帖 + 含PE行情
199
+ │ ├── eastmoney_guba.py # 东方财富股吧 (akshare)
200
+ │ ├── eastmoney_selenium.py # 东方财富股吧 (Selenium)
201
+ │ ├── cninfo.py # 巨潮资讯·公司公告
202
+ │ ├── wechat.py # 微信公众号(搜狗搜索)
203
+ │ ├── toutiao.py # 今日头条(Playwright)
204
+ │ ├── douyin.py # 抖音(Playwright)
205
+ │ ├── xiaohongshu.py # 小红书(Playwright)
206
+ │ ├── agent_reach_wrapper.py # AgentReach 接口
207
+ │ └── mediacrawler_adapter.py # MediaCrawler 适配器
208
+ ├── financial/ # 财报 (pysnowball)
209
+ │ └── pysnowball_adapter.py
210
+ ├── ai/ # DeepSeek 分析引擎
211
+ │ └── analyzer.py # DeepSeekAnalyzer + AIAnalyzer
212
+ ├── validation/ # 数据质量
213
+ │ ├── format_validator.py
214
+ │ ├── cross_validator.py
215
+ │ └── freshness_checker.py
216
+ └── report/ # 报告生成
217
+ ├── generator.py # Jinja2 模板渲染
218
+ └── templates/index.html
219
+ ```
220
+
221
+ ## 输出示例
222
+
223
+ 生成的 HTML 报告包含:
224
+
225
+ - **顶部**:股票代码、实时行情(价格/涨跌/PE)、综合评分环形图 + 摘要
226
+ - **6维度评分**:市场情绪/技术面/基本面/资金面/新闻舆情/综合评级(带横向条形图)
227
+ - **可视化图表**:技术面价格区间图、资金面现金流横向条、新闻情感堆叠条
228
+ - **财务数据表**:营收/净利润/ROE/EPS/现金流
229
+ - **全网舆情**:各平台帖子列表(标注来源/点赞/评论)
230
+ - **AI 综合分析报告**:Markdown 渲染为排版良好的 HTML,含公司概况、财务评估、情绪分析、技术简析、投资建议、风险提示
231
+ - **数据来源清单**:每个平台采集状态
232
+
233
+ 报告为纯静态 HTML,无外部 JS 依赖,可直接通过浏览器打开或分享。
234
+
235
+ ---
236
+
237
+ ## 免责声明
238
+
239
+ 本报告由 AI 自动生成,所有分析内容仅供参考,不构成任何投资建议。投资有风险,入市需谨慎。
aimoon-0.3.0/README.md ADDED
@@ -0,0 +1,193 @@
1
+ # Aimoon — AI A股分析工具
2
+
3
+ 输入股票代码,自动完成 **采集 → 整合 → AI分析 → 可视化报告** 四步流程。
4
+
5
+ ```bash
6
+ # 安装
7
+ cd aimoon
8
+ uv tool install --editable .
9
+
10
+ # 配置(编辑 .env 填入 API Key)
11
+ cp .env.example .env
12
+
13
+ # 分析任何A股
14
+ aimoon 600519 # 贵州茅台(真实数据)
15
+ aimoon 600519 --mock # Mock模式
16
+ aimoon 000001 # 平安银行
17
+ aimoon 000858 -o ./reports # 五粮液,指定输出目录
18
+ ```
19
+
20
+ ---
21
+
22
+ ## 数据采集覆盖
23
+
24
+ | 数据源 | 采集方式 | 数据量 | 状态 |
25
+ |--------|----------|--------|------|
26
+ | 实时行情(含PE) | 雪球 stock.xueqiu.com API | — | ✅ |
27
+ | 财务数据 | pysnowball (资产负债表/利润表/现金流) | — | ✅ |
28
+ | 雪球热帖 | HTTP API (hot list + stock search) | 10条 | ✅ |
29
+ | 东方财富股吧 | Selenium (优先) → akshare (兜底) | 10条 | ✅ |
30
+ | 巨潮资讯·公司公告 | 官方API + secCode二次过滤 | 20条 | ✅ |
31
+ | 微信公众号 | 搜狗微信搜索 | 10条 | ✅ |
32
+ | 今日头条 | Playwright 搜索 | 7-10条 | ✅ |
33
+ | 小红书 | Playwright + 登录态 | 7-10条 | ✅ |
34
+ | 抖音 | Playwright(反爬严格) | — | ⚠️ 待调试 |
35
+
36
+ > ✅ = 开箱即用 &emsp; ⚠️ = 需手动配置 &emsp; 🚧 = 开发中
37
+
38
+ ---
39
+
40
+ ## 安装指南
41
+
42
+ ### 前置依赖
43
+
44
+ - **Python ≥ 3.12**
45
+ - **uv**(Python包管理器): `powershell -c "irm https://astral.sh/uv/install.ps1 | iex"`
46
+ - **Chrome 浏览器** (Selenium/Playwright 需要)
47
+
48
+ ### 基础安装
49
+
50
+ ```bash
51
+ # 1. 进入项目目录
52
+ cd aimoon
53
+
54
+ # 2. 安装依赖
55
+ uv sync
56
+
57
+ # 3. 首次安装 CLI 工具(全局可用)
58
+ uv tool install --editable .
59
+
60
+ # 4. Playwright 浏览器
61
+ uv run playwright install chromium
62
+ ```
63
+
64
+ ### 配置文件 (.env)
65
+
66
+ ```ini
67
+ # === 必配 ===
68
+ DEEPSEEK_API_KEY=sk-xxx # DeepSeek API Key
69
+
70
+ # === 雪球(推荐配置,可获取含PE的实时行情 + 财报 + 雪球热帖)===
71
+ XUEQIU_TOKEN=xq_a_token=xxx; u=xxx
72
+ XUEQIU_COOKIE=xq_a_token=xxx; u=xxx
73
+ ```
74
+
75
+ > 雪球 Cookie 获取: 浏览器登录 [xueqiu.com](https://xueqiu.com) → F12 → Application → Cookies → 复制 `xq_a_token` 和 `u`
76
+
77
+ ### 小红书/抖音登录(可选)
78
+
79
+ ```python
80
+ # 运行一次,会弹出浏览器窗口,扫码登录后按回车即可
81
+ uv run python -c "
82
+ from stock_ai_analyst.collectors.xiaohongshu import XiaohongshuCollector
83
+ XiaohongshuCollector.login()
84
+ "
85
+ # 抖音同理
86
+ uv run python -c "
87
+ from stock_ai_analyst.collectors.douyin import DouyinCollector
88
+ DouyinCollector.login()
89
+ "
90
+ ```
91
+
92
+ > 登录态会保存到 `~/.stock-ai-analyst/`,后续自动复用。
93
+
94
+ ### 扩展工具(可选)
95
+
96
+ | 工具 | 用途 | 安装 |
97
+ |------|------|------|
98
+ | **Agent Reach** | 小红书/多平台接入 | `pip install agent-reach @ https://github.com/Panniantong/agent-reach/archive/main.zip` |
99
+ | **MediaCrawler** | 抖音/小红书专业采集 | `git clone https://github.com/NanmiCoder/MediaCrawler ~/.mediacrawler` |
100
+
101
+ ---
102
+
103
+ ## 架构
104
+
105
+ ```
106
+ 用户输入股票代码 (600519)
107
+
108
+
109
+ ┌─ ① 数据采集 ─────────────────────────────────────────────┐
110
+ │ │
111
+ │ 行情 → 雪球(含PE) → 新浪 → 腾讯 (三级兜底) │
112
+ │ 财报 → pysnowball │
113
+ │ 雪球 → HTTP热帖API + stock search │
114
+ │ 股吧 → Selenium → akshare │
115
+ │ 公告 → 巨潮资讯 API (searchkey + secCode) │
116
+ │ 微信 → 搜狗搜索 │
117
+ │ 头条 → Playwright │
118
+ │ 小红书 → Playwright + 登录态 │
119
+ │ │
120
+ └───────────────────────┬───────────────────────────────────┘
121
+
122
+ ┌─ ② 数据整合 ─────────────────────────────────────────────┐
123
+ │ - 9个采集器并发/串行执行 │
124
+ │ - 格式校验 + 跨源交叉验证 + 时效性检查 │
125
+ │ - 单个采集器失败不影响全局 │
126
+ └───────────────────────┬───────────────────────────────────┘
127
+
128
+ ┌─ ③ AI 分析 (DeepSeek) ───────────────────────────────────┐
129
+ │ 6维度: 情绪25% + 技术15% + 基本面20% │
130
+ │ 资金15% + 新闻15% + 综合10% │
131
+ └───────────────────────┬───────────────────────────────────┘
132
+
133
+ ┌─ ④ HTML 报告 (Jinja2) ───────────────────────────────────┐
134
+ │ 深蓝暗色 · 响应式Grid · 红涨绿跌 │
135
+ │ SVG图表 · 评分环形图 · 情感堆叠条 │
136
+ │ 纯静态HTML,无外部依赖,可离线查看 │
137
+ └─────────────────────────────────────────────────────────────┘
138
+ ```
139
+
140
+ ## 项目结构
141
+
142
+ ```
143
+ src/stock_ai_analyst/
144
+ ├── main.py # CLI 入口 + 四步流程编排
145
+ ├── config/settings.py # 配置管理 (Pydantic + .env)
146
+ ├── models/ # 数据模型
147
+ │ ├── stock.py # StockQuote, FinancialData
148
+ │ ├── social.py # SocialPost, CollectResult
149
+ │ └── report.py # AnalysisReport, DimensionScore
150
+ ├── collectors/ # 10个采集器
151
+ │ ├── quote.py # 行情(雪球→新浪→腾讯)
152
+ │ ├── xueqiu.py # 雪球热帖 + 含PE行情
153
+ │ ├── eastmoney_guba.py # 东方财富股吧 (akshare)
154
+ │ ├── eastmoney_selenium.py # 东方财富股吧 (Selenium)
155
+ │ ├── cninfo.py # 巨潮资讯·公司公告
156
+ │ ├── wechat.py # 微信公众号(搜狗搜索)
157
+ │ ├── toutiao.py # 今日头条(Playwright)
158
+ │ ├── douyin.py # 抖音(Playwright)
159
+ │ ├── xiaohongshu.py # 小红书(Playwright)
160
+ │ ├── agent_reach_wrapper.py # AgentReach 接口
161
+ │ └── mediacrawler_adapter.py # MediaCrawler 适配器
162
+ ├── financial/ # 财报 (pysnowball)
163
+ │ └── pysnowball_adapter.py
164
+ ├── ai/ # DeepSeek 分析引擎
165
+ │ └── analyzer.py # DeepSeekAnalyzer + AIAnalyzer
166
+ ├── validation/ # 数据质量
167
+ │ ├── format_validator.py
168
+ │ ├── cross_validator.py
169
+ │ └── freshness_checker.py
170
+ └── report/ # 报告生成
171
+ ├── generator.py # Jinja2 模板渲染
172
+ └── templates/index.html
173
+ ```
174
+
175
+ ## 输出示例
176
+
177
+ 生成的 HTML 报告包含:
178
+
179
+ - **顶部**:股票代码、实时行情(价格/涨跌/PE)、综合评分环形图 + 摘要
180
+ - **6维度评分**:市场情绪/技术面/基本面/资金面/新闻舆情/综合评级(带横向条形图)
181
+ - **可视化图表**:技术面价格区间图、资金面现金流横向条、新闻情感堆叠条
182
+ - **财务数据表**:营收/净利润/ROE/EPS/现金流
183
+ - **全网舆情**:各平台帖子列表(标注来源/点赞/评论)
184
+ - **AI 综合分析报告**:Markdown 渲染为排版良好的 HTML,含公司概况、财务评估、情绪分析、技术简析、投资建议、风险提示
185
+ - **数据来源清单**:每个平台采集状态
186
+
187
+ 报告为纯静态 HTML,无外部 JS 依赖,可直接通过浏览器打开或分享。
188
+
189
+ ---
190
+
191
+ ## 免责声明
192
+
193
+ 本报告由 AI 自动生成,所有分析内容仅供参考,不构成任何投资建议。投资有风险,入市需谨慎。
@@ -0,0 +1,69 @@
1
+ [project]
2
+ name = "aimoon"
3
+ version = "0.3.0"
4
+ description = "AI-powered A-share stock analysis with multi-platform data collection"
5
+ requires-python = ">=3.12"
6
+ readme = "README.md"
7
+ license = {text = "MIT"}
8
+ authors = [{name = "aimoon", email = "aimoon@users.noreply.github.com"}]
9
+ classifiers = [
10
+ "Development Status :: 3 - Alpha",
11
+ "Environment :: Console",
12
+ "Intended Audience :: Financial and Insurance Industry",
13
+ "License :: OSI Approved :: MIT License",
14
+ "Natural Language :: Chinese (Simplified)",
15
+ "Operating System :: Microsoft :: Windows",
16
+ "Operating System :: POSIX :: Linux",
17
+ "Operating System :: MacOS",
18
+ "Programming Language :: Python :: 3.12",
19
+ "Programming Language :: Python :: 3.13",
20
+ "Topic :: Office/Business :: Financial :: Investment",
21
+ ]
22
+
23
+ dependencies = [
24
+ "httpx>=0.28.0",
25
+ "pydantic>=2.10.0",
26
+ "pydantic-settings>=2.7.0",
27
+ "jinja2>=3.1.4",
28
+ "akshare>=1.16.0",
29
+ "pysnowball>=0.1.0",
30
+ "openai>=1.60.0",
31
+ "python-dotenv>=1.0.1",
32
+ "rich>=13.9.0",
33
+ "orjson>=3.10.0",
34
+ "tenacity>=9.0.0",
35
+ "selenium>=4.45.0",
36
+ "playwright>=1.60.0",
37
+ "markdown>=3.10.2",
38
+ ]
39
+
40
+ [project.urls]
41
+ Homepage = "https://github.com/aimoon/aimoon"
42
+ Repository = "https://github.com/aimoon/aimoon"
43
+
44
+ [project.optional-dependencies]
45
+ dev = [
46
+ "pytest>=8.3.0",
47
+ "pytest-asyncio>=0.24.0",
48
+ "pytest-cov>=6.0.0",
49
+ "ruff>=0.8.0",
50
+ ]
51
+ selenium = ["selenium>=4.45.0"] # 东方财富股吧增强采集
52
+ all = ["selenium", "playwright"]
53
+
54
+ [build-system]
55
+ requires = ["setuptools>=75.0"]
56
+ build-backend = "setuptools.build_meta"
57
+
58
+ [tool.setuptools.packages.find]
59
+ where = ["src"]
60
+
61
+ [project.scripts]
62
+ aimoon = "stock_ai_analyst.main:main"
63
+
64
+ [tool.ruff]
65
+ target-version = "py312"
66
+ line-length = 100
67
+
68
+ [tool.ruff.lint]
69
+ select = ["E", "F", "I", "N", "W", "UP"]