alpha-visualizer 0.2.0__tar.gz → 0.4.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 (423) hide show
  1. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.agents/skills/source-command-audit-licenses/SKILL.md +1 -1
  2. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.claude/commands/audit-licenses.md +1 -1
  3. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.claude/commands/pre-release.md +15 -0
  4. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/PULL_REQUEST_TEMPLATE.md +5 -5
  5. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/workflows/ci.yml +39 -21
  6. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/workflows/lighthouse.yml +15 -10
  7. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/workflows/release.yml +10 -5
  8. alpha_visualizer-0.2.0/.hypothesis/constants/069853a4f8389a49 → alpha_visualizer-0.4.0/.hypothesis/constants/11405f641e79317e +1 -1
  9. alpha_visualizer-0.4.0/.hypothesis/constants/14f71fc9be9bf497 +4 -0
  10. alpha_visualizer-0.4.0/.hypothesis/constants/4720ae237de2a683 +4 -0
  11. alpha_visualizer-0.4.0/.hypothesis/constants/4726660442f99a00 +4 -0
  12. alpha_visualizer-0.2.0/.hypothesis/constants/ac5661ce57db0685 → alpha_visualizer-0.4.0/.hypothesis/constants/6d12ac81de32365c +1 -1
  13. alpha_visualizer-0.4.0/.hypothesis/constants/ab4df659c6b192db +4 -0
  14. alpha_visualizer-0.2.0/.hypothesis/constants/cc9de77781f98ef2 → alpha_visualizer-0.4.0/.hypothesis/constants/dd2b62c354789905 +1 -1
  15. alpha_visualizer-0.4.0/CHANGELOG.md +398 -0
  16. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/CLAUDE.md +48 -97
  17. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/CONTRIBUTING.en.md +11 -11
  18. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/CONTRIBUTING.md +11 -11
  19. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/PKG-INFO +12 -9
  20. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/README.en.md +10 -8
  21. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/README.md +10 -8
  22. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/SECURITY.en.md +3 -3
  23. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/SECURITY.md +3 -3
  24. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/THIRDPARTY_LICENSES.txt +27 -0
  25. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/adr/0003-openapi-typescript-codegen.md +9 -9
  26. alpha_visualizer-0.4.0/docs/screenshots/en/strategy-signal-tv.png +0 -0
  27. alpha_visualizer-0.4.0/docs/screenshots/ja/strategy-signal-tv.png +0 -0
  28. alpha_visualizer-0.4.0/frontend/.npmrc +4 -0
  29. alpha_visualizer-0.4.0/frontend/.size-limit.json +20 -0
  30. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/CLAUDE.md +2 -2
  31. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/README.md +12 -9
  32. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/THIRDPARTY_FONTS.md +1 -1
  33. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/fixtures/README.md +1 -1
  34. alpha_visualizer-0.4.0/frontend/e2e/fixtures/forge/data/historical/SPY_1d.parquet +0 -0
  35. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/fixtures/forge/forge.yaml +2 -0
  36. alpha_visualizer-0.4.0/frontend/e2e/screenshots/equity-tv.spec.ts +55 -0
  37. alpha_visualizer-0.4.0/frontend/e2e/screenshots/strategy-signal-tv.spec.ts +49 -0
  38. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/openapi.json +191 -1
  39. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/package.json +11 -3
  40. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/playwright.config.ts +1 -1
  41. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/playwright.screenshots.config.ts +2 -2
  42. alpha_visualizer-0.4.0/frontend/pnpm-lock.yaml +4251 -0
  43. alpha_visualizer-0.4.0/frontend/pnpm-workspace.yaml +5 -0
  44. alpha_visualizer-0.4.0/frontend/src/api/__tests__/client.test.ts +101 -0
  45. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/api/client.ts +16 -1
  46. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/api/types.gen.ts +108 -0
  47. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/api/types.ts +10 -0
  48. alpha_visualizer-0.4.0/frontend/src/charts/tv/CompareEquityTV.stories.tsx +101 -0
  49. alpha_visualizer-0.4.0/frontend/src/charts/tv/CompareEquityTV.tsx +189 -0
  50. alpha_visualizer-0.4.0/frontend/src/charts/tv/EquityDrawdownPaneTV.stories.tsx +134 -0
  51. alpha_visualizer-0.4.0/frontend/src/charts/tv/EquityDrawdownPaneTV.tsx +267 -0
  52. alpha_visualizer-0.4.0/frontend/src/charts/tv/RollingMetricsChartTV.stories.tsx +71 -0
  53. alpha_visualizer-0.4.0/frontend/src/charts/tv/RollingMetricsChartTV.tsx +142 -0
  54. alpha_visualizer-0.4.0/frontend/src/charts/tv/StrategySignalChartTV.stories.tsx +243 -0
  55. alpha_visualizer-0.4.0/frontend/src/charts/tv/StrategySignalChartTV.tsx +174 -0
  56. alpha_visualizer-0.4.0/frontend/src/charts/tv/WFOEquityTV.stories.tsx +108 -0
  57. alpha_visualizer-0.4.0/frontend/src/charts/tv/WFOEquityTV.tsx +124 -0
  58. alpha_visualizer-0.4.0/frontend/src/charts/tv/__tests__/CompareEquityTV.test.tsx +105 -0
  59. alpha_visualizer-0.4.0/frontend/src/charts/tv/__tests__/EquityDrawdownPaneTV.test.tsx +203 -0
  60. alpha_visualizer-0.4.0/frontend/src/charts/tv/__tests__/RollingMetricsChartTV.test.tsx +97 -0
  61. alpha_visualizer-0.4.0/frontend/src/charts/tv/__tests__/StrategySignalChartTV.test.tsx +250 -0
  62. alpha_visualizer-0.4.0/frontend/src/charts/tv/__tests__/WFOEquityTV.test.tsx +150 -0
  63. alpha_visualizer-0.4.0/frontend/src/charts/tv/__tests__/data.test.ts +124 -0
  64. alpha_visualizer-0.4.0/frontend/src/charts/tv/__tests__/theme.test.ts +94 -0
  65. alpha_visualizer-0.4.0/frontend/src/charts/tv/__tests__/trades.test.ts +219 -0
  66. alpha_visualizer-0.4.0/frontend/src/charts/tv/data.ts +158 -0
  67. alpha_visualizer-0.4.0/frontend/src/charts/tv/theme.ts +180 -0
  68. alpha_visualizer-0.4.0/frontend/src/charts/tv/trades.ts +181 -0
  69. alpha_visualizer-0.4.0/frontend/src/constants/featureFlags.ts +84 -0
  70. alpha_visualizer-0.4.0/frontend/src/hooks/__tests__/useStrategyHistorical.test.tsx +101 -0
  71. alpha_visualizer-0.4.0/frontend/src/hooks/useStrategyHistorical.ts +35 -0
  72. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/pages/DetailPage.tsx +9 -1
  73. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/BacktestScreen.tsx +180 -63
  74. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/CompareScreen.tsx +9 -2
  75. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/StrategyScreen.tsx +10 -2
  76. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/WFOScreen.tsx +18 -6
  77. alpha_visualizer-0.4.0/frontend/src/screens/strategy/SignalChartCard.tsx +145 -0
  78. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/vite.config.ts +26 -11
  79. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/pyproject.toml +5 -4
  80. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/release.sh +15 -0
  81. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/README.en.md +3 -3
  82. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/README.md +3 -3
  83. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/build_samples.py +2 -2
  84. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/__init__.py +1 -1
  85. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/app.py +2 -0
  86. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/cli.py +3 -3
  87. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/forge_config.py +9 -0
  88. alpha_visualizer-0.4.0/src/alpha_visualizer/routers/historical.py +57 -0
  89. alpha_visualizer-0.4.0/src/alpha_visualizer/schemas/historical.py +41 -0
  90. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/schemas/results.py +9 -1
  91. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/services/backtest.py +36 -2
  92. alpha_visualizer-0.4.0/src/alpha_visualizer/services/historical.py +145 -0
  93. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/fixtures/build_e2e_fixture.py +48 -1
  94. alpha_visualizer-0.4.0/tests/routers/test_historical.py +102 -0
  95. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/samples/test_sample_forge.py +1 -1
  96. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/schemas/test_schemas.py +69 -0
  97. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/services/test_backtest.py +137 -0
  98. alpha_visualizer-0.4.0/tests/services/test_historical.py +156 -0
  99. alpha_visualizer-0.4.0/tests/test_cli.py +52 -0
  100. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/test_forge_config.py +40 -0
  101. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/uv.lock +46 -1
  102. alpha_visualizer-0.2.0/.hypothesis/constants/150dfae7c64cc789 +0 -4
  103. alpha_visualizer-0.2.0/CHANGELOG.md +0 -103
  104. alpha_visualizer-0.2.0/frontend/.npmrc +0 -1
  105. alpha_visualizer-0.2.0/frontend/package-lock.json +0 -6387
  106. alpha_visualizer-0.2.0/tests/test_cli.py +0 -30
  107. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.agents/skills/source-command-pre-release/SKILL.md +0 -0
  108. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.codex/hooks.json +0 -0
  109. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  110. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/ISSUE_TEMPLATE/bug_report_ja.yml +0 -0
  111. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  112. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  113. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/ISSUE_TEMPLATE/feature_request_ja.yml +0 -0
  114. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/codeql/README.md +0 -0
  115. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/codeql/codeql-config.yml +0 -0
  116. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/dependabot.yml +0 -0
  117. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.github/workflows/codeql.yml +0 -0
  118. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.gitignore +0 -0
  119. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/.gitignore +0 -0
  120. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/0bf3463e8f4751b8 +0 -0
  121. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/152293548dfa1dc4 +0 -0
  122. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/291dc4c40995bea6 +0 -0
  123. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/312a7aaf12a1fd47 +0 -0
  124. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/331e194303817b32 +0 -0
  125. /alpha_visualizer-0.2.0/.hypothesis/constants/0a940b6ee0f389fc → /alpha_visualizer-0.4.0/.hypothesis/constants/368f2bae545df6be +0 -0
  126. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/3c70931be7dd2e4e +0 -0
  127. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/3f7b61d4b4a660e1 +0 -0
  128. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/4577b97f57a8a832 +0 -0
  129. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/4a1c4d1532cab28e +0 -0
  130. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/508b282112ab038e +0 -0
  131. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/5c12d3619c3f5d5b +0 -0
  132. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/757b1f8305546439 +0 -0
  133. /alpha_visualizer-0.2.0/.hypothesis/constants/0b2de83fbd38f835 → /alpha_visualizer-0.4.0/.hypothesis/constants/76d133f3ba15df09 +0 -0
  134. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/7aec89cee7c5a592 +0 -0
  135. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/7d3b67d825fc154a +0 -0
  136. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/7f90c9d611001617 +0 -0
  137. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/828ed73d45fcee28 +0 -0
  138. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/85f15eb28ea04389 +0 -0
  139. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/89aaa48f251cd53d +0 -0
  140. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/8add761403393fca +0 -0
  141. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/96ca93165140d446 +0 -0
  142. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/97982d8e7c8d4a95 +0 -0
  143. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/a5b6e9cccb23f349 +0 -0
  144. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/a636a4647020033d +0 -0
  145. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/b5803992d2e76cf5 +0 -0
  146. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/b76328deebb21ae6 +0 -0
  147. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/b9ff5bcd3a53e3a7 +0 -0
  148. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/c5349cb90ddc7968 +0 -0
  149. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/c5f6cf064ffb412d +0 -0
  150. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/c9814af66187059c +0 -0
  151. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/da39a3ee5e6b4b0d +0 -0
  152. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/e44a457d795e56c2 +0 -0
  153. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/ea2d606acbfff989 +0 -0
  154. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/ee487c54cd5ca7dc +0 -0
  155. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/eed5e66c16ae84b8 +0 -0
  156. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/f7c4a04c97c0daf8 +0 -0
  157. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/fa443af6269a6e02 +0 -0
  158. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/.hypothesis/constants/ff4517cbfe51fea1 +0 -0
  159. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/AGENTS.md +0 -0
  160. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/CODE_OF_CONDUCT.en.md +0 -0
  161. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/CODE_OF_CONDUCT.md +0 -0
  162. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/LICENSE +0 -0
  163. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/cliff.toml +0 -0
  164. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/adr/0001-pages-vs-screens.md +0 -0
  165. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/adr/0002-charts-visx-vs-components.md +0 -0
  166. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/adr/0004-condition-node-discriminated-union.md +0 -0
  167. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/lighthouse-ci.md +0 -0
  168. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/en/browse.png +0 -0
  169. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/en/compare.png +0 -0
  170. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/en/detail.png +0 -0
  171. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/en/ideas.png +0 -0
  172. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/en/optimize.png +0 -0
  173. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/en/strategy.png +0 -0
  174. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/ja/browse.png +0 -0
  175. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/ja/compare.png +0 -0
  176. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/ja/detail.png +0 -0
  177. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/ja/ideas.png +0 -0
  178. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/ja/optimize.png +0 -0
  179. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/docs/screenshots/ja/strategy.png +0 -0
  180. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/.gitignore +0 -0
  181. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/.storybook/main.ts +0 -0
  182. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/.storybook/preview.ts +0 -0
  183. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/fixtures/forge/data/ideas/ideas.json +0 -0
  184. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/fixtures/forge/data/results/backtest_results.db +0 -0
  185. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/fixtures/forge/data/strategies/momo_breakout.json +0 -0
  186. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/fixtures/forge/data/strategies/rsi_reversal.json +0 -0
  187. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/fixtures/forge/data/strategies/sma_cross.json +0 -0
  188. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/helpers/locators.ts +0 -0
  189. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/samples/sample-fixture.spec.ts +0 -0
  190. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/screenshots/capture.spec.ts +0 -0
  191. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/specs/browse.spec.ts +0 -0
  192. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/specs/compare.spec.ts +0 -0
  193. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/specs/detail.spec.ts +0 -0
  194. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/e2e/specs/i18n.spec.ts +0 -0
  195. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/eslint.config.js +0 -0
  196. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/index.html +0 -0
  197. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/playwright.samples.config.ts +0 -0
  198. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/public/favicon.svg +0 -0
  199. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/public/icons.svg +0 -0
  200. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/AnnualReturnsBarV.tsx +0 -0
  201. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/CompareEquityV.tsx +0 -0
  202. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/CorrelationHeatmapV.tsx +0 -0
  203. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/DrawdownChartV.tsx +0 -0
  204. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/EquityChartV.tsx +0 -0
  205. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/MAEMFEScatterV.tsx +0 -0
  206. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/MonthlyHeatmapV.tsx +0 -0
  207. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/OptimizeScatterV.tsx +0 -0
  208. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/Sparkline.stories.tsx +0 -0
  209. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/Sparkline.tsx +0 -0
  210. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/__tests__/EquityChartV.regime.test.ts +0 -0
  211. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/charts/visx/regimeBands.ts +0 -0
  212. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/CommandPalette.tsx +0 -0
  213. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/DetailToolbar.tsx +0 -0
  214. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/MetricsSummaryBarV2.stories.tsx +0 -0
  215. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/MetricsSummaryBarV2.tsx +0 -0
  216. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/RootLayout.tsx +0 -0
  217. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/SettingsToggles.tsx +0 -0
  218. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/StrategyHero.tsx +0 -0
  219. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/__tests__/CommandPalette.test.tsx +0 -0
  220. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/__tests__/CorrelationHeatmap.test.tsx +0 -0
  221. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/__tests__/responsive-styles.test.tsx +0 -0
  222. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/CompareFloatingBar.tsx +0 -0
  223. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/FilterBar.tsx +0 -0
  224. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/GroupByToggle.tsx +0 -0
  225. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/Heroline.tsx +0 -0
  226. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/RunHistoryTab.tsx +0 -0
  227. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/SavedViews.tsx +0 -0
  228. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/StrategySlidePanel.tsx +0 -0
  229. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/StrategyTable.tsx +0 -0
  230. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/SymbolAtlas.tsx +0 -0
  231. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/browser/SymbolCard.tsx +0 -0
  232. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/AnnualReturnsBar.tsx +0 -0
  233. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/CorrelationHeatmap.tsx +0 -0
  234. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/DrawdownDetailChart.tsx +0 -0
  235. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/MAEMFEScatter.tsx +0 -0
  236. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/MonteCarloChart.tsx +0 -0
  237. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/OptimizeScatter.tsx +0 -0
  238. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/ReturnDistributionChart.tsx +0 -0
  239. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/RollingMetricsChart.tsx +0 -0
  240. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/VaRChart.tsx +0 -0
  241. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/WFOTimeline.tsx +0 -0
  242. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/charts/WeekdayPerformanceChart.tsx +0 -0
  243. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/live/LiveTab.tsx +0 -0
  244. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/live/__tests__/LiveTab.test.tsx +0 -0
  245. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/live/__tests__/format.test.ts +0 -0
  246. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/live/format.ts +0 -0
  247. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/metrics/CompareTable.tsx +0 -0
  248. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/metrics/ISOOSMetrics.tsx +0 -0
  249. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/metrics/MetricsGrid.tsx +0 -0
  250. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/metrics/RegimeBreakdownCards.tsx +0 -0
  251. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/metrics/SignalQualityBadge.tsx +0 -0
  252. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/metrics/__tests__/evaluateGood.test.ts +0 -0
  253. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/metrics/evaluate.ts +0 -0
  254. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/nav.ts +0 -0
  255. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/components/trades/TradeTable.tsx +0 -0
  256. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/constants/metricDefinitions.ts +0 -0
  257. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/contexts/DashboardContext.tsx +0 -0
  258. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/contexts/dashboardConstants.ts +0 -0
  259. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/a11y.css +0 -0
  260. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Button.tsx +0 -0
  261. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Card.tsx +0 -0
  262. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Chip.tsx +0 -0
  263. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Divider.tsx +0 -0
  264. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/KeyValue.tsx +0 -0
  265. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/OverflowMenu.tsx +0 -0
  266. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Pill.stories.tsx +0 -0
  267. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Pill.tsx +0 -0
  268. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/SectionHeader.tsx +0 -0
  269. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Stat.stories.tsx +0 -0
  270. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Stat.tsx +0 -0
  271. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/TabBar.tsx +0 -0
  272. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/Toolbar.tsx +0 -0
  273. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/__tests__/OverflowMenu.test.tsx +0 -0
  274. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/primitives/index.ts +0 -0
  275. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/tokens.css +0 -0
  276. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/design/useChartTheme.ts +0 -0
  277. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/__tests__/useEquityViewport.test.ts +0 -0
  278. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/__tests__/useFetchByKey.test.ts +0 -0
  279. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/__tests__/useScrollRestoration.test.tsx +0 -0
  280. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/__tests__/useStrategyList.test.tsx +0 -0
  281. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/__tests__/useTheme.test.tsx +0 -0
  282. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useBacktestData.ts +0 -0
  283. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useDebounce.ts +0 -0
  284. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useEquityViewport.ts +0 -0
  285. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useFetchByKey.ts +0 -0
  286. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useIdeasList.ts +0 -0
  287. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useRecentStrategies.ts +0 -0
  288. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useScrollRestoration.ts +0 -0
  289. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useSparklineCache.ts +0 -0
  290. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useStrategyList.ts +0 -0
  291. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useSymbolStats.ts +0 -0
  292. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/hooks/useTheme.ts +0 -0
  293. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/i18n/__tests__/strings.test.ts +0 -0
  294. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/i18n/strings.ts +0 -0
  295. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/correlation.test.ts +0 -0
  296. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/distribution.test.ts +0 -0
  297. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/drawdown.test.ts +0 -0
  298. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/format.test.ts +0 -0
  299. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/monteCarlo.properties.test.ts +0 -0
  300. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/monteCarlo.test.ts +0 -0
  301. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/rolling.test.ts +0 -0
  302. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/searchParams.test.ts +0 -0
  303. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/searchStrategies.test.ts +0 -0
  304. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/walkForward.test.ts +0 -0
  305. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/__tests__/weekday.test.ts +0 -0
  306. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/assetClass.ts +0 -0
  307. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/correlation.ts +0 -0
  308. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/csv.ts +0 -0
  309. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/distribution.ts +0 -0
  310. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/drawdown.ts +0 -0
  311. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/exportPng.ts +0 -0
  312. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/format.ts +0 -0
  313. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/monteCarlo.ts +0 -0
  314. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/rolling.ts +0 -0
  315. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/searchParams.ts +0 -0
  316. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/searchStrategies.ts +0 -0
  317. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/walkForward.ts +0 -0
  318. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/lib/weekday.ts +0 -0
  319. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/main.tsx +0 -0
  320. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/mock/btData.ts +0 -0
  321. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/pages/BrowsePage.tsx +0 -0
  322. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/pages/ComparePage.tsx +0 -0
  323. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/pages/IdeasPage.tsx +0 -0
  324. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/router.tsx +0 -0
  325. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/BacktestScreen.stories.tsx +0 -0
  326. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/BrowseScreen.tsx +0 -0
  327. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/CompareScreen.stories.tsx +0 -0
  328. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/ISOOSScreen.tsx +0 -0
  329. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/IdeasScreen.stories.tsx +0 -0
  330. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/IdeasScreen.tsx +0 -0
  331. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/OptimizeScreen.stories.tsx +0 -0
  332. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/OptimizeScreen.tsx +0 -0
  333. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/screens/WFOScreen.stories.tsx +0 -0
  334. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/src/test-setup.ts +0 -0
  335. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/tsconfig.app.json +0 -0
  336. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/tsconfig.e2e.json +0 -0
  337. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/tsconfig.json +0 -0
  338. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/frontend/tsconfig.node.json +0 -0
  339. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/lighthouserc.json +0 -0
  340. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/__init__.py +0 -0
  341. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/__init__.py +0 -0
  342. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/compatibility_matrix.py +0 -0
  343. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/ideas_defs.py +0 -0
  344. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/pseudo_backtest.py +0 -0
  345. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/pseudo_grid.py +0 -0
  346. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/pseudo_wfo.py +0 -0
  347. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/strategy_defs.py +0 -0
  348. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/synthetic_ohlcv.py +0 -0
  349. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/_generators/writers.py +0 -0
  350. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/ideas/ideas.json +0 -0
  351. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/results/backtest_results.db +0 -0
  352. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/strategies/bbands_breakout_v1.json +0 -0
  353. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/strategies/donchian_turtle_v1.json +0 -0
  354. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/strategies/ema_adx_macd_v1.json +0 -0
  355. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/strategies/macd_crossover_v1.json +0 -0
  356. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/strategies/range_reversion_v1.json +0 -0
  357. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/strategies/rsi_reversion_v1.json +0 -0
  358. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/strategies/sma_crossover_v1.json +0 -0
  359. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/data/strategies/supertrend_adx_v1.json +0 -0
  360. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/samples/sample-forge/forge.yaml +0 -0
  361. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/scripts/generate_openapi.py +0 -0
  362. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/db.py +0 -0
  363. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/dependencies.py +0 -0
  364. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/errors.py +0 -0
  365. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/log_sanitize.py +0 -0
  366. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/repositories/__init__.py +0 -0
  367. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/repositories/backtest_results.py +0 -0
  368. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/repositories/ideas.py +0 -0
  369. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/repositories/live.py +0 -0
  370. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/repositories/optimization.py +0 -0
  371. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/repositories/strategies.py +0 -0
  372. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/routers/__init__.py +0 -0
  373. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/routers/ideas.py +0 -0
  374. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/routers/live.py +0 -0
  375. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/routers/optimize.py +0 -0
  376. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/routers/results.py +0 -0
  377. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/routers/run.py +0 -0
  378. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/routers/strategies.py +0 -0
  379. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/routers/wfo.py +0 -0
  380. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/schemas/__init__.py +0 -0
  381. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/schemas/ideas.py +0 -0
  382. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/schemas/live.py +0 -0
  383. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/schemas/optimize.py +0 -0
  384. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/schemas/strategies.py +0 -0
  385. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/schemas/wfo.py +0 -0
  386. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/services/__init__.py +0 -0
  387. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/services/live.py +0 -0
  388. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/src/alpha_visualizer/services/walk_forward.py +0 -0
  389. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/__init__.py +0 -0
  390. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/conftest.py +0 -0
  391. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/factories.py +0 -0
  392. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/repositories/__init__.py +0 -0
  393. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/repositories/test_backtest_results_repo.py +0 -0
  394. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/repositories/test_ideas_reader.py +0 -0
  395. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/repositories/test_live_repo.py +0 -0
  396. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/repositories/test_optimization_repo.py +0 -0
  397. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/repositories/test_strategies_repo.py +0 -0
  398. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/__init__.py +0 -0
  399. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/test_forge_yaml_integration.py +0 -0
  400. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/test_ideas.py +0 -0
  401. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/test_live.py +0 -0
  402. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/test_optimize.py +0 -0
  403. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/test_results.py +0 -0
  404. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/test_run.py +0 -0
  405. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/test_strategies.py +0 -0
  406. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/routers/test_wfo.py +0 -0
  407. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/samples/__init__.py +0 -0
  408. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/samples/test_pseudo_backtest.py +0 -0
  409. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/samples/test_pseudo_grid.py +0 -0
  410. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/samples/test_pseudo_wfo.py +0 -0
  411. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/samples/test_strategy_defs.py +0 -0
  412. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/samples/test_synthetic_ohlcv.py +0 -0
  413. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/samples/test_writers.py +0 -0
  414. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/schemas/__init__.py +0 -0
  415. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/services/__init__.py +0 -0
  416. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/services/test_backtest_properties.py +0 -0
  417. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/services/test_live.py +0 -0
  418. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/services/test_wfo.py +0 -0
  419. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/test_app.py +0 -0
  420. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/test_db.py +0 -0
  421. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/test_dependencies.py +0 -0
  422. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/test_errors.py +0 -0
  423. {alpha_visualizer-0.2.0 → alpha_visualizer-0.4.0}/tests/test_log_sanitize.py +0 -0
@@ -177,4 +177,4 @@ Step 1・Step 2 で問題がなければ以下を実行する。
177
177
  - Python の仮想環境(`.venv`)が存在し `uv sync` 済みであることを前提とする。
178
178
  - `pip-licenses` と `prettytable` はこのコマンド専用の監査ツールであり、`pyproject.toml` の
179
179
  依存には含めない(`uv pip install` で都度インストールする)。
180
- - フロントエンドの `node_modules/` が存在しない場合は `npm install` を先に実行すること。
180
+ - フロントエンドの `node_modules/` が存在しない場合は `pnpm install` を先に実行すること。
@@ -173,4 +173,4 @@ Step 1・Step 2 で問題がなければ以下を実行する。
173
173
  - Python の仮想環境(`.venv`)が存在し `uv sync` 済みであることを前提とする。
174
174
  - `pip-licenses` と `prettytable` はこのコマンド専用の監査ツールであり、`pyproject.toml` の
175
175
  依存には含めない(`uv pip install` で都度インストールする)。
176
- - フロントエンドの `node_modules/` が存在しない場合は `npm install` を先に実行すること。
176
+ - フロントエンドの `node_modules/` が存在しない場合は `pnpm install` を先に実行すること。
@@ -56,6 +56,18 @@ alpha-visualizer のリリース前にテスト・Lint を実行して検証し
56
56
  # バージョンを bump してコミット・タグ
57
57
  uv run bump-my-version bump ${PART}
58
58
 
59
+ # uv.lock 内の自己バージョンを追従させ、差分が出たら bump commit に取り込む
60
+ # (bump-my-version は pyproject.toml と __init__.py だけ更新するため、
61
+ # このステップを省くと uv.lock の自己バージョンが drift する)
62
+ NEW_VERSION=$(grep '^version' pyproject.toml | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
63
+ uv lock
64
+ if [[ -n "$(git status --porcelain uv.lock)" ]]; then
65
+ git tag -d "v${NEW_VERSION}"
66
+ git add uv.lock
67
+ git commit --amend --no-edit
68
+ git tag -a "v${NEW_VERSION}" -m "v${NEW_VERSION}"
69
+ fi
70
+
59
71
  # PyPI に公開
60
72
  uv build
61
73
  uv publish
@@ -65,9 +77,12 @@ alpha-visualizer のリリース前にテスト・Lint を実行して検証し
65
77
  git push
66
78
  ```
67
79
 
80
+ `release.sh` を使う場合はこれらをまとめて実行できる(`bash release.sh [patch|minor|major]`)。
81
+
68
82
  ## 注意
69
83
 
70
84
  - `git push --tags` と `uv publish` は不可逆な操作のため、実行前に必ずユーザーの承認を取ること。
71
85
  - `bump-my-version` が必要(`uv sync --all-groups` で導入済みのはず)。
72
86
  - PyPI 認証情報(`UV_PUBLISH_TOKEN` 等)が設定されていること。
73
87
  - リリース前に `/audit-licenses` を実行して `THIRDPARTY_LICENSES.txt` を最新化すること。
88
+ - bump 直後の `uv lock` ステップは省略しないこと。省略すると `uv.lock` 内の自己バージョン文字列が旧バージョンのまま取り残され、リリース後に lock drift が発生する。
@@ -37,11 +37,11 @@ Closes #
37
37
 
38
38
  - [ ] バックエンドテスト: `uv run pytest tests/ -v`
39
39
  - [ ] バックエンド Lint: `uv run ruff check src/ tests/`
40
- - [ ] フロントエンドテスト: `cd frontend && npm run test:ci`
41
- - [ ] フロントエンド Lint: `cd frontend && npm run lint`
42
- - [ ] フロントエンドビルド: `cd frontend && npm run build`
43
- - [ ] E2E(UI 変更時): `cd frontend && npm run e2e`
44
- - [ ] スクリーンショット再撮影(UI 変更時): `cd frontend && npm run screenshots`
40
+ - [ ] フロントエンドテスト: `cd frontend && pnpm run test:ci`
41
+ - [ ] フロントエンド Lint: `cd frontend && pnpm run lint`
42
+ - [ ] フロントエンドビルド: `cd frontend && pnpm run build`
43
+ - [ ] E2E(UI 変更時): `cd frontend && pnpm run e2e`
44
+ - [ ] スクリーンショット再撮影(UI 変更時): `cd frontend && pnpm run screenshots`
45
45
 
46
46
  ## スクリーンショット / Screenshots
47
47
 
@@ -37,24 +37,32 @@ jobs:
37
37
  steps:
38
38
  - uses: actions/checkout@v6
39
39
 
40
+ - name: Setup pnpm
41
+ uses: pnpm/action-setup@v4
42
+ with:
43
+ version: 11
44
+
40
45
  - name: Set up Node.js
41
46
  uses: actions/setup-node@v6
42
47
  with:
43
48
  node-version: '22'
44
- cache: 'npm'
45
- cache-dependency-path: frontend/package-lock.json
49
+ cache: 'pnpm'
50
+ cache-dependency-path: frontend/pnpm-lock.yaml
46
51
 
47
52
  - name: Install dependencies
48
- run: npm ci
53
+ run: pnpm install --frozen-lockfile
49
54
 
50
55
  - name: Lint (eslint)
51
- run: npm run lint
56
+ run: pnpm run lint
52
57
 
53
58
  - name: Test (vitest)
54
- run: npm run test:ci
59
+ run: pnpm run test:ci
55
60
 
56
61
  - name: Build (tsc -b && vite build)
57
- run: npm run build
62
+ run: pnpm run build
63
+
64
+ - name: Bundle size check (size-limit)
65
+ run: pnpm run size
58
66
 
59
67
  openapi-types:
60
68
  name: OpenAPI types drift check
@@ -74,26 +82,31 @@ jobs:
74
82
  - name: Install Python dependencies
75
83
  run: uv sync --all-extras
76
84
 
85
+ - name: Setup pnpm
86
+ uses: pnpm/action-setup@v4
87
+ with:
88
+ version: 11
89
+
77
90
  - name: Set up Node.js
78
91
  uses: actions/setup-node@v6
79
92
  with:
80
93
  node-version: '22'
81
- cache: 'npm'
82
- cache-dependency-path: frontend/package-lock.json
94
+ cache: 'pnpm'
95
+ cache-dependency-path: frontend/pnpm-lock.yaml
83
96
 
84
- - name: Install npm dependencies
97
+ - name: Install pnpm dependencies
85
98
  working-directory: frontend
86
- run: npm ci
99
+ run: pnpm install --frozen-lockfile
87
100
 
88
101
  - name: Regenerate OpenAPI schema and TS types
89
102
  working-directory: frontend
90
- run: npm run gen
103
+ run: pnpm run gen
91
104
 
92
105
  - name: Verify generated files are committed
93
106
  run: |
94
107
  if ! git diff --exit-code frontend/openapi.json frontend/src/api/types.gen.ts; then
95
108
  echo "::error::OpenAPI schema or generated TS types are out of date."
96
- echo "Run 'cd frontend && npm run gen' locally and commit the changes."
109
+ echo "Run 'cd frontend && pnpm run gen' locally and commit the changes."
97
110
  exit 1
98
111
  fi
99
112
 
@@ -172,43 +185,48 @@ jobs:
172
185
  - name: Install Python dependencies
173
186
  run: uv sync --all-extras
174
187
 
188
+ - name: Setup pnpm
189
+ uses: pnpm/action-setup@v4
190
+ with:
191
+ version: 11
192
+
175
193
  - name: Set up Node.js
176
194
  uses: actions/setup-node@v6
177
195
  with:
178
196
  node-version: '22'
179
- cache: 'npm'
180
- cache-dependency-path: frontend/package-lock.json
197
+ cache: 'pnpm'
198
+ cache-dependency-path: frontend/pnpm-lock.yaml
181
199
 
182
- - name: Install npm dependencies
200
+ - name: Install pnpm dependencies
183
201
  working-directory: frontend
184
- run: npm ci
202
+ run: pnpm install --frozen-lockfile
185
203
 
186
204
  - name: Cache Playwright browsers
187
205
  uses: actions/cache@v5
188
206
  id: playwright-cache
189
207
  with:
190
208
  path: ~/.cache/ms-playwright
191
- key: playwright-${{ runner.os }}-${{ hashFiles('frontend/package-lock.json') }}
209
+ key: playwright-${{ runner.os }}-${{ hashFiles('frontend/pnpm-lock.yaml') }}
192
210
 
193
211
  - name: Install Playwright browsers (cold)
194
212
  working-directory: frontend
195
213
  if: steps.playwright-cache.outputs.cache-hit != 'true'
196
- run: npx playwright install --with-deps chromium
214
+ run: pnpm exec playwright install --with-deps chromium
197
215
 
198
216
  - name: Install Playwright system deps (cache hit)
199
217
  working-directory: frontend
200
218
  if: steps.playwright-cache.outputs.cache-hit == 'true'
201
- run: npx playwright install-deps chromium
219
+ run: pnpm exec playwright install-deps chromium
202
220
 
203
221
  - name: Build frontend
204
222
  working-directory: frontend
205
- run: npm run build
223
+ run: pnpm run build
206
224
 
207
225
  - name: Run Playwright tests
208
226
  working-directory: frontend
209
227
  env:
210
228
  CI: 'true'
211
- run: npm run e2e
229
+ run: pnpm run e2e
212
230
 
213
231
  - name: Upload Playwright report
214
232
  if: always()
@@ -34,40 +34,45 @@ jobs:
34
34
  - name: Install Python dependencies
35
35
  run: uv sync --all-extras
36
36
 
37
+ - name: Setup pnpm
38
+ uses: pnpm/action-setup@v4
39
+ with:
40
+ version: 11
41
+
37
42
  - name: Set up Node.js
38
43
  uses: actions/setup-node@v6
39
44
  with:
40
45
  node-version: "22"
41
- cache: "npm"
42
- cache-dependency-path: frontend/package-lock.json
46
+ cache: "pnpm"
47
+ cache-dependency-path: frontend/pnpm-lock.yaml
43
48
 
44
- - name: Install npm dependencies
49
+ - name: Install pnpm dependencies
45
50
  working-directory: frontend
46
- run: npm ci
51
+ run: pnpm install --frozen-lockfile
47
52
 
48
53
  - name: Build frontend (PROD bundle)
49
54
  working-directory: frontend
50
- run: npm run build
55
+ run: pnpm run build
51
56
 
52
- - name: Start vis serve
57
+ - name: Start alpha-vis serve
53
58
  run: |
54
- uv run vis serve \
59
+ uv run alpha-vis serve \
55
60
  --forge-dir frontend/e2e/fixtures/forge \
56
61
  --port 8123 &
57
62
  # 起動待機(最大 30 秒)
58
63
  for i in $(seq 1 30); do
59
64
  if curl -fsS http://127.0.0.1:8123/health > /dev/null 2>&1; then
60
- echo "vis serve is up"
65
+ echo "alpha-vis serve is up"
61
66
  exit 0
62
67
  fi
63
68
  sleep 1
64
69
  done
65
- echo "::error::vis serve did not start within 30s"
70
+ echo "::error::alpha-vis serve did not start within 30s"
66
71
  exit 1
67
72
 
68
73
  - name: Run Lighthouse CI
69
74
  run: |
70
- npx --yes @lhci/cli@0.14.0 autorun --config=./lighthouserc.json
75
+ pnpm dlx @lhci/cli@0.14.0 autorun --config=./lighthouserc.json
71
76
  env:
72
77
  LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN || '' }}
73
78
 
@@ -35,20 +35,25 @@ jobs:
35
35
  # Issue #149 以降、wheel に同梱する静的アセット
36
36
  # (src/alpha_visualizer/static/) はリポジトリ管理対象外。
37
37
  # PyPI 配布用に wheel build 直前で frontend を再生成する。
38
+ - name: Setup pnpm
39
+ uses: pnpm/action-setup@v4
40
+ with:
41
+ version: 11
42
+
38
43
  - name: Set up Node.js
39
44
  uses: actions/setup-node@v6
40
45
  with:
41
46
  node-version: "22"
42
- cache: "npm"
43
- cache-dependency-path: frontend/package-lock.json
47
+ cache: "pnpm"
48
+ cache-dependency-path: frontend/pnpm-lock.yaml
44
49
 
45
- - name: Install npm dependencies
50
+ - name: Install pnpm dependencies
46
51
  working-directory: frontend
47
- run: npm ci
52
+ run: pnpm install --frozen-lockfile
48
53
 
49
54
  - name: Build frontend (PROD bundle)
50
55
  working-directory: frontend
51
- run: npm run build
56
+ run: pnpm run build
52
57
 
53
58
  - name: Build
54
59
  run: uv build
@@ -1,4 +1,4 @@
1
1
  # file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/forge_config.py
2
2
  # hypothesis_version: 6.152.4
3
3
 
4
- ['FORGE_CONFIG', 'backtest_results.db', 'data', 'db_filename', 'forge.yaml', 'ideas', 'ideas.json', 'ideas_path', 'live', 'output_path', 'path', 'report', 'results', 'strategies', 'strategies.db', 'use_db', 'utf-8']
4
+ ['FORGE_CONFIG', 'backtest_results.db', 'data', 'db_filename', 'forge.yaml', 'historical', 'ideas', 'ideas.json', 'ideas_path', 'live', 'output_path', 'path', 'report', 'results', 'storage_path', 'strategies', 'strategies.db', 'use_db', 'utf-8']
@@ -0,0 +1,4 @@
1
+ # file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/services/backtest.py
2
+ # hypothesis_version: 6.152.4
3
+
4
+ [0.0, 1.0, 100.0, '+00:00', '-', '1d', 'Z', 'aggregates', 'annual_returns', 'avg_holding_days', 'build_detail', 'buy_hold_curve', 'buy_hold_equity', 'cagr_pct', 'calmar_ratio', 'compute_drawdown', 'daily_returns', 'date', 'dates', 'direction', 'drawdown', 'end', 'entry_date', 'entry_price', 'equity', 'equity_curve', 'exit_date', 'exit_price', 'filter_by_since', 'holding_days', 'id', 'index', 'is_cutoff', 'is_metrics', 'label_names', 'long', 'mae_pct', 'max_drawdown_pct', 'metrics', 'mfe_pct', 'monthly_returns', 'n_states', 'oos_metrics', 'oos_start', 'parse_dt', 'per_trade_mae_pct', 'per_trade_mfe_pct', 'period', 'periods', 'pnl', 'profit_factor', 'regime_breakdown', 'regime_series', 'return_pct', 'row_to_dict', 'run_at', 'run_id', 'shape_annual_returns', 'shape_equity', 'shape_regime_series', 'shape_trades', 'sharpe_ratio', 'short', 'signal', 'sl_price', 'sortino_ratio', 'split_metrics', 'start', 'states', 'strategy_id', 'strategy_name', 'summarize_row', 'symbol', 'timeframe', 'total_return_pct', 'total_trades', 'tp_price', 'trade_analysis', 'trades', 'value', 'values', 'win_rate_pct']
@@ -0,0 +1,4 @@
1
+ # file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/services/historical.py
2
+ # hypothesis_version: 6.152.4
3
+
4
+ ['\x00', '%Y-%m-%d', '%Y-%m-%dT%H:%M:%S', '..', '/', 'Close', 'High', 'Low', 'Open', 'Volume', '\\', 'close', 'coerce', 'high', 'low', 'open', 'symbol が空です', 'time', 'volume']
@@ -0,0 +1,4 @@
1
+ # file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/schemas/historical.py
2
+ # hypothesis_version: 6.152.4
3
+
4
+ ['allow']
@@ -1,4 +1,4 @@
1
1
  # file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/__init__.py
2
2
  # hypothesis_version: 6.152.4
3
3
 
4
- ['0.2.0']
4
+ ['0.4.0']
@@ -0,0 +1,4 @@
1
+ # file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/routers/historical.py
2
+ # hypothesis_version: 6.152.4
3
+
4
+ ['/historical/{symbol}', '1d', 'bars', 'interval', 'router', 'symbol']
@@ -1,4 +1,4 @@
1
1
  # file: /home/runner/work/alpha-visualizer/alpha-visualizer/src/alpha_visualizer/cli.py
2
2
  # hypothesis_version: 6.152.4
3
3
 
4
- [8000, '--forge-config', '--forge-dir', '--host', '--no-open', '--port', '.', '127.0.0.1', 'alpha-visualizer', 'forge_config', 'no_open', 'sample-forge', 'samples', 'serve', 'use_bundled_samples', 'vis serve を停止しました。', 'バインドするホスト名', 'ブラウザを自動で開かない', 'ポート番号']
4
+ [8000, '--forge-config', '--forge-dir', '--host', '--no-open', '--port', '.', '127.0.0.1', 'alpha-visualizer', 'forge_config', 'no_open', 'sample-forge', 'samples', 'serve', 'use_bundled_samples', 'バインドするホスト名', 'ブラウザを自動で開かない', 'ポート番号']